RU2860373C2 - Способ и аппаратное устройство для декодирования изображения, основанные на нейронной сети, способ и аппаратное устройство для кодирования изображения, основанные на нейронной сети, и устройство для этого - Google Patents
Способ и аппаратное устройство для декодирования изображения, основанные на нейронной сети, способ и аппаратное устройство для кодирования изображения, основанные на нейронной сети, и устройство для этогоInfo
- Publication number
- RU2860373C2 RU2860373C2 RU2025103028A RU2025103028A RU2860373C2 RU 2860373 C2 RU2860373 C2 RU 2860373C2 RU 2025103028 A RU2025103028 A RU 2025103028A RU 2025103028 A RU2025103028 A RU 2025103028A RU 2860373 C2 RU2860373 C2 RU 2860373C2
- Authority
- RU
- Russia
- Prior art keywords
- feature
- network
- information
- image
- coefficient
- Prior art date
Links
Abstract
Изобретение относится к области кодирования и декодирования изображений. Технический результат заключается в улучшении производительности кодирования и декодирования изображений. Такой результат обеспечивается за счет того, что декодируют управляющий параметр и информацию об изображении, которые соответствуют текущему блоку. Далее получают из управляющего параметра информацию о нейронной сети, соответствующей модулю обработки декодирования, и на основании информации о нейронной сети генерируют нейронную сеть декодирования, соответствующую модулю обработки декодирования. Определяют входной признак, соответствующий модулю обработки декодирования, на основании информации об изображении, и осуществляют обработку входного признака на основе нейронной сети декодирования для получения выходного признака, соответствующего модулю обработки декодирования. 4 н. и 16 з.п. ф-лы, 20 ил., 4 табл.
Description
Область техники
[1] Настоящее изобретение относится к области технологии кодирования и декодирования, в частности, к способу и аппаратному устройству для декодирования изображения, основанным на нейронной сети, способу и аппаратному устройству для кодирования изображения, основанным на нейронной сети, и соответствующим установкам, и устройствам для этого.
Уровень техники
[2] Для экономии объема видеоизображения кодируют перед передачей. Полное кодирование видео может включать в себя прогнозирование, преобразование, квантование, энтропийное кодирование, фильтрацию и другие процессы. Процесс прогнозирования может включать внутрикадровое прогнозирование и межкадровое прогнозирование. При межкадровом прогнозировании используют временную корреляцию видео для прогнозирования пикселей текущего кадра по пикселям соседнего кодированного кадра, чтобы избавиться от временной избыточности в видео. При внутрикадровом прогнозировании используют пространственную корреляцию видео для прогнозирования текущего пикселя с использованием пикселей кодированных блоков в изображении текущего кадра, чтобы избавиться от пространственной избыточности в видео.
[3] С быстрым развитием глубокого обучения оно достигло успеха во многих высокоуровневых задачах компьютерного зрения, таких как классификация изображений, обнаружение объектов и т. д. Глубокое обучение также начали постепенно применять в области кодирования и декодирования, то есть для кодирования и декодирования изображений может быть использована нейронная сеть. Хотя способы кодирования и декодирования, основанные на нейронных сетях, продемонстрировали потенциальные возможности высокой производительности, способы кодирования и декодирования, основанные на нейронной сети, по-прежнему страдают от таких проблем, как низкая стабильность, плохое обобщение и высокая сложность.
РАСКРЫТИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
[4] Ввиду вышесказанного в настоящем изобретении предложены способ и аппаратное устройство для декодирования и изображения, основанные на нейронной сети, способ и аппаратное устройство для кодирования изображения, основанные на нейронной сети, и устройства для этого, которые улучшают производительность кодирования и декодирования, решают такие проблемы, как низкая стабильность, плохое обобщение и высокая сложность.
[5] В настоящем изобретении предложен способ декодирования изображения, основанный на нейронной сети. Способ применяется на декодирующей стороне и включает:
[6] декодирование управляющего параметра и информации об изображении для текущего блока из двоичного потока;
[7] получение информации о нейронной сети для модуля обработки декодирования из управляющего параметра и генерирование нейронной сети декодирования для модуля обработки декодирования на основании информации о нейронной сети; и
[8] определение входного признака для модуля обработки декодирования на основании указанной информации об изображении и обработку входного признака на основе нейронной сети декодирования для получения выходного признака для модуля обработки декодирования.
[9] В настоящем изобретении предложен способ кодирования изображения, основанный на нейронной сети. Способ применяется на кодирующей стороне и включает:
[10] определение входного признака для модуля обработки кодирования на основе текущего блока, получение выходного признака для модуля обработки кодирования путем обработки входного признака на основе нейронной сети кодирования для модуля обработки кодирования и определение информации об изображении для текущего блока на основе указанного выходного признака;
[11] получение управляющего параметра для текущего блока, причем управляющий параметр включает в себя информацию о нейронной сети для модуля обработки декодирования, а информацию о нейронной сети конфигурируют для определения нейронной сети декодирования для модуля обработки декодирования; и
[12] кодирование управляющего параметра и информации об изображении для текущего блока в двоичном потоке.
[13] В настоящем изобретении предложено устройство декодирования изображения, основанное на нейронной сети, содержащее:
[14] одно или более запоминающих устройств, выполненных с возможностью хранения видеоданных; и
[15] декодер, выполненный с возможностью реализации следующих функций:
[16] декодирование управляющего параметра и информации об изображении для текущего блока из двоичного потока;
[17] получение информации о нейронной сети для модуля обработки декодирования из управляющего параметра и генерирование нейронной сети декодирования для модуля обработки декодирования на основании информации о нейронной сети; и
[18] определение входного признака для модуля обработки декодирования на основании указанной информации об изображении и обработка входного признака на основе нейронной сети декодирования для получения выходного признака для модуля обработки декодирования.
[19] В настоящем изобретении предложено устройство кодирования изображения, основанное на нейронной сети, содержащее:
[20] одно или более запоминающих устройств, выполненных с возможностью хранения видеоданных; и
[21] кодер, выполненный с возможностью реализации следующих функций:
[22] определение входного признака для модуля обработки кодирования на основе текущего блока, получение выходного признака для модуля обработки кодирования путем обработки входного признака на основе нейронной сети кодирования для модуля обработки кодирования и определение информации об изображении для текущего блока на основе выходного признака;
[23] получение управляющего параметра для текущего блока, причем управляющий параметр включает в себя информацию о нейронной сети для модуля обработки декодирования, а информацию о нейронной сети конфигурируют для определения нейронной сети декодирования для модуля обработки декодирования; и
[24] кодирование управляющего параметра и информации об изображении для текущего блока в двоичном потоке.
[25] В настоящем изобретении предложено устройство декодирования, содержащее: один или более процессоров и один или более машиночитаемых носителей для хранения информации, причем указанные один или более машиночитаемых носителей для хранения информации хранят машиноисполняемые команды, которые выполнены с возможностью исполнения указанными одним или более процессорами; и
[26] указанные один или более процессоров выполнены с возможностью исполнения машиноисполняемых команд для реализации способа декодирования изображения, основанного на нейронной сети, описанного выше.
[27] В настоящем изобретении предложено устройство кодирования, содержащее: один или более процессоров и один или более машиночитаемых носителей для хранения информации, причем указанные один или более машиночитаемых носителей для хранения информации хранят машиноисполняемые команды, которые выполнены с возможностью исполнения указанными одним или более процессорами; и
[28] указанные один или более процессоров выполнены с возможностью исполнения машиноисполняемых команд для реализации способа кодирования изображения, основанного на нейронной сети, описанного выше.
[29] Из вышеприведенных технических решений можно увидеть, что в вариантах осуществления настоящего изобретения из двоичного потока может быть декодирован управляющий параметр для текущего блока, из управляющего параметра может быть получена информация о нейронной сети для модуля обработки декодирования, и на основании информации о нейронной сети может быть сгенерирована нейронная сеть декодирования для модуля обработки декодирования. Таким образом, декодирование изображений может быть реализовано на основе нейронной сети декодирования для улучшения производительности декодирования. Кодирование изображения может быть реализовано на основе нейронной сети кодирования для модуля обработки кодирования, чтобы улучшить производительность кодирования. Чтобы решить такие проблемы, как низкая стабильность, плохая обобщенность и высокая сложность, то есть достичь хорошей стабильности, хорошей обобщенности и низкой сложности, можно использовать нейронные сети (такие как нейронные сети декодирования и нейронные сети кодирования) для кодирования и декодирования изображений и передавать информацию о нейронной сети посредством двоичных потоков, а затем на основании указанной информации о нейронной сети можно генерировать нейронную сеть декодирования для модуля обработки декодирования. Предложена схема динамической корректировки сложности кодирования и декодирования, которая имеет лучшую производительность кодирования и декодирования по сравнению с инфраструктурой с одной нейронной сетью. Поскольку каждый текущий блок соответствует управляющему параметру, информация о нейронной сети, полученная из управляющего параметра, является информацией о нейронной сети для текущего блока, и для каждого текущего блока генерируют нейронную сеть декодирования. То есть нейронные сети декодирования для разных текущих блоков могут быть одинаковыми или разными, поэтому нейронная сеть декодирования действует на блочном уровне, то есть нейронная сеть декодирования может быть изменена и скорректирована.
Краткое описание чертежей
[30] На фиг. 1 приведена принципиальная схема инфраструктуры кодирования видео.
[31] На фиг. 2A-2C приведены принципиальные схемы инфраструктуры кодирования видео.
[32] На фиг. 3 приведена схема последовательности операций способа декодирования изображения, основанного на нейронной сети, в соответствии с вариантом осуществления настоящего изобретения.
[33] На фиг. 4 приведена схема последовательности операций способа кодирования изображения, основанного на нейронной сети, в соответствии с вариантом осуществления настоящего изобретения.
[34] На фиг. 5A и 5C приведены принципиальные схемы способа кодирования изображения и способа декодирования изображения в соответствии с вариантами осуществления настоящего изобретения.
[35] На фиг. 5B и 5D приведены принципиальные схемы дополнения границы в соответствии с вариантами осуществления настоящего изобретения.
[36] На фиг. 5E приведена принципиальная схема преобразование области изображения исходного изображения согласно варианту осуществления настоящего изобретения.
[37] На фиг. 6A и 6B приведены принципиальные схемы структуры на декодирующей стороне согласно вариантам осуществления настоящего изобретения.
[38] На фиг. 6C приведена принципиальная схема структуры модуля генерирования признака гиперпараметра коэффициента согласно варианту осуществления настоящего изобретения.
[39] На фиг. 6D приведена принципиальная схема структуры модуля обратного преобразования признака изображения согласно варианту осуществления настоящего изобретения.
[40] На фиг. 7A, 7B и 7C приведены принципиальные схемы структуры на кодирующей стороне в соответствии с вариантами осуществления настоящего изобретения.
[41] На фиг. 8A приведена схема структуры аппаратного обеспечения устройства декодирования согласно варианту осуществления настоящего изобретения.
[42] На фиг. 8B приведена схема структуры аппаратного обеспечения устройства кодирования согласно варианту осуществления настоящего изобретения.
Осуществление изобретения
[43] Термины, используемые в вариантах осуществления настоящего изобретения, предназначены только для целей описания конкретных вариантов осуществления и не предназначены для ограничения настоящего изобретения. Используемые в настоящем изобретении и формуле изобретения формы единственного числа предполагают включение также форм множественного числа, если из контекста явно не вытекает иное. Следует также понимать, что термин «и/или» в контексте настоящего документа относится к любым и всем возможным комбинациям одного или более из связанных перечисленных элементов и охватывает их. Следует понимать, что, хотя термины «первый», «второй», «третий» и т. п. могут использоваться в настоящем документе для описания различной информации, информация не должна ограничиваться этими терминами. Эти термины используются только для того, чтобы отличать одну информацию от другой информации того же типа. Например, без отступления от объема настоящего изобретения первая информация может упоминаться как вторая информация, и, аналогичным образом, вторая информация также может упоминаться как первая информация в соответствии с контекстом. Слово «если», используемое в данном документе, может быть истолковано как «во время», «когда» или «в ответ на определение этого».
[44] В вариантах осуществления настоящего изобретения предложен способ декодирования и кодирования изображения, основанный на нейронных сетях, который может включать следующие понятия:
[45] Нейронная сеть (НС): нейронная сеть относится к искусственной нейронной сети, а не к биологической нейронной сети. Нейронная сеть представляет собой вычислительную модель, состоящую из большого количества взаимосвязанных узлов (или нейронов). В нейронной сети модули обработки нейронов могут представлять различные объекты, такие как функции, буквы, понятия или некоторые значимые абстрактные паттерны. Типы модулей обработки в нейронной сети делятся на три категории: входной модуль, выходной модуль и скрытый модуль (скрытые модули). Входной модуль принимает сигнал(ы) и данные извне. Выходной модуль выводит результат обработки. Скрытый модуль (скрытые модули) расположен/ы между входным модулем и выходным модулем и не могут наблюдаться снаружи системы. Вес связи между нейронами отражает силу связи между модулями, а представление и обработка информации отражаются в отношениях связи между модулями обработки. Нейронная сеть - это непрограммируемый, способ обработки информации подобный работе мозга, который по существу обеспечивает параллельную и распределенную обработку информации за счет преобразования и динамики поведения нейронной сети и имитирует функцию обработки информации нервной системы человеческого мозга в разной степени и на разных уровнях. Нейронные сети, обычно используемые в области обработки видео, могут включать, без ограничения: сверточную нейронную сеть (СНС), рекуррентную нейронную сеть (РНС) или полносвязанную сеть и т. д.
[46] Сверточная нейронная сеть (СНС): сверточная нейронная сеть представляет собой разновидность нейронной сети прямого распространения и является одной из наиболее представительных сетевых структур в технологии глубокого обучения. Искусственные нейроны сверточной нейронной сети могут реагировать на окружающие модули в пределах части зоны покрытия и имеют отличную производительность при крупномасштабной обработке изображений. Базовая структура сверточной нейронной сети включает два слоя, один из которых представляет собой слой извлечения признаков (также называемый сверточным слоем), а вход каждого нейрона соединен с локальным рецепторнным полем предыдущего слоя и извлекает локальные признаки. После извлечения локальных признаков также определяется позиционная связь между частичными признаками и другими признаками. Второй слой представляет собой слой отображения признаков (также называемый слоем активации), при этом каждый вычислительный слой нейронной сети состоит из множества карт признаков. Каждая карта признаков представляет собой плоскость, а веса всех нейронов на этой плоскости равны. В качестве функции активации для сверточной сети структура отображения признаков может использовать сигмоидную функцию, функцию ReLU, функцию Leaky-ReLU, функцию PReLU или функцию GDN (обобщенная разностная сеть) и т. д. Кроме того, поскольку нейроны на одной поверхности отображения имеют одинаковый вес, количество свободных параметров в сети уменьшается.
[47] Одним из преимуществ сверточной нейронной сети перед алгоритмами обработки изображений является то, что она позволяет избежать сложного процесса предварительной обработки (например, извлечения искусственных признаков) изображений и может напрямую вводить исходное изображение для сквозного обучения. Одним из преимуществ сверточной нейронной сети по сравнению с обычными нейронными сетями является то, что в обычных нейронных сетях используют подход, основанный на полной связанности, при котором все нейроны от входного слоя до скрытого слоя связаны, что приводит к огромному количеству параметров, а это делает тренировку сети трудоемкой или даже сложной. Сверточная нейронная сеть позволяет избегать этих трудностей с помощью локальных связей, совместного использования весов и других подходов.
[48] Обратная свертка: слой обратной свертки, также называемый транспонированным сверточным слоем, работает аналогично сверточному слою. Основное отличие заключается в том, что в слое обратной свертки используют дополнение, чтобы сделать выход больше входа (хотя выход и вход также могут быть одинаковыми). Если шаг свертки равен 1, это означает, что размер выхода равен размеру входа; если шаг свертки равен N, это означает, что ширина выходного признака равна N, умноженному на ширину входного признака, а высота выходного признака равна N, умноженному на высоту входного признака.
[49] Обобщающая способность: обобщающая способность может относиться к адаптируемости алгоритма машинного обучения к свежим образцам. Целью обучения является изучение скрытых паттернов, лежащих в основе пар данных. Натренированная сеть также может предоставлять соответствующие выходные данные для не входящих в обучающий набор данных, которые имеют такую же схему. Эту способность можно назвать обобщающей способностью.
[50] Оптимизация соотношения скорости передачи и искажения: существуют два основных показателя для оценки эффективности кодирования, скорости кодового потока и пикового отношения сигнал-шум (ПОСШ). Чем меньше двоичный поток, тем выше степень сжатия, тем выше ПОСШ и тем лучше качество реконструированного изображения. При выборе режима формула распознавания по существу представляет собой комплексную оценку обоих. Например, стоимость, соответствующая режиму: J(режим) = D + λ * R, где D представляет собой искажение, которое обычно может быть измерено с использованием показателя SSE. SSE относится к средней сумме квадратов разностей между реконструированным блоком изображения и исходным изображением. Для реализации учета затрат также может быть использован показатель SAD, где SAD относится к сумме абсолютных разностей между реконструированным блоком изображения и исходным изображением. λ представляет множитель Лагранжа, а R представляет фактическое количество битов, необходимое для кодирования блока изображения в этом режиме, включая общее количество битов, необходимое для информации о режиме кодирования, информации о движении, остатках и т. д. Когда выбирают режимы, использование оптимизации соотношения скорости передачи и искажения для сравнения режимов кодирования и принятия решений по ним обычно может обеспечить наилучшую производительность кодирования.
[51] Инфраструктура кодирования видео: На фиг. 1 приведена принципиальная схема инфраструктуры кодирования видео на кодирующей стороне. Эта инфраструктура кодирования видео может быть использована для реализации потока обработки кодирующей стороны в вариантах осуществления настоящего изобретения. Принципиальная схема инфраструктуры декодирования видео может быть аналогична приведенной на фиг. 1 и не будет повторяться здесь. Поток обработки на декодирующей стороне в вариантах осуществления настоящего изобретения может быть реализован с использованием инфраструктуры декодирования видео.
[52] Например, как показано на фиг. 1, инфраструктура кодирования видео может включать в себя такие модули, как модули прогнозирования, преобразования, квантования, энтропийного кодирования, обратного квантования, обратного преобразования, реконструкции, фильтрации и т. д. На кодирующей стороне поток обработки кодирующей стороны может быть достигнут посредством взаимодействия между этими модулями. Кроме того, инфраструктура декодирования видео может включать в себя такие модули, как модули прогнозирования, преобразования, квантования, энтропийного декодирования, обратного квантования, обратного преобразования, реконструкции, фильтрации и т. д. На декодирующей стороне поток обработки декодирующей стороны может быть достигнут посредством взаимодействия между этими модулями.
[53] Существует множество инструментов кодирования, предлагаемых для каждого модуля на кодирующей стороне, и каждый инструмент обычно имеет множество режимов. Инструменты кодирования, которые могут обеспечить оптимальную производительность кодирования для различных видеопоследовательностей, часто отличаются. Поэтому в процессе кодирования для сравнения производительности кодирования различных инструментов или режимов при выборе наилучшего режима обычно используют оптимизацию соотношения скорости передачи и искажения (RDO). После определения оптимального инструмента или режима информацию о решении относительно инструмента или режима передают путем кодирования представленной в виде флага информации в двоичном потоке. Хотя этот подход приводит к высокой сложности кодирования, он позволяет адаптивно выбирать оптимальную комбинацию режимов для различного контента и достигать наилучшей производительности кодирования. Декодирующая сторона может получать соответствующую информацию о режиме путем прямого анализа представленной в виде флага информации, что в меньшей степени влияет на сложность.
[54] Ниже приведено краткое введение в структуру кодирующей стороны и декодирующей стороны. На фиг. 2A приведена блок-схема примера кодирующей стороны, используемой для реализации вариантов осуществления настоящего изобретения. На фиг. 2A кодирующая сторона включает в себя модуль обработки прогнозирования, модуль вычисления остатков, модуль обработки преобразования, модуль квантования, модуль кодирования, модуль обратного квантования (также называемый модулем антиквантования), модуль обработки обратного преобразования (также называемый модулем обработки антипреобразования), модуль реконструкции (также называемый модулем восстановления) и модуль фильтра. В качестве примера кодирующая сторона может дополнительно включать в себя буфер и буфер декодированного изображения, причем буфер выполнен с возможностью кеширования реконструированных блоков изображения, выводимых модулем реконструкции, а буфер декодированного изображения выполнен с возможностью кеширования отфильтрованных блоков изображения, выводимых модулем фильтра.
[55] Входные данные кодирующей стороны (также называемой кодером) представляют собой блок изображения (который может упоминаться как подлежащее кодированию изображение), а блок изображения также может упоминаться как текущий блок или подлежащий кодированию блок. Кодирующая сторона может дополнительно включать в себя модуль сегментации (не показан на фигурах), причем модуль сегментации выполнен с возможностью разбиения подлежащего кодированию изображения на множество блоков изображения. Кодирующая сторона выполнена с возможностью поблочного кодирования для осуществления кодирования подлежащего кодированию изображения, т. е. выполнения процесса кодирования на каждом блоке изображения. Модуль обработки прогнозирования выполнен с возможностью приема или получения блока изображения (текущего блока подлежащего кодированию изображения, также называемого текущим блоком, причем блок изображения может пониматься как истинное значение блока изображения) и реконструированных данных изображения. На основе соответствующих данных в реконструированных данных изображения модуль обработки прогнозирования прогнозирует текущий блок и получает прогнозируемый блок для текущего блока. В качестве примера модуль обработки прогнозирования может включать в себя модуль межкадрового прогнозирования, модуль внутрикадрового прогнозирования и модуль выбора режима. Модуль выбора режима выполнен с возможностью выбора режима внутрикадрового прогнозирования или режима межкадрового прогнозирования. Если выбран режим межкадрового прогнозирования, процесс прогнозирования выполняется модулем межкадрового прогнозирования. Если выбран режим внутрикадрового прогнозирования, процесс прогнозирования выполняется модулем внутрикадрового прогнозирования.
[56] Модуль вычисления остатка выполнен с возможностью вычисления остатка разности между истинным значением блока изображения и предсказанным значением блока изображения для получения остаточного блока. Например, модуль вычисления остатка может попиксельно вычитать значение пикселя прогнозируемого блока из значения пикселя блока изображения.
[57] Модуль обработки преобразования выполнен с возможностью выполнения преобразования (такого как дискретное косинусное преобразование (DCT) или дискретное синусное преобразование (DST)) на остаточном блоке для получения коэффициентов преобразования в области преобразования. Коэффициенты преобразования также могут упоминаться как остаточные коэффициенты преобразования, а остаточные коэффициенты преобразования могут представлять остаточный блок в области преобразования.
[58] Модуль квантования выполнен с возможностью квантования коэффициентов преобразования путем применения скалярного квантования или векторного квантования для получения квантованных коэффициентов преобразования, и квантованные коэффициенты преобразования также могут упоминаться как квантованные остаточные коэффициенты. Процесс квантования может уменьшить глубину в битах, связанную с некоторыми или всеми коэффициентами преобразования. Например, во время квантования коэффициент преобразования из n битов может быть округлен до коэффициента преобразования из m битов, где n больше m. Степень квантования может быть изменена путем корректировки параметра квантования (QP). Например, для скалярного квантования могут быть применены различные масштабы, чтобы достичь более точного или более грубого квантования. Меньший шаг квантования соответствует более точному квантованию, а больший шаг квантования соответствует более грубому квантованию. Соответствующий шаг квантования может быть указан параметром квантования (QP).
[59] Модуль кодирования выполнен с возможностью кодирования квантованных остаточных коэффициентов и вывода кодированных данных изображения (т. е. результата кодирования текущего подлежащего кодированию блока изображения) в виде кодированного двоичного потока. Затем кодированный двоичный поток передается в декодер или сохраняется, а затем передается в декодер или используется для извлечения. Модуль кодирования также может быть выполнен с возможностью кодирования других элементов синтаксиса текущего блока изображения, например, кодирования режима прогнозирования в двоичный поток. В число алгоритмов кодирования входят, без ограничения, алгоритм кодирования переменной длины (VLC), алгоритм контекстно-адаптивного VLC (CAVLC), алгоритм арифметического кодирования, алгоритм контекстно-адаптивного двоичного арифметического кодирования (CABAC), алгоритм основанного на сиснтаксисе контекстно-адаптивного двоичного арифметического кодирования (SBAC) или алгоритм энтропийного кодирования с разбиением на интервалы вероятности (PIPE).
[60] Модуль обратного квантования выполнен с возможностью осуществления обратного квантования на квантованных коэффициентах для получения обратно квантованных коэффициентов. Обратное квантование - это обратное применение модуля квантования. Например, на основе или с использованием того же шага квантования, что и в модуле квантования, применяют схему квантования, обратную к схеме квантования, применяемой модулем квантования. Обратно квантованные коэффициенты также могут упоминаться как обратно квантованные остаточные коэффициенты.
[61] Модуль обработки обратного преобразования выполнен с возможностью осуществления обратного преобразования на обратно квантованных коэффициентах. Следует понимать, что это обратное преобразование является обратным применением вышеупомянутого модуля обработки преобразования. Например, обратное преобразование может включать в себя обратное дискретное косинусное преобразование (IDCT) или обратное дискретное синусное преобразование (IDST) для получения блока обратного преобразования в области пикселей (или области отсчетов). Блок обратного преобразования также может упоминаться как квантованный блок обратного преобразования или остаточный блок обратного преобразования.
[62] Модуль реконструкции выполнен с возможностью добавления блока обратного преобразования (т. е. остаточного блока обратного преобразования) к прогнозируемому блоку для получения реконструированного блока в области отсчетов. Модуль реконструкции может представлять собой сумматор, например, для добавления значений отсчетов (т. е. значений пикселей) остаточного блока к значениям отсчетов прогнозируемого блока. Реконструированный блок, выводимый блоком реконструкции, может быть впоследствии использован для прогнозирования других блоков изображения, например, может быть использован в режиме внутрикадрового прогнозирования.
[63] Модуль фильтра (или просто «фильтр») выполнен с возможностью фильтрации реконструированного блока, чтобы получить отфильтрованный блок для беспрепятственного выполнения преобразования пикселей или улучшения качества изображения. Модуль фильтра может представлять собой модуль контурного фильтра (например, один или более контурных фильтров). Например, модуль фильтра может представлять собой фильтр удаления блочности, фильтр с адаптивным к отсчетам смещением (SAO), двусторонний фильтр, адаптивный контурный фильтр (ALF), фильтр повышения резкости или сглаживания, коллаборативный фильтр или другие фильтры. В качестве примера отфильтрованный блок, выводимый модулем фильтрации, может быть впоследствии использован для прогнозирования других блоков изображения, например, может быть использована в режиме межкадрового прогнозирования, ограничений на который в настоящем изобретений нет.
[64] На фиг. 2B приведена блок-схема примера декодирующей стороны (также называемой декодером), используемой для реализации вариантов осуществления настоящего изобретения. Декодер выполнен с возможностью приема кодированных данных изображения (т. е. кодированного двоичного потока, такого как кодированный двоичный поток, включающий в себя блок изображения и связанные элементы синтаксиса), кодированных кодером, для получения декодированного изображения. Декодер включает в себя модуль декодирования, модуль обратного квантования, модуль обработки обратного преобразования, модуль обработки прогнозирования, модуль реконструкции и модуль фильтра. В некоторых вариантах осуществления декодер может выполнять процедуры декодирования, которые в целом являются обратными процедурам кодирования, описанным для кодера, приведенного на фиг. 2A. В качестве примера декодер может дополнительно включать в себя буфер и буфер декодированного изображения, причем буфер выполнен с возможностью кеширования реконструированных блоков изображения, выводимых модулем реконструкции, а буфер декодированного изображения выполнен с возможностью кеширования отфильтрованных блоков изображения, выводимых модулем фильтра.
[65] Модуль декодирования выполнен с возможностью декодирования кодированных данных изображения для получения квантованных коэффициентов и/или декодированных параметров кодирования (например, параметры декодирования могут включать в себя любой один или все из параметров межкадрового прогнозирования, параметров внутрикадрового прогнозирования, параметров фильтра и/или других элементов синтаксиса). Модуль декодирования дополнительно выполнен с возможностью пересылки декодированных параметров кодирования в модуль обработки прогнозирования, так что модуль обработки прогнозирования может осуществлять процесс прогнозирования на основе параметров кодирования. Функция модуля обратного квантования может быть такой же, как и функция модуля обратного квантования кодера, а модуль обратного квантования может быть выполнен с возможностью обратного квантования (т. е. антиквантования) квантованных коэффициентов, декодированных модулем декодирования.
[66] Функция модуля обработки обратного преобразования может быть той же, как и функция модуля обработки обратного преобразования кодера, а функция блока реконструкции (такого, как сумматор) может быть той же, как и функция блока реконструкции кодера, которые выполнены с возможностью осуществления обратного преобразования (такого, как обратное DCT, обратное целочисленное преобразование или концептуально похожий процесс обратного преобразования) на квантованных коэффициентах для получения блока обратного преобразования (также называемого остаточным блоком обратного преобразования), причем блок обратного преобразования является остаточным блоком текущего блока изображения в области пикселей.
[67] Модуль обработки прогнозирования выполнен с возможностью приема или получения кодированных данных изображения (таких, как кодированный двоичный поток текущего блока изображения) и реконструированных данных изображения. Модуль обработки прогнозирования может дополнительно принимать или получать относящиеся к прогнозированию параметры и/или информацию (т. е. декодированные параметры кодирования) о выбранном режиме прогнозирования, например, из модуля декодирования, и прогнозировать текущий блок изображения на основе соответствующих данных в реконструированных данных изображения и декодированных параметров кодирования для получения прогнозируемого блока текущего блока изображения.
[68] В качестве примера модуль обработки прогнозирования может включать в себя модуль межкадрового прогнозирования, модуль внутрикадрового прогнозирования и модуль выбора режима. Модуль выбора режима выполнен с возможностью выбора режима внутрикадрового прогнозирования или режима межкадрового прогнозирования. Если выбран режим межкадрового прогнозирования, процесс прогнозирования выполняется модулем межкадрового прогнозирования. Если выбран режим внутрикадрового прогнозирования, процесс прогнозирования выполняется модулем внутрикадрового прогнозирования.
[69] Модуль реконструкции выполнен с возможностью добавления блока обратного преобразования (т. е. остаточного блока обратного преобразования) к прогнозируемому блоку для получения реконструированного блока в области отсчетов. Например, значения отсчетов остаточного блока обратного преобразования могут быть добавлены к значениям отсчетов прогнозируемого блока.
[70] Модуль фильтр выполнен с возможностью фильтрации реконструированного блока для получения отфильтрованного блока, причем отфильтрованный блок является блоком декодированного изображения.
[71] Следует понимать, что в кодере и декодере вариантов осуществления настоящего изобретения результат обработки определенного этапа также может быть дополнительно обработан, и дополнительно обработанный результат может быть выведен на следующий этап. Например, после интерполяционной фильтрации, получения вектора движения или фильтрации результат обработки соответствующего этапа может быть дополнительно обрезан или смещен.
[72] На основе кодера и декодера варианты осуществления настоящего изобретения обеспечивают вариант осуществления кодирования/декодирования, как показано на фиг. 2C. На фиг. 2C приведена схема последовательности операций процесса кодирования и декодирования, предложенного в вариантах осуществления настоящего изобретения, при этом вариант осуществления кодирования/декодирования включает в себя процессы с по , причем процессы с по могут быть выполнены вышеупомянутыми декодером и кодером. В процессе изображение кадра разбивают на одну или несколько неперекрывающихся единиц параллельного кодирования. Одна или более единиц параллельных кодирования не зависят друг от друга и могут быть кодированы и декодированы полностью параллельно и независимо друг от друга, как показано на единице 1 параллельного кодирования и единице 2 параллельного кодирования на фиг. 2C.
[73] В процессе для каждой единицы параллельного кодирования единица параллельного кодирования может быть дополнительно разбита на одну или более единиц независимого кодирования, которые не перекрывают друг друга. Одна или более единиц независимого кодирования могут быть независимыми друг от друга, но могут совместно использовать некоторую информацию заголовка единицы параллельного кодирования. Например, ширина единицы независимого кодирования составляет w_lcu, а высота единицы независимого кодирования составляет h-lcu. Если единицу параллельного кодирования разбивают на одну единицу независимого кодирования, размер единицы независимого кодирования точно такой же, как размер единицы параллельного кодирования. Если единицу параллельного кодирования разбивают на несколько единиц независимого кодирования, ширина единицы независимого кодирования должна быть больше высоты единицы независимого кодирования (если единица независимого кодирования не находится в пограничной области).
[74] Обычно единица независимого кодирования может быть фиксированного размера w_lcu×h-lcu, где w_lcu и h-lcu обе равны 2 в степени N (N ≥ 0). Например, размер единицы независимого кодирования может составлять 128×4, 64×4, 32×4, 16×4, 8×4, 32×2, 16×2 или 8×2.
[75] Например, единица независимого кодирования может быть фиксированного размера 128×4. Если размер единицы параллельного кодирования составляет 256×8, единица параллельного кодирования может быть разбита на 4 единицы независимого кодирования. Если размер единицы параллельного кодирования составляет 288×10, то единицу параллельного кодирования разбивают следующим образом: каждая из первой строки и второй строки составляет 2 единицы независимого кодирования размером 128×4 и 1 единицу независимого кодирования размером 32×4, а третья строка состоит из 2 единиц независимого кодирования размером 128×2 и 1 единицы независимого кодирования размером 32×2. Следует отметить, что единица независимого кодирования может включать в себя три компонента яркости Y, цветности Cb и цветности Cr, или три компонента красного (R), зеленого (G) и синего (B), или три компонента яркости Y, цветности Co и цветности Cg. В качестве альтернативы единица независимого кодирования может включать в себя только один их компонент. Если единица независимого кодирования содержит три компонента, размеры этих трех компонентов могут быть абсолютно одинаковыми или разными, в зависимости от входного формата изображения.
[76] В процессе для каждой единицы независимого кодирования единица независимого кодирования может быть дополнительно разбита на одну или более неперекрывающихся единиц субкодирования. Единицы субкодирования в пределах единицы независимого кодирования могут зависеть друг от друга, например, множество единиц субкодирования могут быть предварительное закодированы/декодированы с взаимной привязкой.
[77] Если размер единицы субкодирования совпадает с размером единицы независимого кодирования (т. е. единицу независимого кодирования разбивают только на одну единицу субкодирования), размер единицы субкодирования может быть одним из всех размеров, описанных в процессе . Если единицу независимого кодирования разбивают на несколько неперекрывающихся единиц субкодирования, примеры разбиения включают: горизонтальное разбиение (высота единицы субкодирования такая же, как высота единицы независимого кодирования, но ширина отличается, причем ширина единицы субкодирования может составлять 1/2, 1/4, 1/8 или 1/16 и т. д. ширина единицы независимого кодирования), вертикальное разбиение (ширина единицы субкодирования такая же, как ширина единицы независимого кодирования, но высота отличается, причем высота единицы субкодирования может составлять 1/2, 1/4, 1/8 или 1/16 и т. д. высоты единицы независимого кодирования) или горизонтальное и вертикальное разбиение (разбиение по квадродереву) и т. д. В некоторых вариантах осуществления принято горизонтальное разбиение.
[78] Ширина единицы субкодирования равна w_cu, а высота единицы субкодирования равна h-cu, причем ширина больше высоты, если единица субкодирования не находится в краевой области. Обычно единица субкодирования имеет фиксированный размер w_cu×h-cu, где w_cu и h-cu обе равны 2 в степени N (N больше или равно 0), например, 16×4, 8×4, 16×2, 8×2, 8×1 или 4×1 и т. д. Например, единица субкодирования имеет фиксированный размер 16×4. Если размер единицы независимого кодирования составляет 64×4, единицу независимого кодирования разбивают на 4 единицы субкодирования. Если размер единицы независимого кодирования составляет 72×4, разбиение на единицы субкодирования будет следующим: четыре 16×4 и одна 8×4. Следует отметить, что единица субкодирования может включать в себя три компонента яркости Y, цветности Cb и цветности Cr, или три компонента красного (R), зеленого (G) и синего (B), или три компонента яркости Y, цветности Co и цветности Cg. В качестве альтернативы единица субкодирования может включать в себя только один из этих компонентов. Если единица субкодирования содержит три компонента, соответствующие размеры компонентов могут быть абсолютно одинаковыми или разными, в зависимости от входного формата изображения.
[79] Стоит отметить, что процесс может быть необязательным этапом в способе кодирования или декодирования, и кодер/декодер может кодировать или декодировать остаточные коэффициенты (или остаточные значения) единиц независимого кодирования, полученных в процессе .
[80] В процессе единица субкодирования может быть дополнительно разбита на одну или более неперекрывающихся групп прогнозирования (PG), где PG может быть сокращено как «группа». PG кодируют или декодируют в соответствии с выбранным режимом прогнозирования для получения прогнозируемых значений PG, которые формируют прогнозируемое значение всей единицы субкодирования. На основании прогнозиуремого значения единицы субкодирования и начального значения получают остаточное значение единицы субкодирования.
[81] В процессе , основанном на остаточных значениях единиц субкодирования, единицы субкодирования группируют с получением одного или более неперекрывающихся остаточных блоков (RB). Остаточный коэффициент каждого RB кодируют или декодируют в соответствии с выбранным режимом для формирования двоичного потока остаточного коэффициента. В частности, они могут быть разделены на две категории: с преобразованием и без преобразования остаточных коэффициентов.
[82] Выбранный режим кодирования остаточного коэффициента или способ декодирования в процессе может включать, без ограничений, любое из следующего: способ кодирования с полуфиксированной длиной, способ экспоненциального кодирования Голомба, способ кодирования Голомба - Райса, способ кодирования усеченным унарным кодом, способ кодирования длин серий или прямое кодирование исходных остаточных значений и т. д. Например, кодер может непосредственно кодировать коэффициент в RB. Например, кодер также может выполнять преобразование (такое как преобразование DCT, DST или преобразование Адамара и т. д.) в остаточном блоке, а затем кодировать преобразованный коэффициент. Например, когда RB мал, кодер может непосредственно выполнять равномерное квантование для каждого коэффициента в RB, а затем выполнять двоичное кодирование. Если RB большой, RB может быть дополнительно разбит на несколько групп коэффициентов (CG), и к каждой CG может быть применено равномерное квантование, а затем двоичное кодирование. В некоторых вариантах осуществления настоящего изобретения группа коэффициентов (CG) и группа квантования (QG) могут быть одной и той же, или группа коэффициентов и группа квантования также могут быть разными.
[83] Ниже в качестве примера частично описано кодирование остаточного коэффициента с использованием способа кодирования с полуфиксированной длиной. Во-первых, определяют модифицированный максимум (MM) как максимальное абсолютное значение остатка в блоке RB. Во-вторых, определяют количество битов кодирования для остаточных коэффициентов внутри блока RB (количество битов кодирования для остаточных коэффициентов внутри одного и того же блока RB одинаковое). Например, если критический предел (CL) текущего блока RB равен 2, а текущий остаточный коэффициент равен 1, для кодирования остаточного коэффициента 1 требуется 2 бита, представленные как 01. Если CL текущего блока RB равен 7, он представляет кодирование 8-битных остаточных коэффициентов и 1-битного знакового бита. Определение CL заключается в нахождении минимального значения M, которое удовлетворяет условию, что все остатки в текущем подблоке находятся в диапазоне [-2^(M-1), 2^(M-1)]. Если есть два граничных значения -2^(M-1) и 2^(M-1) одновременно, M увеличивают на 1, т. е. для кодирования всех остатков текущего блока RB требуется M + 1 битов. Если имеется только одно из двух граничных значений -2^(M-1) или 2^(M-1), то для определения того, является ли граничным значением -2^(M-1) или 2^(M-1), кодируют хвостовой бит. Если ни один из остатков не равен -2^(M-1) или 2^(M-1), необходимости кодировать хвостовой бит нет. В некоторых особых случаях кодер может непосредственно кодировать первоначальное значение изображения, а не остаточное значение.
[84] Благодаря быстрому развитию глубокого обучения нейронная сеть может адаптивно создавать описания признаков на основе тренировочных данных с большей гибкостью и универсальностью, что делает глубокое обучение успешным во многих высокоуровневых задачах компьютерного зрения, таких как классификация изображений, обнаружение объектов и т. д. Глубокое обучение также начали постепенно применять в области кодирования и декодирования, то есть для кодирования и декодирования изображений может быть использована нейронная сеть. Например, использование сверточной нейронной сети с изменяемым размером фильтра (VRCNN) вместо удаляющей блочность фильтрации и методов адаптивной компенсации отсчетов для выполнения фильтрации постобработки на изображении с внутрикадровым кодированием значительно улучшает субъективное и объективное качество реконструированного изображения. В качестве еще одного примера нейронная сеть может быть применена для внутрикадрового прогнозирования. Предложен режим внутрикадрового прогнозирования, основанный на повышающей и понижающей дискретизации блоков. Для получения блока посредством внутрикадрового прогнозирования сначала выполняют кодирование с понижающей дискретизацией, а затем нейронная сеть применяет повышающую дискретизацию к реконструированным пикселям. Для последовательностей со сверхвысокой четкостью может быть достигнут прирост производительности до 9,0%. Нейронные сети могут эффективно преодолевать ограничения устанавливаемых вручную режимов, а нейронная сеть, отвечающая практическим потребностям, может быть получена с помощью подходов, основанных на данных, что значительно улучшает производительность кодирования.
[85] Например, хотя способы кодирования и декодирования, основанные на нейронных сетях, продемонстрировали большой потенциал с точки зрения производительности, способы кодирования и декодирования, основанные на нейронных сетях, по-прежнему страдают от таких проблем, как низкая стабильность, плохое обобщение и высокая сложность. Во-первых, нейронные сети все еще находятся в процессе быстрой итерации, при этом постоянно появляются новые сетевые структуры. Даже для некоторых общих проблем до сих пор нет решения, какая структура сети является оптимальной, не говоря уже о конкретных проблемах для конкретных модулей кодера. Поэтому использование одной фиксированной нейронной сети для определенного модуля кодера несет в себе высокий риск. Во-вторых, поскольку формирование нейронной сети сильно зависит от тренировочных данных, то если в тренировочные данные не включен определенный признак конкретной задачи, это может привести к снижению производительности при решении данной задачи. В известном уровне техники в одном режиме обычно используют только одну нейронную сеть. Когда нейронная сеть имеет недостаточную обобщающую способность, режим приведет к снижению производительности кодирования. Кроме того, из-за высокой плотности данных и потребности в низкой задержке, необходимой для кодирования видео, стандартные технологии кодирования видео предъявляют особенно строгие требования к сложности, особенно сложности декодирования. Для обеспечения хорошей производительности кодирования количество параметров, используемых для нейронной сети кодирования, часто очень велико (например, 1M или более). Количество операций умножения и сложения, выполняемых при однократном применении нейронной сети, может составлять в среднем более 100 тысяч операций на пиксель. Упрощенная нейронная сеть с меньшим количеством слоев или параметров не может достичь оптимальной производительности кодирования, но использование такой нейронной сети может значительно снизить сложность кодирования и декодирования. Кроме того, в большинстве схем кодирования изображения в качестве входных данных используют весь кадр изображения (с высокими затратами на кеширование) и не могут эффективно управлять скоростью кодового потока на выходе. В практических применениях часто необходимо получать изображения с произвольными скоростями передачи данных.
[86] С учетом вышеуказанных выводов в вариантах осуществления настоящего изобретения предложены способ декодирования изображения и способ кодирования изображения, основанные на нейронной сети, в которых для кодирования и декодирования изображений могут быть использованы нейронные сети (такие, как нейронная сеть декодирования и нейронная сеть кодирования). В этом варианте осуществления идея оптимизации заключается в том, чтобы сосредоточиться не только на производительности кодирования и производительности декодирования, но и на сложности (особенно параллельности кодирования и декодирования коэффициента) и функциональности приложения (поддержка переменных и точно настраиваемых скоростей кодового потока, т. е. управляемых скоростей кодовых потоков). На основе вышеуказанной идеи оптимизации в вариантах осуществления настоящего изобретения предложены несколько способов: a) фиксированная структура нейронной сети, но без ограничения сетевых параметров (т. е. весовых параметров) нейронной сети, при этом сетевые параметры могут быть проиндексированы по идентификатору; b) гибкая структура нейронной сети, которая может быть достигнута путем передачи соответствующих структурных параметров посредством синтаксического кодирования, при этом сетевые параметры могут быть проиндексированы по идентификатору (некоторые параметры могут быть переданы посредством синтаксического кодирования, что увеличивает стоимость определенных скоростей кодовых потоков); c) гибкая структура (конфигурация синтаксиса высокого уровня) нейронной сети и фиксированные сетевые параметры (для экономии на скорости кодовых потоков) некоторых сетей (таких как мелкие сети), при этом сетевые параметры остальных сетей передаются посредством синтаксиса кодирования (сохранение пространства оптимизации производительности).
[87] Ниже на основе нескольких вариантов осуществления подробно объяснены способы декодирования и кодирования в вариантах осуществления настоящего изобретения.
[88] Вариант осуществления 1: в вариантах осуществления настоящего изобретения предложен способ декодирования изображения, основанный на нейронной сети, как показано на фиг. 3, на которой приведена схема последовательности операций способа. Способ может быть применен к декодирующей стороне (также называемой видеодекодером) и может включать в себя этапы 301-303.
[89] На этапе 301 из двоичного потока декодируют управляющий параметр и информацию об изображении для текущего блока.
[90] На этапе 302 из управляющего параметра получают информацию о нейронной сети для модуля обработки декодирования и на основании информации о нейронной сети генерируют нейронную сеть декодирования для модуля обработки декодирования.
[91] На этапе 303 на основании информации об изображении определяют входной признак для модуля обработки декодирования, и входной признак обрабатывают на основе нейронной сети декодирования, чтобы получить выходной признак для модуля обработки декодирования.
[92] В одном варианте осуществления, когда информация о нейронной сети включает в себя информацию о базовом слое и информацию об улучшающем слое, базовый слой для модуля обработки декодирования может быть определен на основании информации о базовом слое, а улучшающий слой для модуля обработки декодирования может быть определен на основании информации об улучшающем слое, и затем на основе базового слоя и улучшающего слоя генерируют нейронную сеть декодирования для модуля обработки декодирования.
[93] Например, если в процессе определения базового слоя информация о базовом слое включает в себя флаг использования базовым слоем сети по умолчанию, и флаг использования в качестве базового слоя сети по умолчанию указывает на использование в качестве базового слоя сети по умолчанию, то получают базовый слой сетевой структуры по умолчанию.
[94] Например, если в процессе определения базового слоя информация о базовом слое включает в себя флаг использования в качестве базового слоя предварительно разработанной сети и индекс предварительно разработанной сети базового слоя, а флаг использования в качестве базового слоя предварительно разработанной сети указывает на использование в качестве базового слоя предварительно разработанной сети, то выбирают базовый слой предварительной разработанной сетевой структуры, соответствующей индексу предварительно разработанной сети базового слоя, из пула предварительно разработанных нейронных сетей.
[95] Пул предварительно разработанных нейронных сетей включает в себя сетевые слои по меньшей мере одной предварительно разработанной сетевой структуры.
[96] Например, если в процессе определения улучшающего слоя информация об улучшающем слое включает в себя флаг использования улучшающим слоем сети по умолчанию, и флаг использования в качестве улучающего слоя сети по умолчанию указывает на использование в качестве улучшающего слоя сети по умолчанию, получают улучшающий слой сетевой структуры по умолчанию.
[97] Например, если в процессе определения улучшающего слоя информация об улучающем слое включает в себя флаг использования в качестве улучшающего слоя предварительно разработанной сети и индекс предварительно разработанной сети улучшающего слоя, а флаг использования в качестве улучшающего слоя предварительно разработанной сети указывает на использование в качестве улучшающего слоя предварительно разработанной сети, то может быть выбран улучшающий слой предварительной разработанной сетевой структуры, соответствующей индексу предварительно разработанной сети улучшающего слоя, из пула предварительно разработанных нейронных сетей.
[98] Пул предварительно разработанных нейронных сетей включает в себя сетевые слои по меньшей мере одной предварительно разработанной сетевой структуры.
[99] Например, если в процессе определения улучшающего слоя информация об улучшающем слое включает в себя сетевой параметр, сконфигурированный для генерирования улучшающего слоя, то улучшающий слой для модуля обработки декодирования генерируют на основе сетевого параметра; при этом сетевой параметр может включать, без ограничений, по меньшей мере одно из следующего: количество слоев нейронной сети, флаг слоя обратной развертки, количество слоев обратной развертки, шаг квантования для каждого слоя обратной развертки, количество каналов для каждого слоя обратной свертки, размер ядра сверки, количество фильтров, индекс размера фильтра, флаг, указывающий, равен ли коэффициент фильтра нулю или нет, коэффициент фильтра, флаг слоя активации или тип слоя активации. Разумеется, вышеизложенное является лишь несколькими примерами, и никаких ограничений на этот счет нет.
[100] В варианте осуществления информация об изображении может включать в себя информацию о признаке гиперпараметра коэффициента и информацию о признаке изображения, а входной признак для модуля обработки декодирования определяют на основании информации об изображении, и входной признак обрабатывают на основе нейронной сети декодирования для получения выходного признака для модуля обработки декодирования, что может включать в себя, без ограничений: при выполнении процесса декодирования для генерирования признака гиперпараметра коэффициента определение реконструированного значения признака коэффициента гиперпараметра коэффициента на основании информации о признаке гиперпараметра коэффициента и выполнение обратного преобразования реконструированного значения коэффициента признака гиперпараметра коэффициента на основе нейронной сети декодирования для получения значения признака гиперпараметра коэффициента; при этом значение признака гиперпараметра коэффициента конфигурируют для декодирования информации о признаках изображения из двоичного потока. При выполнении процесса декодирования обратного преобразования признака изображения определяют реконструированное значение признака изображения на основании информации о признаке изображения и выполняют обратное преобразование реконструированного значения признака изображения на основе нейронной сети декодирования для получения значения признака низкого порядка изображения; причем значение признака низкого порядка изображения конфигурируют для получения реконструированного блока изображения для текущего блока.
[101] Например, определение реконструированного значения коэффициента признака гиперпараметра коэффициента на основании информации о признаке гиперпараметра коэффициента может включать, без ограничений: если управляющий параметр включает в себя первую информацию о разрешении на использование, и первая информация о разрешении на использование представляет собой разрешение на использование первого обратного квантования, выполнение обратного квантования информации признака гиперпараметра коэффициента для получения реконструированного значения коэффициента признака гиперпараметра коэффициента. Определение реконструированного значения признака изображения на основании информации о признаке изображения может включать, без ограничений: если управляющий параметр включает в себя вторую информацию о разрешении на использование, и вторая информация о разрешении на использование представляет собой разрешение на использование второго обратного квантования, выполнение обратного квантования информации признака изображения для получения реконструированного значения признака изображения.
[102] Например, если управляющий параметр включает в себя третью информацию о разрешении на использование, и третья информация о разрешении на использование представляет собой разрешение на использование повышения качества, то при выполнении процесса декодирования повышения качества может быть получено значение признака низкого порядка изображения, и значение признака низкого порядка изображения может быть улучшено на основе нейронной сети декодирования для получения реконструированного блока изображения для текущего блока.
[103] В варианте осуществления устройство декодирования может включать в себя модуль декодирования управляющего параметра, первый модуль декодирования признака, второй модуль декодирования признака, модуль генерирования гиперпараметра коэффициента и модуль обратного преобразования признака изображения. Информация изображения может включать в себя информацию о признаке гиперпараметра коэффициента и информацию о признаке изображения, при этом модуль декодирования управляющего параметра может декодировать управляющие параметры из двоичного потока, причем первый модуль декодирования признака может декодировать информацию о признаке гиперпараметра коэффициента из двоичного потока, а второй модуль декодирования признака может декодировать информацию о признаке изображения из двоичного потока. Когда модуль генерирования гиперпараметрического признака коэффициента представляет собой модуль обработки декодирования, реконструированное значение коэффициента признака гиперпараметра коэффициента может быть определено на основании информации признака гиперпараметра коэффициента. Модуль генерирования признака гиперпараметра коэффициента может использовать нейронную сеть декодирования для выполнения обратного преобразования реконструированного значения коэффициента признака гиперпараметра коэффициента для получения значения признака гиперпараметра коэффициента; причем значение признака гиперпараметра коэффициента конфигурируют для обеспечения возможности декодирования вторым модулем декодирования признака информации признака изображения из двоичного потока. Когда модуль обратного преобразования признака изображения представляет собой модуль обработки декодирования, реконструированное значение признака изображения определяют на основании информации о признаке изображения. Модуль обратного преобразования признака изображения может выполнять обратное преобразование реконструированного значения признака изображения на основе нейронной сети декодирования для получения значения признака низкого порядка изображения; причем значение признака низкого порядка изображения конфигурируют для получения реконструированного блока изображения, соответствующего текущему блоку.
[104] Например, устройство декодирования дополнительно включает в себя первый модуль обратного квантования и второй модуль обратного квантования; причем управляющий параметр может содержать первую информацию о разрешении на использование первого модуля обратного квантования. Если первая информация о разрешении на использование представляет собой разрешение на использование первого модуля обратного квантования, первый модуль обратного квантования может получать информацию о признаке гиперпараметра коэффициента из первого модуля декодирования признака, выполнять обратное квантование информации признака гиперпараметра коэффициента для получения реконструированного значения коэффициента признака гиперпараметра коэффициента и предоставлять реконструированное значение коэффициента признака гиперпараметра коэффициента модулю генерирования признака гиперпараметра коэффициента. Управляющий параметр может включать в себя вторую информацию о разрешении на использование второго модуля обратного квантования. Если вторая информация о разрешении на использование представляет собой разрешение на использование второго модуля обратного квантования, второй модуль обратного квантования может получать информацию о признаке изображения из второго модуля декодирования признака, выполнять обратное квантование информации признака изображения для получения реконструированного значения признака изображения и предоставлять реконструированное значение признака изображения модулю обратного преобразования признака изображения.
[105] Например, устройство декодирования может дополнительно включать в себя модуль повышения качества, при этом управляющий параметр может включать в себя третью информацию о разрешении на использование модуля повышения качества. Если третья информация о разрешении на использование представляет собой разрешение на использование модуля повышения качества, когда модуль повышения качества представляет собой модуль обработки декодирования, модуль повышения качества может получать значение признака низкого порядка изображения из модуля обратного преобразования признака изображения и улучшать значение признака низкого порядка изображения на основе нейронной сети декодирования для получения реконструированного блока изображения, соответствующего текущему блоку.
[106] Например, вышеуказанный порядок выполнения предназначен только для удобства описания приведенных примеров. В практических применениях порядок выполнения этапов также может быть изменен без ограничения. Кроме того, в других вариантах осуществления этапы соответствующего способа могут быть не обязательно выполнены в порядке, показанном и описанном в описании изобретения, а этапов, включенных в способ, может быть больше или меньше, чем изложено в описании изобретения. Кроме того, один этап, приведенный в описании изобретения, может быть разложен на несколько этапов для описания в других вариантах осуществления. Множество этапов, изложенных в описании, также могут быть объединены в один этап для описания в других вариантах осуществления.
[107] Из вышеприведенных технических решений можно увидеть, что в вариантах осуществления настоящего изобретения из двоичного потока может быть декодирован управляющий параметр для текущего блока, из управляющего параметра может быть получена информация о нейронной сети для модуля обработки декодирования, и на основании информации о нейронной сети может быть сгенерирована нейронная сеть декодирования для модуля обработки декодирования. Таким образом, декодирование изображения может быть реализовано на основе нейронной сети декодирования для улучшения производительности декодирования. Кодирование изображения может быть реализовано на основе нейронной сети кодирования для модуля обработки кодирования, чтобы улучшить производительность кодирования. Чтобы решить такие проблемы, как низкая стабильность, плохая обобщенность и высокая сложность, то есть достичь высокой стабильности, хорошей обобщенности и низкой сложности, можно использовать нейронные сети глубокого обучения (такие как нейронные сети декодирования и нейронные сети кодирования) для кодирования и декодирования изображений и передавать информацию о нейронной сети посредством двоичных потоков, а затем на основании информации о нейронной сети можно генерировать нейронную сеть декодирования для модуля обработки декодирования. Предложена схема динамической корректировки сложности кодирования и декодирования, которая имеет лучшую производительность кодирования и по сравнению со инфраструктурой с одной сетью глубокого обучения. Поскольку каждый текущий блок соответствует управляющему параметру, информация о нейронной сети, полученная из управляющего параметра, является информацией о нейронной сети для текущего блока, и для каждого текущего блока генерируют нейронную сеть декодирования. То есть нейронные сети декодирования для разных текущих блоков могут быть одинаковыми или разными, поэтому нейронная сеть декодирования действует на блочном уровне, то есть нейронная сеть декодирования может быть изменена и скорректирована.
[108] Вариант осуществления 2: в вариантах осуществления настоящего изобретения предложен способ кодирования изображения, основанный на нейронной сети, как показано на фиг. 4, на которой приведена схема последовательности операций способа. Способ может быть применен к кодирующей стороне (также называемой видеокодером) и может включать в себя этапы 401-403.
[109] На этапе 401 определяют входной признак для модуля обработки кодирования на основе текущего блока, причем входной признак обрабатывают на основе нейронной сети кодирования для модуля обработки кодирования, чтобы получить выходной признак для модуля обработки кодирования, и на основе выходного признака определяют информацию об изображении (такую, как информация о признаке гиперпараметра коэффициента и информация о признаке изображения) для текущего блока.
[110] На этапе 402 получают управляющий параметр для текущего блока, причем управляющий параметр включает в себя информацию о нейронной сети для модуля обработки декодирования, а информацию о нейронной сети конфигурируют для определения нейронной сети декодирования для модуля обработки декодирования.
[111] На этапе 403 кодируют в двоичном потоке управляющий параметр и информацию об изображении для текущего блока.
[112] В варианте осуществления информация о нейронной сети включает в себя информацию о базовом слое и информацию об улучшающем слое, а нейронная сеть декодирования включает в себя базовый слой, определенный на основании информации о базовом слое, и улучшающий слой, определенный на основании информации об улучшающем слое.
[113] Например, если информация о базовом слое включает в себя флаг использования в качестве базового слоя сети по умолчанию, и флаг использования в качестве базового слоя сети по умолчанию указывает на использование в качестве базового слоя сети по умолчанию, нейронная сеть декодирования использует базовый слой сетевой структуры по умолчанию.
[114] Например, если информация о базовом слое включает в себя флаг использования в качестве базового слоя предварительно разработанной сети и индекс предварительно разработанной сети базового слоя, а флаг использования в качестве базового слоя предварительно разработанной сети указывает на использование в качестве базового слоя предварительно разработанной сети, нейронная сеть декодирования использует базовый слой предварительно разработанной сетевой структуры, выбранной из пула предварительно разработанных нейронных сетей в соответствии с индексом предварительно разработанной сети базового слоя.
[115] Пул предварительно разработанных нейронных сетей включает в себя сетевые слои по меньшей мере одной предварительно разработанной сетевой структуры.
[116] Например, если информация об улучшающем слое включает в себя флаг использования в качестве улучшающего слоя сети по умолчанию, и флаг использования в качестве улучшающего слоя сети по умолчанию указывает на использование в качестве улучшающего слоя сети по умолчанию, нейронная сеть декодирования использует улучшающий слой сетевой структуры по умолчанию.
[117] Например, если информация об улучшающем слое включает в себя флаг использования в качестве улучшающего слоя предварительно разработанной сети и индекс предварительно разработанной сети улучшающего слоя, а флаг использования в качестве улучшающего слоя предварительно разработанной сети указывает на использование в качестве улучшающего слоя предварительно разработанной сети, нейронная сеть декодирования использует улучшающий слой предварительной разработанной сетевой структуры, выбранной из пула предварительно разработанных нейронных сетей в соответствии с индексом предварительно разработанной сети улучшающего слоя.
[118] Пул предварительно разработанных нейронных сетей включает в себя сетевые слои по меньшей мере одной предварительно разработанной сетевой структуры.
[119] Например, если информация об улучшающем слое себя включает в себя сетевой параметр, сконфигурированный для генерирования улучшающего слоя, то нейронная сеть декодирования может использовать улучшающий слой, генерируемый на основе сетевого параметра, при этом сетевой параметр может включать, без ограничений, по меньшей мере одно из следующего: количество слоев нейронной сети, флаг слоя обратной развертки, количество слоев обратной развертки, шаг квантования для каждого слоя обратной развертки, количество каналов для каждого слоя обратной свертки, размер ядра сверки, количество фильтров, индекс размера фильтра, флаг, указывающий, равен ли коэффициент фильтра нулю или нет, коэффициент фильтра, флаг слоя активации или тип слоя активации. Разумеется, вышеизложенное является лишь несколькими примерами сетевых параметров, и никаких ограничений на этот счет в настоящем изобретении нет.
[120] В варианте осуществления информация об изображении может включать в себя информацию о признаке гиперпараметра коэффициента и информацию о признаке изображения. Входной признак для модуля обработки кодирования определяют на основе текущего блока, и входной признак обрабатывают на основе нейронной сети кодирования для модуля обработки кодирования для получения выходного признака модуля обработки кодирования, а информацию об изображении для текущего блока определяют на основе выходного признака, что может включать в себя, без ограничений: в процессе кодирования выполнения преобразования признака нейронная сеть кодирования может быть использована для выполнения преобразования признака на текущем блоке, чтобы получить значение признака изображения для текущего блока, причем значение признака изображения конфигурируют для определения информации признака изображения. В процессе кодирования выполнения преобразования признака гиперпараметра коэффициента нейронная сеть кодирования может быть использована для выполнения преобразования признака гиперпараметра коэффициента на значении признака изображения, чтобы получить значение коэффициента признака гиперпараметра коэффициента, причем значение коэффициента признака гиперпараметра коэффициента конфигурируют для определения информации признака гиперпараметра коэффициента.
[121] Например, в процессе определения информации признака гиперпараметра коэффициента на основе значения коэффициента признака гиперпараметра коэффициента значение коэффициента признака гиперпараметра коэффициента может быть подвергнуто квантованию для получения квантованного значения коэффициента признака гиперпараметра коэффициента, а информация о признаке гиперпараметра коэффициента может быть определена на основе квантованного значения коэффициента признака гиперпараметра коэффициента. Управляющий параметр может дополнительно включать в себя первую информацию о разрешении на использование, причем первую информацию о разрешении на использование конфигурируют для указания на то, что первое квантование было разрешено.
[122] Например, в процессе определения информации о признаке изображения на основе значения признака изображения значение признака изображения может быть подвергнуто квантованию для получения квантованного значения признака изображения, а информация о признаке изображения может быть определена на основе квантованного значения признака изображения. При этом управляющий параметр может дополнительно включать в себя вторую разрешающую информацию, причем вторую информацию о разрешении на использование конфигурируют для указания на то, что использование второго квантования было разрешено.
[123] Например, получение управляющего параметра для текущего блока может включать, без ограничений: определение, на основе сетевой структуры нейронной сети кодирования, используемой в процессе кодирования при преобразовании признаков, информации о нейронной сети, используемой в процессе декодирования обратного преобразования признака изображения устройства декодирования, причем информацию о нейронной сети конфигурируют для определения нейронной сети декодирования для процесса декодирования обратного преобразования признака изображения устройства декодирования; и/или определение, на основе сетевой структуры нейронной сети кодирования, используемой в процессе кодирования преобразования признака гиперпараметра коэффициента, информации о нейронной сети, используемой в процессе декодирования генерирования признака гиперпараметра коэффициента устройства декодирования, причем информацию о нейронной сети конфигурируют для определения нейронной сети декодирования для процесса декодирования генерирования признака гиперпараметра коэффициента устройства декодирования.
[124] В варианте осуществления устройство кодирования может включать в себя модуль кодирования управляющего параметра, первый модуль кодирования признака, второй модуль кодирования признака, модуль преобразования признака изображения и модуль преобразования признака гиперпараметра коэффициента, а информация об изображении может включать в себя информацию о признаке гиперпараметра коэффициента и информацию о признаке изображения. Когда модуль кодирования управляющего параметра кодирует управляющий параметр в двоичном потоке, первый модуль кодирования признака кодирует информацию о признаке гиперпараметра коэффициента в двоичном потоке, а второй модуль кодирования признака кодирует информацию о признаке изображения в двоичном потоке. Когда модуль преобразования признака представляет собой модуль обработки кодирования, модуль преобразования признака может выполнять преобразование признака на текущем блоке на основе нейронной сети кодирования для получения значения признака изображения для текущего блока; причем значение признака изображения конфигурируют для определения информации о признаке изображения. Когда модуль преобразования признака гиперпараметра коэффициента представляет собой модуль обработки кодирования, модуль преобразования признака гиперпараметра коэффициента может выполнять преобразование признака гиперпараметра коэффициента на значении признака изображения на основе нейронной сети кодирования для получения значения признака гиперпараметра коэффициента, причем значение признака гиперпараметра коэффициента конфигурируют для определения информации о признаке гиперпараметра коэффициента.
[125] Например, устройство кодирования может дополнительно включать в себя первый модуль квантования и второй модуль квантования, причем первый модуль квантования может получать значение коэффициента признака гиперпараметра коэффициента из модуля преобразования признака гиперпараметра коэффициента, квантовать значение коэффициента признака гиперпараметра коэффициента для получения квантованного значения коэффициента признака гиперпараметра коэффициента и определять информацию о признаке гиперпараметра коэффициента на основе квантованного значения коэффициента признака гиперпараметра коэффициента. При этом управляющий параметр может дополнительно включать в себя первую информацию о разрешении на использование первого модуля квантования, причем первую информацию о разрешении на использование конфигурируют для указания на то, что использование первого модуля квантования был разрешено. Второй модуль квантования может получать значение признака изображения из модуля преобразования признака, квантовать значение признака изображения, получать квантованное значение признака изображения и определять информацию о признаке изображения на основе квантованного значения признака изображения; причем управляющий параметр может дополнительно включать в себя вторую информацию о разрешении на использование второго модуля квантования, а вторую информацию о разрешении на использование конфигурируют для указания на то, что использование второго блока квантования было разрешено.
[126] Например, получение управляющего параметра для текущего блока может включать, без ограничений: определение, на основе сетевой структуры нейронной сети кодирования модуля преобразования признака, информации о нейронной сети для модуля обратного преобразования признака изображения, причем информацию о нейронной сети конфигурируют для определения нейронной сети декодирования для модуля обратного преобразования признака изображения устройства декодирования; и/или определение, на основе сетевой структуры нейронной сети кодирования модуля преобразование признака гиперпараметра коэффициента, информации о нейронной сети для модуля генерирования признака гиперпараметра коэффициента, причем информацию о нейронной сети конфигурируют для определения нейронной сети декодирования для модуля генерирования признака гиперпараметра коэффициента устройства декодирования.
[127] В варианте осуществления информация об изображении может включать в себя информацию о признаке гиперпараметра коэффициента и информацию о признаке изображения. В процессе декодирования генерирования признака гиперпараметра коэффициента реконструированное значение коэффициента признака гиперпараметра коэффициента может быть определено на основании информации признака гиперпараметра коэффициента; и на основе нейронной сети декодирования выполняют обратное преобразование на реконструированном значении коэффициента признака гиперпараметра коэффициента для получения значения признака гиперпараметра коэффициента, причем значение признака гиперпараметра коэффициента может быть использовано для декодирования информации признака изображения из двоичного потока. При выполнении процесса декодирования обратного преобразования признака изображения определяют реконструированное значение признака изображения на основании информации о признаке изображения и выполняют обратное преобразование реконструированного значения признака изображения на основе нейронной сети декодирования для получения значения признака низкого порядка изображения; причем значение признака низкого порядка изображения конфигурируют для получения реконструированного блока изображения для текущего блока.
[128] Например, определение реконструированного значения коэффициента признака гиперпараметра коэффициента на основании информации о признаке гиперпараметра коэффициента может включать, без ограничений: выполнение обратного квантования информации признака гиперпараметра коэффициента для получения реконструированного значения коэффициента признака гиперпараметра коэффициента. Определение реконструированного значения признака изображения на основании информации признаке изображения может включать, без ограничений: выполнение обратного квантования информации признака изображения для получения реконструированного значения признака изображения.
[129] Например, при выполнении процесса декодирования повышения качества может быть получено значение признака низкого порядка изображения, и значение признака низкого порядка изображения может быть улучшено на основе нейронной сети декодирования для получения реконструированного блока изображения для текущего блока.
[130] Например, получение управляющего параметра для текущего блока может включать, без ограничений, по меньшей мере одно из следующего: определение, на основе сетевой структуры нейронной сети декодирования, используемой в процессе кодирования генерирования признака гиперпараметра коэффициента устройства кодирования, информации о нейронной сети, используемой в процессе декодирования генерирования признака гиперпараметра коэффициента устройства декодирования, причем информацию о нейронной сети конфигурируют для определения нейронной сети декодирования, используемой в процессе декодирования генерирования признака гиперпараметра коэффициента устройства декодирования; или определение, на основе сетевой структуры нейронной сети декодирования, используемой в процессе кодирования обратного преобразования признака изображения устройства кодирования, информации о нейронной сети, используемой в процессе декодирования обратного преобразования признака изображения устройства декодирования, причем информацию о нейронной сети конфигурируют для определения нейронной сети декодирования, используемой в процессе декодирования обратного преобразования признака изображения устройства декодирования; или определение, на основе сетевой структуры нейронной сети декодирования, используемой в процессе кодирования повышения качества устройства кодирования, информации о нейронной сети, используемой в процессе декодирования повышения качества устройства декодирования, причем информацию о нейронной сети конфигурируют для определения нейронной сети декодирования, используемой в процессе декодирования повышения качества устройства декодирования.
[131] В варианте осуществления устройство кодирования может включать в себя первый модуль декодирования признака, второй модуль декодирования признака, модуль генерирования признака гиперпараметра коэффициента и модуль обратного преобразования признака изображения, а информация об изображении может включать в себя информацию о признаке гиперпараметра коэффициента и информацию о признаке изображения. При этом первый модуль декодирования признака может декодировать информацию о признаке гиперпараметра коэффициента из двоичного потока, а второй модуль декодирования признака может декодировать информацию о признаке изображения из двоичного потока; и после определения реконструированного значения коэффициента признака гиперпараметра коэффициента на основании информации о признаке гиперпараметра коэффициента модуль генерирования признака гиперпараметра коэффициента может выполнять обратное преобразование реконструированного значения коэффициента признака гиперпараметра коэффициента на основе нейронной сети декодирования для получения значения признака гиперпараметра коэффициента; причем значение признака гиперпараметра коэффициента конфигурируют для разрешения использования второго модуля декодирования признака для декодирования информации признака изображения из двоичного потока, и конфигурируют для разрешения использования второго модуля кодирования признака для кодирования информации признака изображения в потоке; и после определения реконструированного значения признака изображения на основании информации о признаке изображения модуль обратного преобразования признака изображения может выполнять обратное преобразование реконструированного значения признака изображения на основе нейронной сети декодирования для получения значения признака низкого порядка изображения, причем значение признака низкого порядка изображения конфигурируют для получения реконструированного блока изображения, соответствующего текущему блоку.
[132] Например, устройство кодирования может дополнительно включать в себя первый модуль обратного квантования и второй модуль обратного квантования, причем первый модуль обратного квантования может получать информацию о признаке гиперпараметра коэффициента из первого модуля декодирования признака и выполнять обратное квантовании информации признака гиперпараметра коэффициента для получения реконструированного значения коэффициента признака гиперпараметра коэффициента, а второй модуль обратного квантования может получать информацию о признаке изображения из второго модуля декодирования признака и выполнять обратное квантование информации о признаке изображения для получения реконструированного значения признака изображения.
[133] Например, устройство кодирования дополнительно включает в себя модуль повышения качества. Модуль повышения качества получает значение признака низкого порядка из модуля обратного преобразования признака изображения и на основе нейронной сети декодирования выполняет повышение качества на значении признака низкого порядка изображения для получения реконструированного блока изображения.
[134] Например, получение управляющего параметра для текущего блока может включать, без ограничений, по меньшей мере одно из следующего: определение, на основе сетевой структуры нейронной сети декодирования модуля генерирования гиперпараметра коэффициента устройства кодирования, информации о нейронной сети, соответствующей модулю генерирования признака гиперпараметра коэффициента устройства декодирования, причем информацию о нейронной сети конфигурируют для определения нейронной сети декодирования модуля обратного преобразования признака изображения устройства кодирования, соответствующей модулю генерирования признака гиперпараметра коэффициента устройства декодирования; или определение, на основе сетевой структуры нейронной сети декодирования модуля обратного преобразования признака изображения устройства кодирования, информации о нейронной сети, соответствующей модулю обратного преобразования признака изображения устройства декодирования, причем информацию о нейронной сети конфигурируют для определения нейронной сети декодирования, соответствующей модулю обратного преобразования признака изображения устройства декодирования; или определение, на основе сетевой структуры нейронной сети декодирования модуля повышения качества устройства кодирования, информации о нейронной сети, соответствующей модулю повышения качества устройства декодирования, причем информацию о нейронной сети конфигурируют для определения нейронной сети декодирования, соответствующей модулю повышения качества устройства декодирования.
[135] В варианте осуществления перед определением входного признака для модуля обработки кодирования на основе текущего блока текущее изображение может быть дополнительно разбито на N неперекрывающихся блоков изображения, где N является положительным целым числом. На каждом блоке изображения может быть выполнено дополнение границы для получения блока изображения с дополненной границей, причем при выполнении дополнения границы на каждом блоке изображения значение дополнения не зависит от реконструированного значения пикселя соседнего блока изображения. На основе блоков изображения с дополненной границей могут быть сгенерированы N текущих блоков.
[136] В варианте осуществления перед определением входного признака для модуля обработки кодирования на основе текущего блока текущее изображение может быть дополнительно разбито на множество базовых блоков, при этом каждый базовый блок включает в себя по меньшей мере один блок изображения, причем для каждого из по меньшей мере одного блока изображения в каждом из множества базовых блоков при выполнении дополнения границы на блоке изображения значение дополнения для блока изображения не зависит от реконструированного значения пикселя другого блока изображения в пределах одного и того же базового блока, и значение дополнения для блока изображения может зависеть от реконструированного значения пикселя блока изображения в другом базовом блоке. На основе блоков изображения с дополненной границей могут быть сгенерированы множество текущих блоков.
[137] Например, вышеуказанный порядок выполнения предназначен только для удобства описания приведенных примеров. В практических применениях порядок выполнения этапов также может быть изменен без ограничения. Кроме того, в других вариантах осуществления этапы соответствующего способа могут быть не обязательно выполнены в порядке, показанном и описанном в описании изобретения, а этапов, включенных в способ, может быть больше или меньше, чем изложено в описании изобретения. Кроме того, один этап, приведенный в описании изобретения, может быть разложен на несколько этапов для описания в других вариантах осуществления. Множество этапов, изложенных в описании, также могут быть объединены в один этап для описания в других вариантах осуществления.
[138] Из вышеприведенных технических решений можно увидеть, что в вариантах осуществления настоящего изобретения из двоичного потока может быть декодирован управляющий параметр для текущего блока, из управляющего параметра может быть получена информация о нейронной сети для модуля обработки декодирования, и на основании информации о нейронной сети может быть сгенерирована нейронная сеть декодирования для модуля обработки декодирования. Таким образом, декодирование изображений может быть реализовано на основе нейронной сети декодирования для улучшения производительности декодирования. Кодирование изображения может быть реализовано на основе нейронной сети кодирования для модуля обработки кодирования, чтобы улучшить производительность кодирования. Чтобы решить такие проблемы, как низкая стабильность, плохая обобщенность и высокая сложность, то есть достичь высокой стабильности, хорошей обобщенности и низкой сложности, можно использовать нейронные сети глубокого обучения (такие как нейронные сети декодирования и нейронные сети кодирования) для кодирования и декодирования изображений и передавать информацию о нейронной сети посредством двоичных потоков, а затем на основании информации о нейронной сети можно генерировать нейронную сеть декодирования для модуля обработки декодирования. Предложена схема динамической корректировки сложности кодирования и декодирования, которая имеет лучшую производительность кодирования и по сравнению со инфраструктурой с одной сетью глубокого обучения. Поскольку каждый текущий блок соответствует управляющему параметру, информация о нейронной сети, полученная из управляющего параметра, является информацией о нейронной сети для текущего блока, и для каждого текущего блока генерируют нейронную сеть декодирования. То есть нейронные сети декодирования для разных текущих блоков могут быть одинаковыми или разными, поэтому нейронная сеть декодирования действует на блочном уровне, то есть нейронная сеть декодирования может быть изменена и скорректирована.
[139] Вариант осуществления 3: в вариантах осуществления настоящего изобретения предложены основанные на нейронной сети способ кодирования изображения и способ декодирования изображения с переменной и регулируемой скоростью кодирования, которые могут достигать высокой параллельности блоков изображений и управляемой и корректируемой скорости кодового потока. На фиг. 5A приведена принципиальная схема способа кодирования изображения и способа декодирования изображения, иллюстрирующая процесс кодирования способа кодирования изображения и процесс декодирования способа декодирования изображения.
[140] Например, в случае способа кодирования изображения, основанного на нейронной сети, процесс кодирования может включать в себя следующие этапы S11-S15.
[141] На этапе S11 модуль разбиения блоков разбивает текущее изображение (т. е. исходное изображение) на N неперекрывающихся блоков изображения (т. е. исходные блоки изображения, которые могут называться исходным блоком 1 изображения, исходным блоком 2 изображения, … и исходным блоком N изображения), где N является положительным целым числом.
[142] На этапе S12 выполняют дополнение границы на каждом исходном блоке изображения для получения блока изображения с дополненной границей, и на основе блоков изображения с дополненной границей генерируют N текущих блоков. То есть дополнение границы выполняют на каждом из N исходных блоков изображения для получения N блоков изображения с дополненной границей, и N блоков изображения с дополненной границей принимают в качестве N текущих блоков.
[143] Например, как показано на фиг. 5B, при выполнении дополнения границы для каждого исходного блока изображения значение дополнения может быть независимым от реконструированного значения пикселя соседнего блока изображения, что обеспечивает независимое параллельное кодирование каждого блока исходного изображения и улучшает производительность кодирования.
[144] На этапе S13 модуль кодирования определяет параметр кодирования для текущего блока на основании информации кодированного блока. Параметр кодирования конфигурируют для управления величиной скорости кодового потока при кодировании (например, шагом квантования и другими параметрами) текущего блока, и ограничений на параметры кодирования нет.
[145] На этапе S14 модуль управления записывает управляющий параметр, который требуется декодирующей стороне и который она не может преобразовать в двоичный поток.
[146] На этапе S15 дополненный блок изображения (т. е. текущий блок) вводят в модуль кодирования, основанный на нейронной сети, и модуль кодирования кодирует текущий блок на основе параметра кодирования и выводит двоичный поток текущего блока. Например, при кодировании текущего блока на основе параметра кодирования модуль кодирования может для кодирования текущего блока использовать нейронную сеть.
[147] Например, в случае способа декодирования изображения, основанного на нейронной сети, процесс декодирования может включать в себя следующие этапы S21-S24.
[148] На этапе S21 декодирующая сторона декодирует из двоичного потока управляющий параметр, который требуется для текущего блока и не может быть получен.
[149] На этапе S22 с помощью модуля декодирования, основанного на нейронной сети, получают соответствующий текущему блоку реконструированный блок изображения на основе управляющего параметра и двоичного потока текущего блока. То есть декодируют текущий блок для получения реконструированного блока изображения, такого как реконструированный блок 1 изображения, соответствующий исходному блоку 1 изображения, реконструированный блок 2 изображения, соответствующий исходному блоку 2 изображения, …, и реконструированный блок N изображения, соответствующий исходному блоку N.
[150] Например, когда модуль декодирования декодирует текущий блок, для декодирования текущего блока может быть использована нейронная сеть.
[151] На этапе S23 на основе управляющего параметра определяют, следует ли выполнять процесс фильтрации для текущего блока. Если да, то модуль объединения фильтрации выполняет процесс фильтрации на основании информации текущего блока и по меньшей мере одного соседнего реконструированного блока изображения для получения отфильтрованных блоков изображения.
[152] На этапе S24 отфильтрованные блоки изображения объединяют для получения реконструированного изображения.
[153] В варианте осуществления при выполнении дополнения границы исходного блока изображения значение дополнения может быть заданным значением дополнения, которое может быть значением по умолчанию (таким как 0 или 1<<(1 - глубина) в соответствии с соглашением о кодировании и декодровании, где глубина указывает битовую глубину, такую как 8, 10, 12 и т. д.), или значение дополнения может быть значением, переданным на декодирующую сторону посредством кодирования синтаксиса высокого уровня, или значение дополнения может быть получено посредством таких операций, как зеркальное отображение или копирование ближайшего соседа на основе пикселей текущего блока. Ограничений на способ получения этого значения дополнения нет.
[154] В варианте осуществления при выполнении дополнения границы на исходном блоке изображения размер расширения дополнением, окружающим блок, может быть значением по умолчанию в соответствии с соглашением о кодировании и декодировании (например, 1, 2, 4 и т. д.), значением, связанным с размером текущего блока, или значением, переданным на декодирующую сторону посредством кодирования синтаксиса высокого уровня. Ограничений на размер расширения дополнением, окружающим блок, нет.
[155] Вариант осуществления 4: в вариантах осуществления настоящего изобретения предложены основанные на нейронной сети способ кодирования изображения и способ декодирования изображения с переменной и регулируемой скоростью кодирования, которые могут достигать высокой параллельности блоков изображения и управляемой и корректируемой скорости кодового потока. Исходя из этого также может быть использована информация (например, реконструированные пиксели соседних блоков) между соседними блоками. На фиг. 5C приведена принципиальная схема способа кодирования изображения и способа декодирования изображения, иллюстрирующая процесс кодирования способа кодирования изображения и процесс декодирования способа декодирования изображения.
[156] Например, в способе кодирования изображения, основанном на нейронной сети, процесс кодирования может включать в себя следующие этапы S31-S35.
[157] На этапе S31 модуль блоков разбивает текущее изображение (т. е. исходное изображение) на множество базовых блоков, причем каждый из базовых блоков включает в себя по меньшей мере один блок изображения. Возьмем в качестве примера M базовых блоков, где M является положительным целым числом, тогда M базовых блоков в целом содержат N неперекрывающихся блоков изображений (т. е. исходных блоков изображений, обозначенных как исходный блок 1 изображения, исходный блок 2 изображения, … и исходный блок N изображения), где N является положительным целым числом.
[158] На этапе S32 на каждом исходном блоке изображения выполняют дополнение границы для получения блока изображения с дополненной границей и на основе блоков изображения с дополненной границей генерируют N текущих блоков. То есть дополнение границы выполняют на каждом из N исходных блоков изображения для получения N блоков изображения с дополненной границей, и N блоков изображения с дополненной границей принимают в качестве N текущих блоков.
[159] Например, для каждого исходного блока изображения при выполнении дополнения границы исходного блока изображения значение дополнения для исходного блока изображения не зависит от реконструированного значения пикселя другого исходного блока изображения в пределах того же базового блока, и значение дополнения для исходного блока изображения может зависеть от реконструированного значения пикселя исходного блока изображения в пределах другого базового блока.
[160] В этом варианте осуществления вводят понятие базовых блоков, как показано на фиг. 5D. Каждый базовый блок содержит по меньшей мере один блок изображения (т. е. исходный блок изображения), и блоки изображения в базовом блоке не ссылаются друг на друга, а могут ссылаться на информацию о реконструкции другого блока изображения, который находится в другом базовом блоке, чем данный блок изображения. Например, как показано на фиг. 5D, для блока 1 изображения блок изображения слева (т. е. соседний блок слева от блока 1 изображения) находится в том же базовом блоке, что и блок 1 изображения. Таким образом, информация о реконструкции этого блока изображения не может быть использована в качестве значения дополнения для блока 1 изображения, и для дополнения этого блока изображения сконфигурировано заданное значение дополнения. Для блока 1 изображения верхний блок изображения (т. е. соседний блок сверху от блока 1 изображения) расположен в другом базовом блоке, чем блок 1 изображения. Следовательно, информация о реконструкции верхнего блока изображения может быть использована в качестве значения дополнения для блока 1 изображения. При использовании информации о реконструкции верхнего блока изображения в качестве значения дополнения для блока 1 изображения может быть использовано значение реконструкции верхнего блока изображения, и также может быть использовано значение реконструкции до фильтрации верхнего блока изображения.
[161] Введение базовых блоков может обеспечить параллелизм (каждый блок изображения в базовом блоке может быть кодирован и декодирован параллельно), а также способствует повышению производительности (за счет использования информации о реконструкции блока изображения в соседнем базовом блоке).
[162] На этапе S33 модуль кодирования определяет параметр кодирования для текущего блока на основании информации кодированного блока. Параметр кодирования конфигурируют для управления величиной скорости кодового потока при кодировании (например, шагом квантования и другими параметрами) текущего блока, и ограничений на параметры кодирования нет.
[163] На этапе S34 модуль управления записывает управляющий параметр, который требуется декодирующей стороне и который она не может преобразовать в двоичный поток.
[164] На этапе S35 дополненный блок изображения (т. е. текущий блок) вводят в модуль кодирования, основанный на нейронной сети, и модуль кодирования кодирует текущий блок на основе параметра кодирования и выводит двоичный поток текущего блока. Например, при кодировании текущего блока на основе параметра кодирования модуль кодирования может для кодирования текущего блока использовать нейронную сеть.
[165] Например, в случае способа декодирования изображения, основанного на нейронной сети, процесс декодирования может включать в себя следующие этапы S21-S24.
[166] На этапе S41 декодирующая сторона декодирует из двоичного потока управляющий параметр, который требуется для текущего блока и не может быть получен.
[167] На этапе S42 с помощью модуля декодирования, основанного на нейронной сети, получают соответствующий текущему блоку реконструированный блок изображения на основе управляющего параметра и двоичного потока текущего блока. То есть декодируют текущий блок для получения реконструированного блока изображения, такого как реконструированный блок 1 изображения, соответствующий исходному блоку 1 изображения, реконструированный блок 2 изображения, соответствующий исходному блоку 2 изображения, …, и реконструированный блок N изображения, соответствующий исходному блоку N.
[168] На этапе S43 на основе управляющего параметра определяют, следует ли выполнять процесс фильтрации для текущего блока. Если да, то модуль объединения фильтрации выполняет процесс фильтрации на основании информации текущего блока и по меньшей мере одного соседнего реконструированного блока изображения для получения отфильтрованных блоков изображения.
[169] На этапе S44 отфильтрованные блоки изображения объединяют для получения реконструированного изображения.
[170] В варианте осуществления при выполнении дополнения границы исходного блока изображения значение дополнения может быть заданным значением дополнения, которое может быть значением по умолчанию (таким как 0 или 1<<(1 - глубина) в соответствии с соглашением о кодировании и декодровании, где глубина указывает битовую глубину, такую как 8, 10, 12 и т. д.), или значение дополнения может быть значением, переданным на декодирующую сторону посредством кодирования синтаксиса высокого уровня, или значение дополнения может быть получено посредством таких операций, как зеркальное отображение или копирование ближайшего соседа на основе пикселей текущего блока. Ограничений на способ получения этого значения дополнения нет.
[171] В варианте осуществления при выполнении дополнения границы на исходном блоке изображения размер расширения дополнением, окружающим блок, может быть значением по умолчанию в соответствии с соглашением о кодировании и декодировании (например, 1, 2, 4 и т. д.), значением, связанным с размером текущего блока, или значением, переданным на декодирующую сторону посредством кодирования синтаксиса высокого уровня. Ограничений на размер расширения дополнением, окружающим блок, нет.
[172] В варианте осуществления количество блоков в базовом блоке может быть значением по умолчанию в соответствии с соглашением о кодировании и декодировании (например, 1, 4, 16 и т. д.), значением, связанным с размером текущего блока, или значением, переданным на декодирующую сторону посредством кодирования синтаксиса высокого уровня. Количество блоков изображений в базовом блоке не ограничено, и его можно выбрать в соответствии с фактическими потребностями.
[173] В варианте осуществления (в вариантах осуществления 3 и 4) процесс разбиения исходного изображения на блоки (этапы S11 и S31) также может быть достигнут путем выполнения преобразования области изображения на исходном изображении и разбиения изображения после преобразования области изображения на блоки. Соответственно, отфильтрованные блоки изображения могут быть объединены в одно изображение, и на изображении может быть выполнено обратное преобразование области изображения, и на основе изображения после обратного преобразования области изображения может быть получено реконструированное изображение, как показано на фиг. 5E. Например, преобразование области изображения может быть выполнено на исходном изображении, причем преобразование области изображения может быть процессом преобразования из изображения области RGB в изображение области YUV (обратное преобразование соответствующей области изображения является процессом обратного преобразования из изображения области YUV в изображение области RGB), или преобразование области изображения может быть процессом, в котором вводится вейвлет-преобразование или преобразование Фурье для создания нового изображения области (обратное преобразование соответствующей области изображения представляет собой процесс обратного вейвлет-преобразования или обратного преобразования Фурье). Процесс преобразования области изображения может быть реализован с использованием нейронных сетей или без использования нейронных сетей, и ограничений на этот процесс нет.
[174] Вариант осуществления 5: в вариантах осуществления настоящего изобретения предложен способ декодирования изображения, основанный на нейронной сети, который может быть применен к декодирующей стороне (также называемый видеодекодером). Как показано на фиг. 6A, которая представляет собой принципиальную схему структуры декодирующей стороны, декодирующая сторона может включать в себя модуль декодирования управляющего параметра, первый модуль декодирования признака, второй модуль декодирования признака, модуль генерирования признака гиперпараметра коэффициента, модуль обратного преобразования признака изображения, первый модуль обратного квантования, второй модуль обратного квантования и модуль повышения качества. Первый модуль обратного квантования, второй модуль обратного квантования и модуль повышения качества являются необязательными модулями, и в некоторых сценариях может быть выбран процесс, в котором эти необязательные модули выключены или пропущены.
[175] В этом варианте осуществления для каждого текущего блока (т. е. блока изображения) соответствующий двоичный поток включает в себя три части: двоичный поток 0 (содержащий управляющий параметр), двоичный поток 1 (содержащий информацию о признаке гиперпараметра коэффициента) и двоичный поток 2 (содержащий информацию о признаке изображения). Информация о признаке гиперпараметра коэффициента и информация о признаке изображения могут вместе называться информацией об изображении.
[176] Например, способ декодирования изображения, основанный на нейронной сети, в этом варианте осуществления может включать в себя следующие этапы S51-S58.
[177] На этапе S51 декодируют двоичный поток 0 для текущего блока, чтобы получить управляющий параметр для текущего блока. Например, модуль декодирования управляющего параметра может декодировать двоичный поток 0 для текущего блока и получать управляющий параметр для текущего блока. То есть модуль декодирования управляющего параметра может декодировать управляющий параметр из двоичного потока 0. Управляющий параметр может включать в себя управляющий параметр для первого модуля обратного квантования, управляющий параметр для второго модуля обратного квантования, управляющий параметр для модуля генерирования признака гиперпараметра коэффициента, управляющий параметр для модуля обратного преобразования признака изображения и управляющий параметр для модуля повышения качества. Для понимания содержания управляющих параметров можно обратиться к последующим вариантам осуществления, которые не будут повторяться здесь.
[178] На этапе S52 декодируют двоичный поток 1 для текущего блока, чтобы получить информацию о признаке гиперпараметра коэффициента для текущего блока. Например, первый модуль декодирования признака может декодировать двоичный поток 1 для текущего блока, чтобы получить информацию о признаке гиперпараметра коэффициента для текущего блока, то есть первый модуль декодирования признака может декодировать информацию о признаке гиперпараметра коэффициента из двоичного потока 1.
[179] На этапе S53 определяют реконструированное значение коэффициента признака гиперпараметра коэффициента на основании информации признака гиперпараметра коэффициента.
[180] Например, если управляющий параметр включает в себя первую информацию о разрешении на использование для первого модуля обратного квантования, первая информация о разрешении на использование может указывать на разрешение на использование первого модуля обратного квантования (т. е, на разрешение на использование первого модуля обратного квантования для выполнения первого обратного квантования), или первая информация о разрешении на использование может указывать на запрет на использование первого модуля обратного квантования. Например, первая информация о разрешении на использование, являющаяся первым значением, указывает на разрешение на использование первого модуля обратного квантования, а первая информация о разрешении на использование, являющаяся вторым значением, указывает на запрет на использование первого модуля обратного квантования.
[181] Например, когда первая информация о разрешении на использование представляет собой разрешение на использование первого модуля обратного квантования, информация о признаке гиперпараметра коэффициента может быть квантованным значением C_q коэффициента признака гиперпараметра коэффициента, и первый модуль обратного квантования может выполнять обратное квантование квантованного значения C_q коэффициента признака гиперпараметра коэффициента для получения реконструированного значения C' коэффициента признака гиперпараметра коэффициента. Когда первая информация о разрешении на использование указывает на то, что использование первого модуля обратного квантования не разрешено, информация о признаке гиперпараметра коэффициента может быть реконструированным значением C' коэффициента признака гиперпараметра коэффициента, то есть реконструированное значение C' коэффициента признака гиперпараметра коэффициента декодируют непосредственно из двоичного потока 1.
[182] На этапе S54 осуществляют обратное преобразование реконструированного значения C' коэффициента признака гиперпараметра коэффициента, чтобы получить значение P признака гиперпараметра коэффициента. Например, модуль генерирования признака гиперпараметра коэффициента выполняет обратное преобразование реконструированного значения C' коэффициента признака гиперпараметра коэффициента, чтобы получить значение P признака гиперпараметра коэффициента. Например, модуль генерирования признака гиперпараметра коэффициента выполняет обратное преобразование реконструированного значения C' коэффициента признака гиперпараметра коэффициента на основе нейронной сети декодирования, чтобы получить значение P признака гиперпараметра коэффициента.
[183] В варианте осуществления модуль генерирования признака гиперпараметра коэффициента может получать информацию 1 о нейронной сети, соответствующую модулю генерирования признака гиперпараметра коэффициента, из управляющих параметров и генерировать нейронную сеть 1 декодирования, соответствующую модулю генерирования признака гиперпараметра коэффициента, на основании информации 1 о нейронной сети.
[184] Кроме того, модуль генерирования признака гиперпараметра коэффициента может определять входной признак (такой, как реконструированное значение C' коэффициента признака гиперпараметра коэффициента) для блока генерирования признака гиперпараметра коэффициента и обрабатывать входной признак на основе нейронной сети 1 декодирования (например, выполнять обратное преобразование на реконструированном значении C' коэффициента признака гиперпараметра коэффициента) для получения выходного признака (такого, как значение P признака гиперпараметра коэффициента) для модуля генерирования признака гиперпараметра коэффициента.
[185] Например, информация 1 о нейронной сети может включать в себя информацию о базовом слое и информацию об улучшающем слое Модуль генерирования признака гиперпараметра коэффициента может определять базовый слой для модуля генерирования признака гиперпараметра коэффициента на основании информации о базовом слое и определять улучшающий слой для модуля генерирования признака гиперпараметра коэффициента на основании информации об улучшающем слое. Модуль генерирования признака гиперпараметра коэффициента может генерировать нейронную сеть 1 декодирования для модуля генерирования признака гиперпараметра коэффициента на основе базового слоя и улучшающего слоя. Например, базовый слой и улучшающий слой могут быть объединены для получения нейронной сети 1 декодирования.
[186] После получения нейронной сети 1 декодирования модуль генерирования признака гиперпараметра коэффициента может выполнить обратное преобразование на реконструированном значении C' коэффициента признака гиперпараметра коэффициента посредством нейронной сети 1 декодирования, чтобы получить значение P признака гиперпараметра коэффициента. Ограничений в отношении процесса обратного преобразования нет.
[187] На этапе S55 декодируют двоичный поток 2, соответствующий текущему блоку, чтобы получить информацию о признаке изображения для текущего блока. Например, второй модуль декодирования признака может декодировать двоичный поток 2, соответствующий текущему блоку, чтобы получить информацию о признаке изображения для текущего блока, то есть второй модуль декодирования признака может декодировать информацию о признаке изображения из двоичного потока 2. При декодировании двоичного потока 2, соответствующего текущему блоку, второй модуль декодирования признака может использовать значение P признака гиперпараметра коэффициента для декодирования двоичного потока 2, соответствующего текущему блоку, при этом ограничений на процесс декодирования нет.
[188] На этапе S56 определяют реконструированное значение признака изображения на основании информации о признаке изображения.
[189] Например, если управляющий параметр включает в себя вторую информацию о разрешении на использование для второго модуля обратного квантования, вторая информация о разрешении на использование может указывать на разрешение на использование второго модуля обратного квантования (т. е, на разрешение использования второго модуля обратного квантования для выполнения второго обратного квантования), или вторая информация о разрешении на использование может указывать на запрет на использование второго модуля обратного квантования. Например, вторая информация о разрешении на использование, являющаяся первым значением, указывает на разрешение на использование второго модуля обратного квантования, а вторая информация о разрешении на использование, являющаяся вторым значением, указывает на запрет на использование второго модуля обратного квантования.
[190] Например, если вторая информация о разрешении на использование представляет собой разрешение на использование второго модуля обратного квантования, информация о признаке изображения может быть квантованным значением F_q признака изображения, а второй модуль обратного квантования может получать квантованное значение F_q признака изображения и выполнять обратное квантование на квантованном значении F_q признака изображения для получения реконструированного значения F' признака изображения. Когда вторая информация о разрешении на использование указывает на то, что использование второго модуля обратного квантования не разрешено, информация о признаке изображения может быть реконструированным значением F' признака изображения, то есть реконструированное значение F' признака изображения непосредственно декодируют из двоичного потока 2.
[191] На этапе S57 выполняют обратное преобразование реконструированного значения F' признака изображения, чтобы получить значение LF признака низкого порядка изображения. Например, модуль обратного преобразования признака изображения выполняет обратное преобразование реконструированного значения F' признака изображения, чтобы получить значения LF признака низкого порядка изображения. Например, для получения значения LF признака низкого порядка изображения выполняют обратное преобразование реконструированного значения F' признака изображения на основе нейронной сети декодирования.
[192] В варианте осуществления модуль обратного преобразования признака изображения может получать информацию 2 о нейронной сети, соответствующую модулю обратного преобразования признака изображения, из управляющего параметра и генерировать нейронную сеть 2 декодирования, соответствующую модулю обратного преобразования признака изображения, на основании информации 2 о нейронной сети. Модуль обратного преобразования признака изображения может определять входной признак (такой, как реконструированное значение F' признака изображения) для модуля обратного преобразования признака изображения и на основе нейронной сети 2 декодирования обрабатывать входной признак (например, выполнять обратное преобразование реконструированного значения F' признака изображения), чтобы получить выходной признака(такой, как значение LF признака низкого порядка изображения) для модуля обратного преобразования признака изображения.
[193] Например, информация 2 о нейронной сети может включать в себя информацию о базовом слое и информацию об улучшающем слое Модуль обратного преобразования признака изображения может определять базовый слой для модуля обратного преобразования признака изображения на основании информации о базовом слое и определять улучшающий слой для модуля обратного преобразования признака изображения на основании информации об улучшающем слое. Модуль обратного преобразования признака изображения может генерировать нейронную сеть 2 декодирования для модуля обратного преобразования признака изображения на основе базового слоя и улучшающего слоя. Например, базовый слой и улучшающий слой могут быть объединены для получения нейронной сети 2 декодирования.
[194] После получения нейронной сети 2 декодирования модуль обратного преобразования признака изображения может выполнять обратное преобразование на реконструированном значении F' признака изображения посредством нейронной сети 2 декодирования, чтобы получить значение LF признака низкого порядка изображения, и ограничений на процесс обратного преобразования нет.
[195] На этапе S58 определяют реконструированный блок I изображения для текущего блока на основе значения LF признака низкого порядка изображения.
[196] Например, когда управляющий параметр включает в себя третью информацию о разрешении на использование для модуля повышения качества, третья информация о разрешении на использование может представлять собой разрешение на использование блока повышения качества (т. е. разрешение модулю повышения качества выполнять повышение качества), или третья информация о разрешении на использование может представлять собой информацию о запрете на использование для блока повышения качества. Например, третья информация о разрешении на использование, являющаяся первым значением, представляет собой разрешение на использование модуля повышения качества, а третья информация о разрешении на использование, являющаяся вторым значением, представляет собой запрет на использование блока повышения качества.
[197] Например, когда третья информация о разрешении на использование представляет собой разрешение на использование модуля повышения качества, модуль повышения качества получает значение LF признака низкого порядка изображения, выполняет обработку улучшения значения LF признака низкого порядка изображения для получения реконструированного блока I изображения, соответствующего текущему блоку. Если третья информация о разрешении на использование указывает на то, что использование модуля повышения качества не разрешено, значение LF признака низкого порядка изображения принимают в качестве реконструированного блока I изображения, соответствующего текущему блоку.
[198] Например, когда модуль повышения качества выполняет улучшение значения LF признака низкого порядка изображения, модуль повышения качества может использовать нейронную сеть декодирования для улучшения значения LF признака низкого порядка изображения для получения реконструированного блока I изображения, соответствующего текущему блоку.
[199] В варианте осуществления модуль повышения качества может получать информацию 3 о нейронной сети для модуля повышения качества из управляющего параметра и на основании информации 3 о нейронной сети формировать нейронную сеть 3 декодирования для модуля повышения качества.
[200] Модуль повышения качества может определять входной признак (такой, как значение LF признака низкого порядка изображения) для модуля повышения качества и обрабатывать входной признак на основе нейронной сети 3 декодирования (например, улучшать значения LF признака низкого порядка изображения), чтобы получить выходной признак (такой, как реконструированный блок I изображения, соответствующий текущему блоку) для модуля повышения качества.
[201] Например, информация 3 о нейронной сети может включать в себя информацию о базовом слое и информацию об улучшающем слое. Модуль повышения качества может определять базовый слой для модуля повышения качества на основании информации о базовом слое и определять улучшающий слой для модуля повышения качества на основании информации об улучшающем слое. Модуль повышения качества может генерировать нейронную сеть 3 декодирования для модуля повышения качества на основе базового слоя и улучшающего слоя. Например, базовый слой и улучшающий слой могут быть объединены для получения нейронной сети 3 декодирования.
[202] После получения нейронной сети 3 декодирования модуль повышения качества может улучшать значения LF признаков низкого порядка изображения посредством нейронной сети 3 декодирования для получения реконструированного блока I изображения, соответствующего текущему блоку. Ограничений на это процесс улучшения нет.
[203] Вариант осуществления 6: в вариантах осуществления настоящего изобретения предложен способ декодирования изображения, основанный на нейронной сети, который может быть применен к декодирующей стороне. Как показано на фиг. 6B, которая представляет собой принципиальную схему структуры декодирующей стороны, декодирующая сторона может включать в себя модуль декодирования управляющего параметра, первый модуль декодирования признака, второй модуль декодирования признака, модуль генерирования признака гиперпараметра коэффициента и модуль обратного преобразования признака изображения. В этом варианте осуществления для каждого текущего блока (т. е. блока изображения) соответствующий двоичный поток включает в себя три части: двоичный поток 0 (содержащий управляющий параметр), двоичный поток 1 (содержащий информацию о признаке гиперпараметра коэффициента) и двоичный поток 2 (содержащий информацию о признаке изображения).
[204] Например, способ декодирования изображения, основанный на нейронной сети, в этом варианте осуществления может включать в себя следующие этапы S61-S66.
[205] На этапе S61 модуль декодирования управляющего параметра декодирует двоичный поток 0 для текущего блока, чтобы получить управляющий параметр для текущего блока.
[206] На этапе S62 первый модуль декодирования признака декодирует двоичный поток 1 для текущего блока, чтобы получить информацию о признаке гиперпараметра коэффициента для текущего блока. Информация о признаке гиперпараметра коэффициента может быть реконструированным значением C' коэффициента признака гиперпараметра коэффициента.
[207] На этапе S63 модуль генерирования признака гиперпараметра коэффициента выполняет обратное преобразование реконструированного значения C' коэффициента признака гиперпараметра коэффициента, чтобы получить значение P признака гиперпараметра коэффициента. Например, на основе нейронной сети декодирования выполняют обратное преобразование реконструированного значения C' коэффициента признака гиперпараметра коэффициента, чтобы получить значение P признака гиперпараметра коэффициента.
[208] На этапе S64 второй модуль декодирования признака декодирует двоичный поток 2, соответствующий текущему блоку, чтобы получить информацию о признаке изображения для текущего блока, причем информация о признаке изображения может представлять собой реконструированное значение F' признака изображения. Например, второй модуль декодирования признака может получать значение P признака гиперпараметра коэффициента и с помощью значения P признака гиперпараметра коэффициента декодировать двоичный поток 2, соответствующий текущему блоку, чтобы получить реконструированное значение F' признака изображения.
[209] На этапе S65 модуль обратного преобразования признака изображения выполняет обратное преобразование реконструированного значения F' признака изображения, чтобы получить значения LF признака низкого порядка изображения. Например, для получения значения LF признака низкого порядка изображения выполняют обратное преобразование реконструированного значения F' признака изображения на основе нейронной сети декодирования.
[210] На этапе S66 определяют реконструированный блок I изображения для текущего блока на основе значения LF признака низкого порядка изображения.
[211] Например, значение LF признака низкого порядка изображения может быть непосредственно использовано в качестве реконструированного блока I изображения. В качестве альтернативы, когда устройство декодирования дополнительно включает в себя модуль повышения качества, модуль повышения качества улучшает значение LF признаков низкого порядка изображения для получения реконструированного блока I изображения, соответствующего текущему блоку. Например, чтобы получить реконструированный блок I изображения, значения LF признаков низкого порядка изображения улучшают на основе нейронной сети декодирования.
[212] Вариант осуществления 7: как и в вариантах осуществления 5 и 6, первый модуль декодирования признака может декодировать двоичный поток 1 для текущего блока, чтобы получить информацию о признаке гиперпараметра коэффициента для текущего блока. Например, первый модуль декодирования признака включает в себя по меньшей мере один модуль декодирования коэффициента. В варианте осуществления модуль декодирования коэффициента может использовать способ энтропийного декодирования для декодирования коэффициентов, то есть использовать способ энтропийного декодирования для декодирования двоичного потока 1, соответствующего текущему блоку, чтобы получить информацию о признаке гиперпараметра коэффициента для текущего блока.
[213] Например, способ энтропийного декодирования может включать, без ограничений, контекстно-адаптивное кодирование переменной длины (CAVLC) или контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и т. д., что не ограничивается в настоящем изобретении.
[214] Например, при использовании способа энтропийного декодирования для декодирования коэффициентов вероятностная модель энтропийного декодирования может использовать заданную вероятностную модель, которая может быть сконфигурирована в соответствии с фактическими потребностями, и ограничений на заданную вероятностную модель нет. Например, на основе заданной вероятностной модели модуль декодирования коэффициента может для декодирования коэффициентов использовать метод энтропийного декодирования.
[215] Вариант осуществления 8: как и в варианте осуществления 5, первый модуль обратного квантования может выполнять обратное квантование на квантованном значении C_q (т. е. информации о признаке гиперпараметра коэффициента) коэффициента признака гиперпараметра коэффициента, чтобы получить реконструированное значение C' коэффициента признака гиперпараметра коэффициента. Например, первый модуль обратного квантования может отсутствовать, или если первый модуль обратного квантования присутствует, первый модуль обратного квантования может быть выборочно пропущен на основе управляющего параметра (такого, как синтаксис высокого уровня, первая информация о разрешении на использование и т. д.), или его использованием может быть разрешено на основании управляющего параметра.
[216] Например, если первый модуль обратного квантования отсутствует, реконструированное значение C' коэффициента признака гиперпараметра коэффициента совпадает с квантованным значением C_q коэффициента признака гиперпараметра коэффициента, то есть необходимости в обратном квантовании квантованного значения C_q коэффициента признака гиперпараметра коэффициента нет. Если первый модуль обратного квантования выборочно пропущен на основании управляющего параметра, реконструированное значение C' коэффициента признака гиперпараметра коэффициента совпадает с квантованным значением C_q коэффициента признака гиперпараметра коэффициента, то есть необходимости в обратном квантовании квантованного значения C_q коэффициента признака гиперпараметра коэффициента нет. Если использование первого модуля обратного квантования разрешено на основе управляющего параметра, но параметр шага qstep для квантованного значения C_q коэффициента признака гиперпараметра коэффициента равен 1, реконструированное значение C' коэффициента признака гиперпараметра коэффициента совпадает с квантованным значением C_q коэффициента признака гиперпараметра коэффициента, то есть необходимости в обратном квантовании квантованного значения C_q коэффициента признака гиперпараметра коэффициента нет.
[217] Например, если определено, что использование первого модуля обратного квантования разрешено на основе управляющего параметра, и параметр шага qstep, соответствующий квантованному значению C_q коэффициента признака гиперпараметра коэффициента, не равен 1, первый модуль обратного квантования может выполнять обратное квантование квантованного значения C_q коэффициента признака гиперпараметра коэффициента на основе управляющего параметра (такого, как параметр, связанный с квантованием), чтобы получить реконструированное значение C' коэффициента признака гиперпараметра коэффициента. Например, первый модуль обратного квантования выполняет следующую операцию: получение связанного с квантованием параметра (двоичный поток включает в себя управляющий параметр, а управляющий параметр может включать в себя параметр, связанный с квантованием), соответствующего квантованному значению C_q коэффициента признака гиперпараметра коэффициента, из управляющего параметра, такого как параметр шага qstep или параметр квантования qp. На основе параметра шага qstep или параметра квантования qp определяют коэффициент умножения (mult) и коэффициент сдвига (shift), соответствующие квантованному значению C_q коэффициента признака гиперпараметра коэффициента. Пусть Coff_hyper - это квантованное значение C_q коэффициента признака гиперпараметра коэффициента, а Coff_hyper-rec - это реконструированное значение C' коэффициента признака гиперпараметра коэффициента, тогда Coff_hyper-rec = (Coff_hyper * mult)<<shift. Поэтому при выполнении обратного квантования C_q на квантованном значении коэффициента признака гиперпараметра коэффициента приведенная выше формула может быть использована для получения реконструированного значения C' коэффициента признака гиперпараметра коэффициента.
[218] Следует отметить, что использование связанного с квантованием параметра (такого, как параметр шага qstep), соответствующего квантованному значению C_q коэффициента признака гиперпараметра коэффициента, может включать: 1) использование одного и того же параметра шага qstep для квантованного значения каждого коэффициента признака гиперпараметра коэффициента каждого канала признака; 2) использование различных параметров шага qstep для квантованного значения коэффициента признака гиперпараметра коэффициента каждого канала признака, но использование одного и того же параметра шага qstep для квантованного значения коэффициента признака гиперпараметра коэффициента в пределах канала признака; или 3) использование различных параметров шага qstep для квантованного значения каждого коэффициента признака гиперпараметра коэффициента в каждом канале признака. В вышеуказанном процессе параметр шага qstep также может упоминаться как шаг квантования.
[219] Вариант 9: как и в вариантах осуществления 5 и 6, блок генерирования признака гиперпараметра коэффициента может выполнять обратное преобразование на реконструированном значении C' коэффициента признака гиперпараметра коэффициента на основе нейронной сети декодирования, чтобы получить значение P признака гиперпараметра коэффициента. В варианте осуществления, как показано на фиг. 6C, блок генерирования признака гиперпараметра коэффициента может включать в себя нейронную сеть 1 декодирования, причем нейронная сеть 1 декодирования может включать в себя базовый слой и улучшающий слой. В качестве входного признака нейронной сети 1 декодирования используют реконструированное значение C' коэффициента признака гиперпараметра коэффициента, а в качестве выходного признака нейронной сети 1 декодирования используют значение P признака гиперпараметра коэффициента. Нейронная сеть 1 декодирования выполнена с возможностью осуществления обратного преобразования на реконструированном значении C' коэффициента признака гиперпараметра коэффициента.
[220] В этом варианте осуществления нейронная сеть 1 декодирования разделена на базовый слой и улучшающий слой. Базовый слой может включать в себя по меньшей мере один слой сети, или базовый слой может не содержать слоя сети, то есть базовый слой может быть пустым. Улучшающий слой может содержать по меньшей мере один слой сети, или улучшающий слой может не содержать слоя сети, то есть улучшающий слой может быть пустым. Следует отметить, что множество слоев сети в нейронной сети 1 декодирования могут быть разбиты на базовые слои и улучшающие слои в соответствии с фактическими потребностями. Например, первые M1 слоев сети могут быть использованы в качестве базовых слоев, а остальные слои сети могут быть использованы в качестве улучшающих слоев, или первые M2 слоев сети могут быть использованы в качестве улучшающих слоев, а остальные слои сети могут быть использованы в качестве базовых слоев, или последние M3 слоя сети могут быть использованы в качестве базовых слоев, а остальные слои сети могут быть использованы в качестве улучшающий слоев, или последние M4 слоя сети могут быть использованы в качестве улучшающий слоев, а остальные слои сети могут быть использованы в качестве базовых слоев, или слои сети с нечетными номерами могут быть использованы в качестве базовых слоев, а остальные слои сети могут быть использованы в качестве улучшающих слоев, или слои сети с четными номерами могут быть использованы в качестве базовых слоев, а остальные слои сети могут быть использованы в качестве улучшающих слоев. Вышеприведенное является лишь несколькими примерами, и ограничений на способ разбиения нет.
[221] Например, в качестве базового слоя может быть использован слой сети с фиксированной структурой сети, а в качестве улучшающего слоя слой может быть использован сети с нефиксированной структурой сети. Например, если при декодировании нескольких блоков изображения в нейронной сети 1 декодирования конкретный слой сети использует одну и ту же сетевую структуру, то этот слой сети используется в качестве слоя сети с фиксированной сетевой структурой и базового слоя. Например, если при декодировании нескольких блоков изображения в нейронной сети 1 декодирования конкретный слой сети использует разные сетевые структуры, то этот слой сети используется в качестве слоя сети с нефиксированной сетевой структурой и улучшающего слоя.
[222] Например, размер выходного признака нейронной сети 1 декодирования может быть больше размера входного признака, или размер выходного признака может быть равен размеру входного признака, или размер выходного признака может быть меньше размера входного признака.
[223] В нейронной сети 1 декодирования базовый слой и улучшающий слой включают в себя по меньшей мере один слой обратной свертки. Например, базовый слой может содержать по меньшей мере один слой обратной свертки, а улучшающий слой может содержать по меньшей мере один слой обратной свертки или не содержать ни одного слоя обратной свертки. В качестве альтернативы улучшающий слой может содержать по меньшей мере один слой обратной свертки, а базовый слой может содержать по меньшей мере один слой обратной свертки или не содержать ни одного слоя обратной свертки.
[224] Например, нейронная сеть 1 декодирования может содержат, без ограничений, слои обратной свертки, слои активации и т. д., что не ограничивается настоящим изобретением. Например, нейронная сеть 1 декодирования последовательно включает в себя один слой обратной свертки с шагом 2, один слой активации, один слой обратной свертки с шагом 1 и один слой активации. Все вышеперечисленные слои сети могут быть использованы в качестве базовых слоев, то есть базовые слои включают в себя один слой обратной свертки с шагом 2, один активирующий слой, один слой обратной свертки с шагом 1 и один слой активации. В этом случае улучшающий слой является пустым. Разумеется, некоторые слои сети также могут быть использованы в качестве улучшающих слоев, и ограничений на этот счет нет. Например, нейронная сеть 1 декодирования последовательно включает в себя один слой обратной свертки с шагом 2 и один слой обратной свертки с шагом 1. Все вышеперечисленные сетевые слои могут быть использованы в качестве базовых слоев, то есть базовые слои включают один слой обратной свертки с шагом 2 и один слой обратной свертки с шагом 1. В этом случае улучшающий слой является пустым. Разумеется, некоторые слои сети также могут быть использованы в качестве улучшающих слоев, и ограничений на этот счет нет. Например, нейронная сеть 1 декодирования последовательно включает в себя один слой обратной свертки с шагом 2, один слой активации, один слой обратной свертки с шагом 2, один слой активации, один слой обратной свертки с шагом 1 и один слой активации. Все вышеперечисленные слои сети могут быть использованы в качестве базовых слоев, то есть базовые слои включают в себя один слой обратной свертки с шагом 2, один слой активации, один слой обратной свертки с шагом 2, один слой активации, один слой обратной свертки с шагом 1 и один слой активации. В этом случае улучшающий слой является пустым. Разумеется, некоторые слои сети также могут быть использованы в качестве улучшающих слоев, и ограничений на этот счет нет. Вышеприведенное является лишь несколькими примерами, и ограничений на этот счет нет.
[225] В варианте осуществления блок генерирования признака гиперпараметра коэффициента может быть выполнен со слоем сети сетевой структуры по умолчанию (слой сети сетевой структуры по умолчанию может состоять по меньшей мере из одного слоя сети), а сетевые параметры, относящиеся к слою сети сетевой структуры по умолчанию, являются фиксированными. Например, сетевой параметр может включать, без ограничений, по меньшей мере одно из следующего: количество слоев нейронной сети, флаг слоя обратной развертки, количество слоев обратной развертки, шаг квантования для каждого слоя обратной развертки, количество каналов для каждого слоя обратной свертки, размер ядра сверки, количество фильтров, индекс размера фильтра, флаг, указывающий, равен ли коэффициент фильтра нулю или нет, коэффициент фильтра, количество слоев активации, флаг слоя активации или тип слоя активации. Иными словами, вышеуказанные сетевые параметры являются фиксированными. Например, в слоях сети сетевой структуры по умолчанию количество слоев обратной свертки фиксировано, количество слоев активации фиксировано, количество каналов в каждом слое обратной свертки фиксировано, размер ядра сверки фиксирован, коэффициент фильтрации фиксирован. Например, количество каналов в слое обратной свертки составляет 4, 8, 16, 32, 64, 128 или 256, а размер ядра сверки составляет 1×1, 3×3 или 5×5. Поскольку сетевые параметры в слоях сети сетевой структуры по умолчанию фиксированы и известны, слои сети сетевой структуры по умолчанию можно получать непосредственно.
[226] В варианте осуществления для модуля генерирования признака гиперпараметра коэффициента может быть сконфигурирован пул предварительно разработанных нейронных сетей. Пул предварительно разработанных нейронных сетей может включать в себя слои сети по меньшей мере одной предварительно разработанной сетевой структуры (слой сети предварительно разработанной сетевой структуры может состоять по меньшей мере из одного слоя сети), а сетевой параметр, относящийся к слою сети предварительно разработанной сетевой структуры, может быть сконфигурирован в соответствии с фактическими потребностями. Например, сетевой параметр может включать, без ограничений, по меньшей мере одно из следующего: количество слоев нейронной сети, флаг слоя обратной развертки, количество слоев обратной развертки, шаг квантования для каждого слоя обратной развертки, количество каналов для каждого слоя обратной свертки, размер ядра сверки, количество фильтров, индекс размера фильтра, флаг, указывающий, равен ли коэффициент фильтра нулю или нет, коэффициент фильтра, количество слоев активации, флаг слоя активации или тип слоя активации. То есть вышеуказанные сетевые параметры могут быть сконфигурированы в соответствии с фактическими потребностями.
[227] Например, пул предварительно разработанных нейронных сетей может включать в себя слои сети предварительно разработанной сетевой структуры s1, слои сети предварительно разработанной сетевой структуры s2 и слои сети предварительно разработанной сетевой структуры s3. При этом для слоев сети предварительно разработанной сетевой структуры s1 могут быть предварительно сконфигурированы количество слоев обратной свертки, количество слоев активации, количество каналов в каждом слое обратной свертки, размер ядра сверки, коэффициенты фильтрации и другие параметры сети. После того, как все сетевые параметры сконфигурированы, могут быть получены слои сети предварительно разработанной сетевой структуры s1. Слои сети предварительно разработанной сетевой структуры s2 и предварительно разработанной сетевой структуры s3 могут быть получены аналогичным способом, который не будет повторно излагаться здесь.
[228] В варианте осуществления для модуля генерирования признака гиперпараметра коэффициента может быть динамически сгенерирован слой сети с переменной структурой сети (которая может состоять по меньшей мере из одного слоя сети) на основе сетевых параметров. Сетевые параметры, относящиеся к слою сети с переменной структурой сети, динамически генерируются кодирующей стороной, а не сконфигурированы предварительно. Например, кодирующая сторона может передавать сетевые параметры для блока генерирования гиперпараметра коэффициента на декодирующую сторону. Сетевой параметр может включать, без ограничений, по меньшей мере одно из следующего: количество слоев нейронной сети, флаг слоя обратной развертки, количество слоев обратной развертки, шаг квантования для каждого слоя обратной развертки, количество каналов для каждого слоя обратной свертки, размер ядра сверки, количество фильтров, индекс размера фильтра, флаг, указывающий, равен ли коэффициент фильтра нулю или нет, коэффициент фильтра, количество слоев активации, флаг слоя активации или тип слоя активации. Декодирующая сторона динамически генерирует слои сети с переменными сетевыми структурами на основе вышеуказанных сетевых параметров. Например, кодирующая сторона кодирует сетевые параметры, такие как количество слоев обратной свертки, количество слоев активации, количество каналов в каждом слое обратной свертки, размер ядра сверки и коэффициенты фильтрации, в двоичном потоке. Декодирующая сторона проводит синтаксический анализ вышеуказанных сетевых параметров из двоичного потока и генерирует слои сети с переменными сетевыми структурами на основе этих сетевых параметров. На процесс генерирования ограничений нет.
[229] В варианте осуществления нейронная сеть 1 декодирования может быть разделена на базовый слой и улучшающий слой. Базовый слой и улучшающий слой могут быть скомбинированы следующими, без исключений, способами. Способ 1: в качестве базового слоя используют слой сети со структурой сети по умолчанию, в качестве улучшающего слоя используют слой сети со структурой сети по умолчанию, а базовые слой и улучшающий слой образуют нейронную сеть 1 декодирования. Способ 2: в качестве базового слоя используют слой сети сетевой структуры по умолчанию, в качестве улучшающего слоя используют слой сети предварительной разработанной сетевой структуры, а базовые слой и улучшающий слой образуют нейронную сеть 1 декодирования. Способ 3: в качестве базового слоя используют слой сети сетевой структуры по умолчанию, в качестве улучшающего слоя используют слой сети с переменной сетевой структурой, а базовые слой и улучшающий слой образуют нейронную сеть 1 декодирования. Способ 4: в качестве базового слоя используют слой сети с предварительно разработанной сетевой структурой, в качестве улучшающего слоя используют слой сети сетевой структуры по умолчанию, а базовые слой и улучшающий слой образуют нейронную сеть 1 декодирования. Способ 5: в качестве базового слоя используют слой сети с предварительно разработанной сетевой структурой, в качестве улучшающего слоя используют слой сети с предварительно разработанной сетевой структурой, а базовые слой и улучшающий слой образуют нейронную сеть 1 декодирования. Способ 6: в качестве базового слоя используют слой сети с предварительно разработанной сетевой структурой, в качестве улучшающего слоя используют слой сети с переменной сетевой структурой, а базовые слой и улучшающий слой образуют нейронную сеть 1 декодирования.
[230] В варианте осуществления управляющие параметры могут включать в себя информацию 1 о нейронной сети для модуля генерирования признака гиперпараметра коэффициента, причем модуль генерирования признака гиперпараметра коэффициента может выполнять синтаксический анализ информации 1 о нейронной сети из управляющих параметров и на основании информации 1 о нейронной сети генерировать нейронную сеть 1 декодирования. Например, информация 1 о нейронной сети может включать в себя информацию о базовом слое и информацию об улучшающем слое Базовый слой может быть определен на основе этой информации о базовом слое, а улучшающий слой может быть определен на основе этой информации об улучшающем слое. Базовый слой и улучшающий слой могут быть объединены для получения нейронной сети 1 декодирования. Например, информация 1 о нейронной сети для модуля генерирования признака гиперпараметра коэффициента, может быть получена с использованием следующих сценариев 1-6.
[231] Сценарий 1: информация о базовом слое включает в себя флаг использования в качестве базового слоя сети по умолчанию, и флаг использования в качестве базового слоя сети по умолчанию указывает на использование в качестве базового слоя сети по умолчанию. В этом сценарии модуль генерирования признака гиперпараметра коэффициента на основании информации о базовом слое определяет, что в качестве базового слоя используют слой сети сетевой структуры по умолчанию, и поэтому получает базовый слой сетевой структуры по умолчанию (т. е. слой сети сетевой структуры по умолчанию). Информация об улучшающем слое включает в себя флаг использования в качестве улучшающего слоя сети по умолчанию, и флаг использования в качестве улучшающего слоя сети по умолчанию указывает на использование в качестве улучшающего слоя сети по умолчанию. В этом случае модуль генерирования признака гиперпараметра коэффициента на основании информации об улучшающем слое определяет, что в качестве улучшающего слоя используют слой сети сетевой структуры по умолчанию, и поэтому получает улучшающий слой сетевой структуры по умолчанию (т. е. слой сети сетевой структуры по умолчанию). Исходя из этого для получения нейронной сети 1 декодирования могут быть объединены базовый слой сетевой структуры по умолчанию и улучшающий слой сетевой структуры по умолчанию.
[232] Сценарий 2: информация о базовом слое включает в себя флаг использования в качестве базового слоя сети по умолчанию, и флаг использования в качестве базового слоя сети по умолчанию указывает на использование в качестве базового слоя сети по умолчанию. В этом сценарии модуль генерирования признака гиперпараметра коэффициента на основании информации о базовом слое определяет, что в качестве базового слоя используют слой сети сетевой структуры по умолчанию, и поэтому получает базовый слой сетевой структуры по умолчанию (т. е. слой сети сетевой структуры по умолчанию). Информация об улучшающем слое включает в себя флаг использования в качестве улучшающего слоя предварительной разработанной сети и индекс предварительно разработанной сети улучшающего слоя, причем флаг использования в качестве улучшающего слоя предварительно разработанной сети указывает на использование в качестве улучшающего слоя предварительно разработанной сети. В этом случае модуль генерирования признака гиперпараметра коэффициента на основании информации об улучшающем слое определяет, что в качестве улучшающего слоя используют слой сети предварительно разработанной сетевой структуры. Поэтому выбирает улучшающий слой, соответствующий индексу предварительно разработанной сети улучшающего слоя, из пула предварительно разработанных нейронных сетей. Например, если индекс предварительно разработанной сети улучшающего слоя равен 0, то в качестве улучшающего слоя используют слой сети предварительно разработанной сетевой структуры s1, а если индекс предварительно разработанной сети улучшающего слоя равен 1, то в качестве улучшающего слоя используют слой сети предварительно разработанной сетевой структуры s2. Исходя из этого для получения нейронной сети 1 декодирования могут быть объединены базовый слой сетевой структуры по умолчанию и улучшающий слой предварительной разработанной сетевой структуры.
[233] Сценарий 3: информация о базовом слое включает в себя флаг использования в качестве базового слоя сети по умолчанию, и флаг использования в качестве базового слоя сети по умолчанию указывает на использование в качестве базового слоя сети по умолчанию. В этом сценарии модуль генерирования признака гиперпараметра коэффициента на основании информации о базовом слое определяет, что в качестве базового слоя используют слой сети сетевой структуры по умолчанию, и поэтому получает базовый слой сетевой структуры по умолчанию (т. е. слой сети сетевой структуры по умолчанию). Информация об улучшающем слое включает в себя сетевые параметры, используемые для генерирования улучшающего слоя. В этом случае модуль генерирования признака гиперпараметра коэффициента может проводить синтаксический анализ сетевых параметров на основе управляющего параметра и генерировать улучшающий слой переменной сетевой структуры (т. е. слой сети переменной сетевой структуры) на основе сетевых параметров. При этом сетевой параметр может включать, без ограничений, по меньшей мере одно из следующего: количество слоев нейронной сети, флаг слоя обратной развертки, количество слоев обратной развертки, шаг квантования для каждого слоя обратной развертки, количество каналов для каждого слоя обратной свертки, размер ядра сверки, количество фильтров, индекс размера фильтра, флаг, указывающий, равен ли коэффициент фильтра нулю или нет, коэффициент фильтра, количество слоев активации, флаг слоя активации или тип слоя активации. Модуль генерирования признака гиперпараметра коэффициента может генерировать улучшающий слой с переменной сетевой структурой на основе вышеуказанных сетевых параметров. Например, модуль генерирования признака гиперпараметра коэффициента выполняет синтаксический анализ сетевых параметров, таких как шаг квантования каждого слоя обратной свертки, количество каналов в каждом слое обратной свертки, размер ядра сверки и тип слоя активации, на основе управляющего параметра. На основе этих сетевых параметров модуль генерирования признака гиперпараметра коэффициента генерирует улучшающий слой с переменной сетевой структурой. Исходя из этого для получения декодирующей нейронной сети 1 модуль генерирования признака гиперпараметра коэффициента может объединять базовый слой сетевой структуры по умолчанию и улучшающий слой переменной сетевой структуры.
[234] Сценарий 4: информация о базовом слое включает в себя флаг использования в качестве базового слоя предварительно разработанный сети и индекс предварительно разработанной сети базового слоя. Флаг использования в качестве базового слоя предварительно разработанный сети указывает на использование в качестве базового слоя предварительно разработанной сети. В этом случае модуль генерирования признака гиперпараметра коэффициента на основании информации о базовом слое определяет, что в качестве базового слоя используют слой сети предварительно разработанной сетевой структуры. Поэтому модуль генерирования признака гиперпараметра коэффициента выбирает базовый слой, соответствующий индексу предварительно разработанной сети базового слоя, из пула предварительно разработанных нейронных сетей. Например, если индекс предварительно разработанной сети базового слоя равен 0, то в качестве базового слоя используют слой сети предварительно разработанной сетевой структуры s1, а если индекс предварительно разработанной сети базового слоя равен 1, то в качестве базового слоя используют слой сети предварительно разработанной сетевой структуры s2. Информация об улучшающем слое включает в себя флаг использования в качестве улучшающего слоя сети по умолчанию, и флаг использования в качестве улучшающего слоя сети по умолчанию указывает на использование в качестве улучшающего слоя сети по умолчанию. В этом случае модуль генерирования признака гиперпараметра коэффициента на основании информации об улучшающем слое определяет, что в качестве улучшающего слоя используют слой сети сетевой структуры по умолчанию, и поэтому получает улучшающий слой сетевой структуры по умолчанию (т. е. слой сети сетевой структуры по умолчанию). Исходя из этого для получения нейронной сети 1 декодирования могут быть объединены базовый слой предварительно разработанной сетевой структуры и улучшающий слой сетевой структуры по умолчанию.
[235] Сценарий 5: информация о базовом слое включает в себя флаг использования в качестве базового слоя предварительно разработанный сети и индекс предварительно разработанной сети базового слоя. Флаг использования в качестве базового слоя предварительно разработанный сети указывает на использование в качестве базового слоя предварительно разработанной сети. В этом сценарии модуль генерирования признака гиперпараметра коэффициента на основании информации о базовом слое определяет, что в качестве базового слоя используют слой сети предварительно разработанной сетевой структуры. Поэтому может быть выбран базовый слой предварительно разработанной сетевой структуры (такой, как слой сети предварительно разработанной сетевой структуры s1 и т. д.), соответствующий индексу предварительно разработанной сети базового слоя, из пула предварительно разработанных нейронных сетей. Информация об улучшающем слое включает в себя флаг использования в качестве улучшающего слоя предварительной разработанной сети и индекс предварительно разработанной сети улучшающего слоя, и флаг использования в качестве улучшающего слоя предварительно разработанной сети указывает на использование в качестве улучшающего слоя предварительно разработанной сети. В этом случае модуль генерирования признака гиперпараметра коэффициента на основании информации об улучшающем слое определяет, что в качестве улучшающего слоя используют слой сети предварительно разработанной сетевой структуры. Поэтому может быть выбран улучшающий слой предварительно разработанной сетевой структуры (такой, как слой сети предварительно разработанной сетевой структуры s1 и т. д.), соответствующий индексу предварительно разработанной сети улучшающего слоя, из пула предварительно разработанных нейронных сетей. Исходя из этого для получения нейронной сети 1 декодирования могут быть объединены базовый слой предварительно разработанной сетевой структуры и улучшающий слой предварительной разработанной сетевой структуры.
[236] Сценарий 6: информация о базовом слое включает в себя флаг использования в качестве базового слоя предварительно разработанный сети и индекс предварительно разработанной сети базового слоя. Флаг использования в качестве базового слоя предварительно разработанный сети указывает на использование в качестве базового слоя предварительно разработанной сети. В этом сценарии модуль генерирования признака гиперпараметра коэффициента на основании информации о базовом слое определяет, что в качестве базового слоя используют слой сети предварительно разработанной сетевой структуры. Поэтому может быть выбран базовый слой предварительно разработанной сетевой структуры (такой, как слой сети предварительно разработанной сетевой структуры s1 и т. д.), соответствующий индексу предварительно разработанной сети базового слоя, из пула предварительно разработанных нейронных сетей. Информация об улучшающем слое включает в себя сетевые параметры, используемые для генерирования улучшающего слоя. В этом случае модуль генерирования признака гиперпараметра коэффициента может проводить синтаксический анализ сетевых параметров на основе управляющего параметра и генерировать улучшающий слой переменной сетевой структуры (т. е. слой сети переменной сетевой структуры) на основе сетевых параметров. Например, модуль генерирования признака гиперпараметра коэффициента может выполнять синтаксический анализ сетевых параметров, таких как шаг квантования каждого слоя обратной свертки, количество каналов в каждом слое обратной свертки, размер ядра сверки и тип слоя активации, на основе управляющего параметра. На основе этих сетевых параметров модуль генерирования признака гиперпараметра коэффициента генерирует улучшающий слой с переменной сетевой структурой. Исходя из этого для получения декодирующей нейронной сети 1 модуль генерирования признака гиперпараметра коэффициента может объединять базовый слой предварительно разработанной сетевой структуры и улучшающий слой переменной сетевой структуры.
[237] В варианте осуществления вышеуказанные сетевые структуры базового слоя и улучшающего слоя могут быть определены посредством декодированного управляющего параметра. Управляющий параметр может включать в себя информацию 1 о нейронной сети, а информация 1 о нейронной сети может включать в себя информацию о базовом слое и информацию об улучшающем слое. Пример информации 1 о нейронной сети для модуля генерирования признака гиперпараметра коэффициента можно увидеть в таблице 1, в которой u(n) представляет способ кодирования n-битным кодом фиксированной длины, а ae(v) представляет способ кодирования кодом переменной длины.
Таблица 1
| Определение заголовка для модуля генерирования гиперпараметра коэффициента | дескриптор |
| hyper_basic_layer_use_default_para_flag | ae(v) |
| if (HyperBasicLayerUseDefaultParaFlag == 0) { | |
| hyper_basic_layer_use_predesigned_para_flag | ae(v) |
| if (HyperBasicLayerUsePredesignedParaFlag == 1) | |
| hyper_basic_id | u(32) |
| else | |
| layer_parameter() | |
| } | |
| hyper_enhance_layer_use_default_para_flag | ae(v) |
| if (HyperEnhanceLayerUseDefaultParaFlag == 0) { | |
| hyper_enhance_layer_use_predesigned_para_flag | ae(v) |
| if (HyperEnhaanceLayerUsePredesignedParaFlag == 1) | |
| hyper_enhance_id | u(32) |
| else | |
| layer_parameter() | |
| } |
[238] В таблице 1 hyper_basic_layer_use_default_para_flag представляет собой флаг использования в качестве базового слоя сети по умолчанию для модуля генерирования признака гиперпараметра коэффициента. hyper_basic_layer_use_default_para_flag представляет собой двоичную переменную со значением 1, указывающим на то, что модуль генерирования признака гиперпараметра коэффициента в качестве базового слоя сети использует сеть по умолчанию, и значением 0, указывающим на то, что модуль генерирования признака гиперпараметра коэффициента в качестве базового слоя сети не использует сеть по умолчанию. Значение HyperBasicLayerUseDefaultParaFlag равно значению переменной hyper_basic_layer_use_default_para_flag.
[239] В таблице 1 hyper_basic_layer_use_predesigned_para_flag представляет собой флаг использования в качестве базового слоя предварительной разработанной сети для модуля генерирования признака гиперпараметра коэффициента, и hyper_basic_layer_use_predesigned_para_flag является двоичной переменной. Значение этой двоичной переменной, равное 1, указывает на, что модуль генерирования признака гиперпараметра коэффициента в качестве базового слоя использует предварительно разработанную сеть, а значение двоичной переменной, равное 0, указывает на то, что модуль генерирования признака гиперпараметра коэффициента в качестве базового слоя сети не использует предварительно разработанную сеть. Значение HyperBasicLayerUsePredesignedParaFlag может быть равно значению переменной hyper_basic_layer_use_predesigned_para_flag.
[240] В таблице 1 hyper_basic_id представляет собой индекс предварительно разработанной сети базового слоя для модуля генерирования признака гиперпараметра коэффициента. Индекс предварительно разработанной сети базового слоя может быть 32-битным целым числом без знака, представляющим индекс нейронной сети, используемой в базовом слое, в пуле предварительно разработанных нейронных сетей.
[241] В таблице 1 hyper_enhance_layer_use_default_para_flag представляет собой флаг использования в качестве улучшающшего слоя сети по умолчанию для модуля генерирования признака гиперпараметра коэффициента, и hyper_enhance_layer_use_default_para_flag является двоичной переменной. Значение этой двоичной переменной, равное 1, указывает на, что модуль генерирования признака гиперпараметра коэффициента в качестве улучшающего слоя использует сеть по умолчанию, а значение двоичной переменной, равное 0, указывает на то, что модуль генерирования признака гиперпараметра коэффициента в качестве улучшающего слоя сети не использует сеть по умолчанию. Значение HyperEnhanceLayerUseDefaultParaFlag может быть равно значению переменной hyper_enhance_layer_use_default_para_flag.
[242] В таблице 1 hyper_enhance_layer_use_predesigned_para_flag представляет собой флаг использования в качестве улучшающего слоя предварительной разработанной сети для модуля генерирования признака гиперпараметра коэффициента, и hyper_enhance_layer_use_predesigned_para_flag является двоичной переменной. Значение этой двоичной переменной, равное 1, указывает на то, что модуль генерирования признака гиперпараметра коэффициента в качестве улучшающего слоя использует предварительно разработанную сеть. Значение этой двоичной переменной, равное 0, указывает на то, что модуль генерирования признака гиперпараметра коэффициента в качестве улучшающего слоя не использует предварительно разработанную сеть. Значение HyperEnhanceLayerUsePredesignedParaFlag может быть равно значению переменной hyper_enhance_layer_use_predesigned_para_flag.
[243] В таблице 1 hyper_enhance_id представляет собой индекс предварительно разработанной сети улучшающего слоя для модуля генерирования признака гиперпараметра коэффициента. Индекс предварительно разработанной сети улучшающего слоя может быть 32-битным целым числом без знака, представляющим индекс нейронной сети, используемой в улучшающем слое, в пуле предварительно разработанных нейронных сетей.
[244] В вышеуказанном процессе диапазон hyper_basic_id составляет [id_min, id_max], причем id_min предпочтительно установлен на 0, а id_max предпочтительно установлен на 2^32-1. [a, b] представляет собой сегмент, зарезервированный для последующего расширения пула предварительно разработанных нейронных сетей. Следует отметить, что пул предварительно разработанных нейронных сетей для базового слоя может включать в себя несколько предварительно разработанных сетей базового слоя, например, 2, 3, 4 и т. д., включать в себя десятки предварительно разработанных сетей базового слоя или включать в себя большее количество предварительно разработанных сетей базового слоя, что не ограничивается в настоящем изобретении. Предпочтительное значение id_max, равное 2^32-1, является лишь примером, а значение id_max может быть динамически скорректировано в различных ситуациях.
[245] В вышеуказанном процессе диапазон hyper_enhance_id составляет [id_min, id_max], причем id_min предпочтительно установлен на 0, а id_max предпочтительно установлен на 2^32-1. [a, b] представляет собой сегмент, зарезервированный для последующего расширения пула предварительно разработанных нейронных сетей. Следует отметить, что пул предварительно разработанных нейронных сетей для улучшающего слоя может включать в себя несколько предварительно разработанных сетей улучшающего слоя, например, 2, 3, 4 и т. д., включать в себя десятки предварительно разработанных сетей улучшающего слоя или включать в себя большее количество предварительно разработанных сетей улучшающего слоя, что не ограничивается в настоящем изобретении. Предпочтительное значение id_max, равное 2^32-1, является лишь примером, а значение id_max может быть динамически скорректировано в различных ситуациях.
[246] В варианте осуществления вышеуказанная сетевая структура для улучшающего слоя может быть определена посредством декодированного управляющего параметра. Управляющий параметр может включать в себя информацию 1 о нейронной сети, а информация 1 о нейронной сети может включать в себя информацию об улучшающем слое. Пример информации 1 о нейронной сети для модуля генерирования признака гиперпараметра коэффициента можно увидеть в таблицах 2 и 3.
Таблица 2
| Определение Layer_Parameter() | дескриптор |
| layer_parameter(){ | |
| layer_num | ae(v) |
| for(i=0; i<LayerNum; i++){ | |
| layer_unit_parameter() | |
| } | |
| } |
Таблица 3
| Определение Layer_unit_parameter() | дескриптор |
| layer_unit_parameter(){ | |
| deconv_layer_flag | ae(v) |
| if (DeconvLayerFlag == 1) { | |
| stride_num | ae(v) |
| filter_num | ae(v) |
| filter_size_index | ae(v) |
| for(i=0; i<FilterNum; i++){ | |
| for(j=0; j<FilterSize; j++){ | |
| filter_coeff_zero_flag[i][j] | ae(v) |
| if (FilterCoeffZeroFlag == 0) | |
| filter_coeff[i][j] | ae(v) |
| } | |
| } | |
| } | |
| activation_layer_flag | ae(v) |
| if (ActivationLayerFlag == 1) | |
| activation_layer_type | ae(v) |
| ..... | |
| } |
[247] В таблице 2 layer_num представляет количество слоев нейронной сети, используемый для указания количества слоев сети в нейронной сети, и если слой в определенную сетевую структуру сети включают слой активации, количество слоев дополнительно не пересчитывают. Значение LayerNum представляет собой значение переменной layer_num.
[248] В таблице 3 deconv_layer_flag представляет флаг слоя обратной конволюции, и deconv_layer_flag является двоичной переменной. Значение этой двоичной переменной, равное 1, указывает на то, что текущий слой является слоем обратной конволюции в сети. Значение этой двоичной переменной, равное 0, указывает на то, что текущий слой не является слоем обратной конволюции в сети. Значение DeconvLayerFlag равно значению переменной deconv_layer_flag.
[249] В таблице 3 stride_num представляет шаг квантования слоя обратной конволюции.
[250] В таблице 3 filter_num представляет количество фильтра, т. е. количество фильтров в текущем слое.
[251] В таблице 3 filter_size_index представляет индекс размера фильтра, т. е. индекс размера текущего фильтра.
[252] В таблице 3 filter_coeff_zero_flag [i] [j] представляет битой флаг нуля коэффициента фильтрации и является двоичной переменной. Значение этой двоичной переменной, равное 1, указывает на то, что текущий коэффициент фильтрации равен 0. Значение этой двоичной переменной, равное 0, указывает на то, что текущий коэффициент фильтрации не равен 0. Значение FilterCoeffZeroFlag [i] [j] равно значению переменной filter_coeff_zero_flag [i] [j].
[253] В таблице 3 filter_coeff [i] [j] представляет коэффициент фильтрации, т. е. текущий коэффициент фильтрации.
[254] В таблице 3 activation_layer_flag представляет флаг слоя активации и является двоичной переменной. Значение этой двоичной переменной, равное 1, указывает на, что текущий слой является слоем активации. Значение этой двоичной переменной, равное 0, указывает на то, что текущий слой не является слоем активации. Значение ActivationLayerFlag равно значению переменной activation_layer_flag.
[255] В таблице 3 activation_layer_type представляет тип слоя активации, т. е. конкретный тип слоя активации текущего слоя.
[256] Вариант осуществления 10: как и в вариантах осуществления 5 и 6, второй модуль декодирования признака может декодировать двоичный поток 2, соответствующий текущему блоку, для получения информации о признаках изображения для текущего блока. Например, второй модуль кодирования признака включает в себя по меньшей мере один модуль декодирования коэффициента и по меньшей мере один модуль получения вероятностной модели. В варианте осуществления модуль декодирования коэффициента может использовать способ энтропийного декодирования для декодирования коэффициентов, т. е. использовать способ энтропийного декодирования для декодирования двоичного потока 2 для текущего блока, чтобы получить информацию о признаках изображения для текущего блока.
[257] Например, способ энтропийного декодирования может включать, без ограничения, CAVLC или CABAC и т. д., что не ограничивается в настоящем изобретении.
[258] Например, используемый вторым модулем декодирования признака способ формирования признаков с помощью модуля генерирования признака гиперпараметра коэффициента, может включать в себя способы 1 и 2.
[259] Способ 1: модуль получения вероятностной модели выполнен с возможностью получения вероятностной модели для энтропийного декодирования. Например, модуль получения вероятностной модели получает значение P признака гиперпараметра коэффициента из модуля генерирования признака гиперпараметра коэффициента. Исходя из этого модуль декодирования коэффициента может получить значение P признака гиперпараметра коэффициента из модуля получения вероятностной модели На основе значения P признака гиперпараметра коэффициента модуль декодирования коэффициента может выполнить декодирование коэффициентов с использованием энтропийного декодирования.
[260] Способ 2: процесс синтаксического анализа коэффициентов (такой, как процесс декодирования CABAC или CAVCL) не зависит от признаков, генерируемых модулем генерирования признака гиперпараметра коэффициента, и синтаксический анализ значений коэффициента может быть выполнен непосредственно, что может обеспечить пропускную способность или скорость синтаксического анализа. На основе признаков, генерируемых модулем генерирования признака гиперпараметра коэффициента, проанализированные значения коэффициента преобразуют для получения квантованного значения F_q признака изображения. Например, если значение коэффициента, полученное в процессе анализа коэффициента, равно 0, а соответствующее значение признака, генерируемое модулем генерирования признака гиперпараметра коэффициента, равно u, то F_q=u. Если значение коэффициента, полученное в процессе анализа коэффициента, равно 1, а соответствующее значение признака, генерируемое модулем генерирования гиперпараметра коэффициента, равно u, то F_q=u + x, где x - соответствующая дисперсия коэффициента.
[261] Вариант осуществления 11: как и в варианте осуществления 5, второй модуль обратного квантования может выполнять обратное квантование на квантованном значении F_q признака изображения (т. е. информации о признаке изображения), чтобы получить реконструированное значение F' признака изображения. Например, второй модуль обратного квантования может отсутствовать, или если второй модуль обратного квантования присутствует, второй модуль обратного квантования может быть выборочно пропущен на основе управляющего параметра (такого, как синтаксис высокого уровня, вторая информация о разрешении на использование и т. д.), или его использованием может быть разрешено на основании управляющего параметра. Например, если второй модуль обратного квантования отсутствует, реконструированное значение F' признака изображения совпадает с квантованным значением F_q признака изображения, то есть необходимости в обратном квантовании квантованного значения F_q признака изображения нет. Если второй модуль обратного квантования выборочно пропущен на основе управляющего параметра, реконструированное значение F' признака изображения совпадает с квантованным значением F_q признака изображения, то есть необходимости в обратном квантовании квантованного значения F_q признака изображения нет. Если использование второго модуля обратного квантования разрешено на основе управляющего параметра, а параметр шага qstep, соответствующий квантованному значению F_q признака изображения, равен 1, то реконструированное значение F' признака изображения совпадает с квантованным значением F_q признака изображения. То есть необходимости в обратном квантовании квантованного значения F_q признака изображения нет.
[262] Например, если использование второго модуля обратного квантования разрешено на основе управляющего параметра, а параметр шага qstep, соответствующий квантованному значению F_q признака изображения, не равен 1, то второй модуль обратного квантования может выполнить обратное квантование квантованное значение F_q признака изображения на основе управляющего параметра (такого, как параметры, связанные с квантованием), чтобы получить реконструированное значение F' признака изображения. Например, второй модуль обратного квантования выполняет следующую операцию: получение связанного с квантованием параметра, соответствующего квантованному значению F_q признака изображения, из управляющего параметра (двоичного потока, включающего в себя управляющий параметр, причем управляющий параметр может включать в себя связанный с квантованием параметр), такого как параметр шага qstep или параметр квантования qp. Коэффициент умножения (mult) и коэффициент сдвига (shift), соответствующие квантованному значению F_q признака изображения, определяют на основе параметра шага qstep или параметра квантования qp. Если предположить, что квантованное значение F_q признака изображения равно Coff_hyper, а реконструированное значение F' признака изображения равно Coff_hyper_rec, то Coff_hyper_rec = (Coff_hyper * mult)<<shift. То есть при выполнении обратного квантования приведенная выше формула может быть использована для получения реконструированного значения F' признака изображения.
[263] Следует отметить, что для связанного с квантованием параметра (такого, как параметр шага qstep), соответствующего квантованному значению F_q признака изображения, это может включать: 1) использование одного и того же параметра шага qstep для квантованных значений признака изображения для соответствующих каналов признаков; 2) использование различны параметров шага qstep для квантованного значения признаков изображения для соответствующих каналов признаков, но использование одного и того параметра шага qstep для квантованного значения признаков изображения в пределах канала признаков; или 3) использование разных параметров шага qstep для квантованных значений признаков изображения в соответствующих каналах признака.
[264] Вариант осуществления 12: как и в вариантах осуществления 5 и 6, модуль обратного преобразования признака изображения может выполнять обратное преобразование реконструированного значения F' признака изображения на основе нейронной сети декодирования, чтобы получить значения LF признака низкого порядка изображения. В варианте осуществления, как показано на фиг. 6D, модуль обратного преобразования признака изображения может включать в себя нейронную сеть 2 декодирования. Нейронная сеть 2 декодирования может включать в себя базовый слой и улучшающий слой. Реконструированное значение F' признака изображения используют в качестве входного признака нейронной сети 2 декодирования, а значение LF признака низкого порядка изображения используют в качестве выходного признака нейронной сети 2 декодирования. Нейронная сеть 2 декодирования выполнена с возможностью осуществления обратного преобразования реконструированного значения F' признака изображения.
[265] В этом варианте осуществления нейронная сеть 2 декодирования разделена на базовый слой и улучшающий слой. Базовый слой может содержать по меньшей мере один слой сети, или базовый слой может не содержать слоя сети, то есть базовый слой может быть пустым. Улучшающий слой может содержать по меньшей мере один слой сети, или улучшающий слой может не содержать слоя сети, то есть улучшающий слой может быть пустым. Следует отметить, что множество слоев сети в нейронной сети 2 декодирования могут быть разбиты на базовые слои и улучшающие слои в соответствии с фактическими потребностями. Например, в качестве базового слоя может быть использован слой сети с фиксированной структурой сети, а в качестве улучшающего слоя слой может быть использован сети с нефиксированной структурой сети.
[266] Например, размер выходного признака нейронной сети 2 декодирования может быть больше размера входного признака, или размер выходного признака может быть равен размеру входного признака, или размер выходного признака может быть меньше размера входного признака.
[267] В нейронной сети 2 декодирования базовый слой и улучшающий слой включают в себя по меньшей мере один слой обратной свертки. Например, базовый слой может содержать по меньшей мере один слой обратной свертки, а улучшающий слой может содержать по меньшей мере один слой обратной свертки или не содержать ни одного слоя обратной свертки. В качестве альтернативы улучшающий слой может содержать по меньшей мере один слой обратной свертки, а базовый слой может содержать по меньшей мере один слой обратной свертки или не содержать ни одного слоя обратной свертки.
[268] В нейронной сети 2 декодирования базовый слой и улучшающий слой включают в себя по меньшей мере один слой остаточной структуры. Например, базовый слой включает в себя по меньшей мере один слой остаточной структуры, а улучшающий слой включает в себя или не включает в себя слой остаточной структуры. В качестве альтернативы улучшающий слой может включать в себя по меньшей мере один слой остаточной структуры, а базовый слой может включать в себя или не включать в себя слой остаточной структуры.
[269] Например, нейронная сеть 2 декодирования может включать в себя, без ограничений, слои обратной свертки и слои активации и т. д., что не ограничивается настоящим изобретением. Например, нейронная сеть 2 декодирования последовательно включает в себя один слой обратной свертки с шагом 2, один слой активации, один слой обратной свертки с шагом 1 и один слой активации. Все вышеперечисленные слои сети могут быть использованы в качестве базового слоя, а улучшающий слой будет пустым. Например, нейронная сеть 2 декодирования последовательно включает в себя один слой обратной свертки с шагом 2 и один слой обратной свертки с шагом 1. Все вышеперечисленные слои сети могут быть использованы в качестве базового слоя, а улучшающий слой будет пустым. Например, нейронная сеть 2 декодирования последовательно включает в себя один слой обратной свертки с шагом 2, один слой активации, один слой обратной свертки с шагом 2, один слой активации, один слой обратной свертки с шагом 1 и один слой активации. Все вышеперечисленные слои сети могут быть использованы в качестве базового слоя, а улучшающий слой будет пустым.
[270] Например, если модуль повышения качества отсутствует, количество выходных признаков (количество фильтров) последнего слоя сети модуля обратного преобразования признака изображения равно 1 или 3. Например, если выходом является только значение одного канала (например, изображение в оттенках серого), количество выходных признаков последнего слоя сети модуля обратного преобразования признака изображения равно 1. Если на выходе только значения из трех каналов (например, формат RGB или YUV), количество выходных признаков последнего слоя сети модуля обратного преобразования признака изображения равно 3.
[271] Например, если модуль повышения качества присутствует, количество выходных признаков (количество фильтров) последнего слоя сети модуля обратного преобразования признака изображения может быть равно 1 или 3, или принимать другие значения, которые не ограничены в настоящем изобретении.
[272] В варианте осуществления модуль обратного преобразования признака изображения может быть сконфигурирован со слоем сети сетевой структуры по умолчанию, а сетевой параметр, относящийся к слою сети сетевой структуры по умолчанию, является фиксированным. Например, в слоях сети сетевой структуры по умолчанию количество слоев обратной свертки фиксировано, количество слоев активации фиксировано, количество каналов в каждом слое обратной свертки фиксировано, размер ядра сверки фиксирован, коэффициент фильтрации фиксирован. Поскольку сетевые параметры в слоях сети сетевой структуры по умолчанию фиксированы и известны, слои сети сетевой структуры по умолчанию можно получать непосредственно.
[273] В варианте осуществления для модуля обратного преобразования признака изображения может быть сконфигурирован пул предварительно разработанных нейронных сетей. Пул предварительно разработанных нейронных сетей включает в себя сетевые слои по меньшей мере одной предварительно разработанной сетевой структуры. Сетевые параметры, относящиеся к слою сети предварительно разработанной структуры, могут быть сконфигурированы в соответствии с фактическими потребностями. Например, пул предварительно разработанных нейронных сетей включает в себя слои сети предварительно разработанной сетевой структуры t1, слои сети предварительно разработанной сетевой структуры t2 и слои сети предварительно разработанной сетевой структуры t3. При этом для слоев сети предварительно разработанной сетевой структуры t1 могут быть предварительно сконфигурированы количество слоев обратной свертки, количество слоев активации, количество каналов в каждом слое обратной свертки, размер ядра сверки, коэффициенты фильтрации и другие параметры сети. После того, как все сетевые параметры сконфигурированы, могут быть получены слои сети предварительно разработанной сетевой структуры t1. И так далее.
[274] В варианте осуществления для модуля обратного преобразования признака изображения может быть динамически сгенерирован слой сети переменной сетевой структуры на основе сетевого параметра, причем сетевой параметр, относящийся к слою сети переменной сетевой структуры, генерируется динамически кодирующей стороной, а не предварительно сконфигурирован. Например, кодирующая сторона кодирует сетевые параметры, такие как количество слоев обратной свертки, количество слоев активации, количество каналов в каждом слое обратной свертки, размер ядра сверки и коэффициенты фильтрации, в двоичном потоке. Декодирующая сторона проводит синтаксический анализ вышеуказанных сетевых параметров из двоичного потока и генерирует слои сети с переменными сетевыми структурами на основе этих сетевых параметров.
[275] В варианте осуществления управляющий параметр может включать в себя информацию 2 о нейронной сети, соответствующую модулю обратного преобразования признака изображения. Модуль обратного преобразования признака изображения может проводить синтаксический анализ информации 2 о нейронной сети из управляющего параметра и на основании информации 2 о нейронной сети генерировать нейронную сеть 2 декодирования. Например, информация 2 о нейронной сети может включать в себя информацию о базовом слое и информацию об улучшающем слое. Базовый слой может быть определен на основе этой информации о базовом слое, а улучшающий слой может быть определен на основе этой информации об улучшающем слое. Базовый слой и улучшающий слой могут быть объединены для получения нейронной сети 2 декодирования. Например, информация 2 о нейронной сети может быть получена с использованием следующих сценариев 1-6.
[276] Сценарий 1: информация о базовом слое включает в себя флаг использования в качестве базового слоя сети по умолчанию, и флаг использования в качестве базового слоя сети по умолчанию указывает на использование в качестве базового слоя сети по умолчанию. В этом случае модуль обратного преобразования признака изображения на основании информации о базовом слое определяет, что в качестве базового слоя используют слой сети сетевой структуры по умолчанию, и, поэтому получает базовый слой сетевой структуры по умолчанию. Информация об улучшающем слое включает в себя флаг использования в качестве улучшающего слоя сети по умолчанию, и флаг использования в качестве улучшающего слоя сети по умолчанию указывает на использование в качестве улучшающего слоя сети по умолчанию. В этом случае на основании информации об улучшающем слое определяют, что в качестве улучшающего слоя используют слой сети сетевой структуры по умолчанию, и поэтому получают улучшающий слой сетевой структуры по умолчанию. Для получения нейронной сети 2 декодирования могут быть объединены базовый слой сетевой структуры по умолчанию и улучшающий слой сетевой структуры по умолчанию.
[277] Сценарий 2: информация о базовом слое включает в себя флаг использования в качестве базового слоя сети по умолчанию, и флаг использования в качестве базового слоя сети по умолчанию указывает на использование в качестве базового слоя сети по умолчанию. В этом случае модуль обратного преобразования признака изображения на основании информации о базовом слое определяет, что в качестве базового слоя используют слой сети сетевой структуры по умолчанию, и, поэтому получает базовый слой сетевой структуры по умолчанию. Информация об улучшающем слое включает в себя флаг использования в качестве улучшающего слоя предварительной разработанной сети и индекс предварительно разработанной сети улучшающего слоя, и флаг использования в качестве улучшающего слоя предварительно разработанной сети указывает на использование в качестве улучшающего слоя предварительно разработанной сети. В этом случае на основании информации об улучшающем слое определяют, что в качестве улучшающего слоя используют слой сети предварительно разработанной сетевой структуры. Поэтому выбирает улучшающий слой, соответствующий индексу предварительно разработанной сети улучшающего слоя, из пула предварительно разработанных нейронных сетей. Для получения нейронной сети 2 декодирования могут быть объединены базовый слой сетевой структуры по умолчанию и улучшающий слой предварительно разработанной сетевой структуры.
[278] Сценарий 3: информация о базовом слое включает в себя флаг использования в качестве базового слоя сети по умолчанию, и флаг использования в качестве базового слоя сети по умолчанию указывает на использование в качестве базового слоя сети по умолчанию. Модуль обратного преобразования признака изображения на основании информации о базовом слое определяет, что в качестве базового слоя используют слой сети сетевой структуры по умолчанию, и, поэтому получает базовый слой с сетевой структурой по умолчанию. Информация об улучшающем слое включает в себя сетевые параметры, используемые для генерирования улучшающего слоя. В этом случае на основе управляющего параметра может быть проведен синтаксический анализ сетевых параметров, и на основе сетевых параметров может быть сформирован улучшающий слой с переменной структурой сети. Для получения нейронной сети 2 декодирования могут быть объединены базовый слой сетевой структуры по умолчанию и улучшающий слой переменной сетевой структуры.
[279] Сценарий 4: информация о базовом слое включает в себя флаг использования в качестве базового слоя предварительно разработанной сети, и флаг использования в качестве базового слоя предварительно разработанной сети указывает на использование в качестве базового слоя предварительно разработанной сети. В этом случае модуль обратного преобразования признака изображения на основании информации о базовом слое определяет, что в качестве базового слоя используют слой сети предварительно разработанной сетевой структуры, и поэтому выбирает базовый слой предварительно разработанной сетевой структуры, соответствующий индексу предварительно разработанной сети базового слоя, из пула предварительно разработанных нейронных сетей. Информация об улучшающем слое включает в себя флаг использования в качестве улучшающего слоя сети по умолчанию, и флаг использования в качестве улучшающего слоя сети по умолчанию указывает на использование в качестве улучшающего слоя сети по умолчанию. В этом случае на основании информации об улучшающем слое определяют, что в качестве улучшающего слоя используют слой сети сетевой структуры по умолчанию, и поэтому получают улучшающий слой сетевой структуры по умолчанию. Для получения нейронной сети 2 декодирования могут быть объединены базовый слой предварительно разработанной сетевой структуры и улучшающий слой сетевой структуры по умолчанию.
[280] Сценарий 5: информация о базовом слое включает в себя флаг использования в качестве базового слоя предварительно разработанной сети, и флаг использования в качестве базового слоя предварительно разработанной сети указывает на использование в качестве базового слоя предварительно разработанной сети. В этом случае модуль обратного преобразования признака изображения на основании информации о базовом слое определяет, что в качестве базового слоя используют слой сети предварительно разработанной сетевой структуры, и поэтому выбирает базовый слой предварительно разработанной сетевой структуры, соответствующий индексу предварительно разработанной сети базового слоя, из пула предварительно разработанных нейронных сетей. Информация об улучшающем слое включает в себя флаг использования в качестве улучшающего слоя предварительной разработанной сети и индекс предварительно разработанной сети улучшающего слоя, и флаг использования в качестве улучшающего слоя предварительно разработанной сети указывает на использование в качестве улучшающего слоя предварительно разработанной сети. В этом случае на основании информации об улучшающем слое определяют, что в качестве улучшающего слоя используют слой сети предварительно разработанной сетевой структуры. Поэтому может быть выбран улучшающий слой, соответствующий индексу предварительно разработанной сети улучшающего слоя, из пула предварительно разработанных нейронных сетей. Для получения нейронной сети 2 декодирования могут быть объединены базовый слой предварительно разработанной сетевой структуры и улучшающий слой предварительной разработанной сетевой структуры.
[281] Сценарий 6: информация о базовом слое включает в себя флаг использования в качестве базового слоя предварительно разработанной сети, и флаг использования в качестве базового слоя предварительно разработанной сети указывает на использование в качестве базового слоя предварительно разработанной сети. В этом случае модуль обратного преобразования признака изображения на основании информации о базовом слое определяет, что в качестве базового слоя используют слой сети предварительно разработанной сетевой структуры, и поэтому выбирает базовый слой предварительно разработанной сетевой структуры, соответствующий индексу предварительно разработанной сети базового слоя, из пула предварительно разработанных нейронных сетей. Информация об улучшающем слое включает в себя сетевые параметры, используемые для генерирования улучшающего слоя. В этом случае на основе управляющего параметра может быть проведен синтаксический анализ сетевых параметров, и на основе сетевых параметров может быть сформирован улучшающий слой с переменной структурой сети. Для получения нейронной сети 2 декодирования могут быть объединены базовый слой предварительно разработанной сетевой структуры и улучшающий слой переменной сетевой структуры.
[282] В варианте осуществления вышеуказанные сетевые структуры как для базового слоя, так и для улучшающего слоя могут быть определены посредством декодированного управляющего параметра. Управляющий параметр может включать в себя информацию 2 о нейронной сети, а информация 2 о нейронной сети может включать в себя как информацию о базовом слое, так и информацию об улучшающем слое. Информация 2 о нейронной сети для модуля обратного преобразования признака изображения аналогична приведенной в таблицах 1, 2 и 3, за исключением того, что соответствующая информация предназначена для модуля обратного преобразования признака изображения, а не для модуля генерирования признака гиперпараметра коэффициента, и не будет здесь излагаться повторно.
[283] Вариант осуществления 13: как и в вариантах осуществления 5 и 6, модуль повышения качества может получать значение LF признака низкого порядка изображения, и на основе нейронной сети декодирования выполнять улучшение значения LF признака низкого порядка изображения для получения реконструированного блока I изображения, соответствующего текущему блоку.
[284] Например, модуль повышения качества может отсутствовать, или если модуль повышения качества присутствует, модуль повышения качества может быть выборочно пропущен на основании управляющего параметра (такого как синтаксис высокого уровня, третья информация о разрешении на использование и т. д.), или использование модуля повышения качества может быть разрешено на основании управляющего параметра. Например, если использование модуля повышения качества разрешено на основании управляющего параметра, модуль повышения качества может быть использован для устранения проблем ухудшения качества изображения, таких как искажение квантования и эффекты блочности. Например, модуль повышения качества может улучшать значение LF признаков низкого порядка изображения на основе нейронной сети декодирования для получения реконструированного блока I изображения, соответствующего текущему блоку.
[285] В варианте осуществления модуль повышения качества может включать в себя нейронную сеть 3 декодирования. Нейронная сеть 3 декодирования может включать в себя базовый слой и улучшающий слой. Значение LF признака низкого порядка изображения используют в качестве входного признака нейронной сети 3 декодирования, а реконструированный блок I изображения используют в качестве выходного признака нейронной сети 3 декодирования. Нейронная сеть 3 декодирования выполнена с возможностью улучшения значения LF признака низкого порядка изображения.
[286] В этом варианте осуществления нейронная сеть 3 декодирования разделена на базовый слой и улучшающий слой. Базовый слой может содержать по меньшей мере один слой сети, или базовый слой может не содержать слоя сети, то есть базовый слой может быть пустым. Улучшающий слой может содержать по меньшей мере один слой сети, или улучшающий слой может не содержать слоя сети, то есть улучшающий слой может быть пустым. Следует отметить, что множество слоев сети в нейронной сети 3 декодирования могут быть разбиты на базовые слои и улучшающие слои в соответствии с фактическими потребностями. Например, в качестве базового слоя может быть использован слой сети с фиксированной структурой сети, а в качестве улучшающего слоя слой может быть использован сети с нефиксированной структурой сети.
[287] Например, размер выходного признака нейронной сети 3 декодирования может быть больше размера входного признака, или размер выходного признака может быть равен размеру входного признака, или размер выходного признака может быть меньше размера входного признака.
[288] В нейронной сети 3 декодирования базовый слой и улучшающий слой включают в себя по меньшей мере один слой обратной свертки. Например, базовый слой может содержать по меньшей мере один слой обратной свертки, а улучшающий слой может содержать по меньшей мере один слой обратной свертки или не содержать ни одного слоя обратной свертки. В качестве альтернативы улучшающий слой может содержать по меньшей мере один слой обратной свертки, а базовый слой может содержать по меньшей мере один слой обратной свертки или не содержать ни одного слоя обратной свертки.
[289] В нейронной сети 3 декодирования базовый слой и улучшающий слой включают в себя по меньшей мере один слой остаточной структуры. Например, базовый слой включает в себя по меньшей мере один слой остаточной структуры, а улучшающий слой включает в себя или не включает в себя слой остаточной структуры. В качестве альтернативы улучшающий слой может включать в себя по меньшей мере один слой остаточной структуры, а базовый слой может включать в себя или не включать в себя слой остаточной структуры.
[290] Например, нейронная сеть 3 декодирования может включать в себя, без ограничений, слои обратной свертки и слои активации и т. д., что не ограничивается настоящим изобретением. Например, нейронная сеть 3 декодирования последовательно включает в себя один слой обратной свертки с шагом 2, один слой активации, один слой обратной свертки с шагом 1 и один слой активации. Все вышеперечисленные слои сети могут быть использованы в качестве базового слоя, а улучшающий слой будет пустым. Например, нейронная сеть 3 декодирования последовательно включает в себя один слой обратной свертки с шагом 2 и один слой обратной свертки с шагом 1. Все вышеперечисленные слои сети могут быть использованы в качестве базового слоя, а улучшающий слой будет пустым. Например, нейронная сеть 3 декодирования последовательно включает в себя один слой обратной свертки с шагом 2, один слой активации, один слой обратной свертки с шагом 2, один слой активации, один слой обратной свертки с шагом 1 и один слой активации. Все вышеперечисленные слои сети могут быть использованы в качестве базового слоя, а улучшающий слой будет пустым.
[291] Например, количество выходных признаков (количество фильтров) последнего слоя сети модуля повышения качества равно 1 или 3. Например, если выходом является только значение одного канала (например, изображение в оттенках серого), количество выходных признаков последнего слоя сети равно 1. Если на выходе только значения из трех каналов (например, формат RGB или YUV), количество выходных признаков последнего слоя сети равно 3.
[292] В варианте осуществления модуль повышения качества может быть сконфигурирован со слоем сети сетевой структуры по умолчанию, а сетевой параметр, относящийся к слою сети сетевой структуры по умолчанию, является фиксированным. Для модуля повышения качества может быть сконфигурирован пул предварительно разработанных нейронных сетей. Пул предварительно разработанных нейронных сетей включает в себя сетевые слои по меньшей мере одной предварительно разработанной сетевой структуры. Сетевые параметры, относящиеся к слою сети предварительно разработанной сетевой структуры, могут быть сконфигурированы в соответствии с фактическими потребностями. Для модуля повышения качества может быть динамически сгенерирован слой сети переменной сетевой структуры на основе сетевого параметра, причем сетевой параметр, относящийся к слою сети переменной сетевой структуры, генерируется динамически кодирующей стороной, а не предварительно сконфигурирован.
[293] В варианте осуществления управляющий параметр может включать в себя информацию 3 о нейронной сети, соответствующую модулю повышения качества. Модуль повышения качества может проводить синтаксический анализ информации 3 о нейронной сети из управляющего параметра и на основании информации 3 о нейронной сети генерировать нейронную сеть 3 декодирования. Например, информация 3 о нейронной сети может включать в себя информацию о базовом слое и информацию об улучшающем слое. Базовый слой может быть определен на основе этой информации о базовом слое, а улучшающий слой может быть определен на основе этой информации об улучшающем слое. Базовый слой и улучшающий слой могут быть объединены для получения нейронной сети 3 декодирования. Например, модуль улучшения качества может получить информацию 3 о нейронной сети с использованием следующих сценариев 1-6.
[294] Сценарий 1: информация о базовом слое включает в себя флаг использования в качестве базового слоя сети по умолчанию, и флаг использования в качестве базового слоя сети по умолчанию указывает на использование в качестве базового слоя сети по умолчанию. В этом случае модуль повышения качества на основании информации о базовом слое определяет, что в качестве базового слоя используют слой сети сетевой структуры по умолчанию, и, поэтому получает базовый слой сетевой структуры по умолчанию. Информация об улучшающем слое включает в себя флаг использования в качестве улучшающего слоя сети по умолчанию, и флаг использования в качестве улучшающего слоя сети по умолчанию указывает на использование в качестве улучшающего слоя сети по умолчанию. В этом случае на основании информации об улучшающем слое определяют, что в качестве улучшающего слоя используют слой сети сетевой структуры по умолчанию, и поэтому получают улучшающий слой сетевой структуры по умолчанию. Для получения нейронной сети 3 декодирования могут быть объединены базовый слой сетевой структуры по умолчанию и улучшающий слой сетевой структуры по умолчанию.
[295] Сценарий 2: информация о базовом слое включает в себя флаг использования в качестве базового слоя сети по умолчанию, и флаг использования в качестве базового слоя сети по умолчанию указывает на использование в качестве базового слоя сети по умолчанию. В этом случае модуль повышения качества на основании информации о базовом слое определяет, что в качестве базового слоя используют слой сети сетевой структуры по умолчанию, и, поэтому получает базовый слой сетевой структуры по умолчанию. Информация об улучшающем слое включает в себя флаг использования в качестве улучшающего слоя предварительной разработанной сети и индекс предварительно разработанной сети улучшающего слоя, и флаг использования в качестве улучшающего слоя предварительно разработанной сети указывает на использование в качестве улучшающего слоя предварительно разработанной сети. В этом случае на основании информации об улучшающем слое определяют, что в качестве улучшающего слоя используют слой сети предварительно разработанной сетевой структуры. Поэтому выбирают улучшающий слой, соответствующий индексу предварительно разработанной сети улучшающего слоя, из пула предварительно разработанных нейронных сетей. Для получения нейронной сети 3 декодирования могут быть объединены базовый слой сетевой структуры по умолчанию и улучшающий слой предварительно разработанной сетевой структуры.
[296] Сценарий 3: информация о базовом слое включает в себя флаг использования в качестве базового слоя сети по умолчанию, и флаг использования в качестве базового слоя сети по умолчанию указывает на использование в качестве базового слоя сети по умолчанию. Модуль повышения качества на основании информации о базовом слое определяет, что в качестве базового слоя используют слой сети сетевой структуры по умолчанию, и, поэтому получает базовый слой сетевой структуры по умолчанию. Информация об улучшающем слое включает в себя сетевые параметры, используемые для генерирования улучшающего слоя. В этом случае на основе управляющего параметра может быть проведен синтаксический анализ сетевых параметров, и на основе сетевых параметров может быть сформирован улучшающий слой с переменной структурой сети. Для получения нейронной сети 3 декодирования могут быть объединены базовый слой сетевой структуры по умолчанию и улучшающий слой переменной сетевой структуры.
[297] Сценарий 4: информация о базовом слое включает в себя флаг использования в качестве базового слоя предварительно разработанной сети, и флаг использования в качестве базового слоя предварительно разработанной сети указывает на использование в качестве базового слоя предварительно разработанной сети. В этом случае модуль повышения качества на основании информации о базовом слое определяет, что в качестве базового слоя используют слой сети предварительно разработанной сетевой структуры, и поэтому выбирает базовый слой предварительно разработанной сетевой структуры, соответствующий индексу предварительно разработанной сети базового слоя, из пула предварительно разработанных нейронных сетей. Информация об улучшающем слое включает в себя флаг использования в качестве улучшающего слоя сети по умолчанию, и флаг использования в качестве улучшающего слоя сети по умолчанию указывает на использование в качестве улучшающего слоя сети по умолчанию. В этом случае на основании информации об улучшающем слое определяют, что в качестве улучшающего слоя используют слой сети сетевой структуры по умолчанию, и поэтому получают улучшающий слой сетевой структуры по умолчанию. Базовый слой предварительно разработанной сетевой структуры и улучшающий слой сетевой структуры по умолчанию могут быть объединены для получения декодирующей нейронной сети 3.
[298] Сценарий 5: информация о базовом слое включает в себя флаг использования в качестве базового слоя предварительно разработанной сети, и флаг использования в качестве базового слоя предварительно разработанной сети указывает на использование в качестве базового слоя предварительно разработанной сети. В этом случае модуль повышения качества определяет на основании информации о базовом слое, что сетевой слой принимает предварительно разработанную сетевую структуру. Поэтому может быть выбран базовый слой, соответствующий индексу предварительно разработанной сети базового слоя, из пула предварительно разработанных нейронных сетей. Информация об улучшающем слое включает в себя флаг использования в качестве улучшающего слоя предварительной разработанной сети и индекс предварительно разработанной сети улучшающего слоя, и флаг использования в качестве улучшающего слоя предварительно разработанной сети указывает на использование в качестве улучшающего слоя предварительно разработанной сети. В этом случае на основании информации об улучшающем слое определяют, что в качестве улучшающего слоя используют слой сети предварительно разработанной сетевой структуры. Поэтому может быть выбран улучшающий слой, соответствующий индексу предварительно разработанной сети улучшающего слоя, из пула предварительно разработанных нейронных сетей. Для получения нейронной сети 3 декодирования могут быть объединены базовый слой предварительно разработанной сетевой структуры и улучшающий слой предварительной разработанной сетевой структуры.
[299] Сценарий 6: информация о базовом слое включает в себя флаг использования в качестве базового слоя предварительно разработанной сети, и флаг использования в качестве базового слоя предварительно разработанной сети указывает на использование в качестве базового слоя предварительно разработанной сети. В этом случае модуль повышения качества определяет на основании информации о базовом слое, что сетевой слой принимает предварительно разработанную сетевую структуру. Поэтому может быть выбран базовый слой, соответствующий индексу предварительно разработанной сети базового слоя, из пула предварительно разработанных нейронных сетей. Информация об улучшающем слое включает в себя сетевые параметры, используемые для генерирования улучшающего слоя. В этом случае на основе управляющего параметра может быть проведен синтаксический анализ сетевых параметров, и на основе сетевых параметров может быть сформирован улучшающий слой с переменной структурой сети. Для получения нейронной сети 3 декодирования могут быть объединены базовый слой предварительно разработанной сетевой структуры и улучшающий слой переменной сетевой структуры.
[300] В варианте осуществления вышеуказанные сетевые структуры как для базового слоя, так и для улучшающего слоя могут быть определены посредством декодированного управляющего параметра. Управляющий параметр может включать в себя информацию 3 о нейронной сети, а информация 3 о нейронной сети может включать в себя как информацию о базовом слое, так и информацию об улучшающем слое. Информация 3 о нейронной сети для модуля повышения качества аналогична приведенной в таблицах 1, 2 и 3, за исключением того, что соответствующая информация предназначена для модуля повышения качества, а не для модуля генерирования признака гиперпараметра коэффициента, и не будет здесь повторяться.
[301] Вариант осуществления 14: в вариантах осуществления настоящего изобретения предложен способ кодирования изображения, основанный на нейронной сети. Способ может быть применен к кодирующей стороне (также называемой видеокодером), как показано на фиг. 7A, на которой приведена принципиальная схема структуры кодирующей стороны. Кодирующая сторона может включать в себя модуль кодирования управляющего параметра, модуль преобразования признака, модуль преобразования признака гиперпараметра коэффициента, первый модуль квантования, второй модуль квантования, первый модуль кодирования признака, второй модуль кодирования признака, первый модуль декодирования признака, второй модуль декодирования признака, модуль генерирования признака гиперпараметра коэффициента, модуль обратного преобразования признака изображения, первый модуль обратного квантования, второй модуль обратного квантования и модуль повышения качества.
[302] Например, первый модуль квантования, второй модуль квантования, первый модуль обратного квантования, второй модуль обратного квантования и модуль повышения качества являются необязательными модулями, и в некоторых сценариях может быть выбран процесс, в котором эти необязательные модули выключены или пропущены.
[303] В этом варианте осуществления для каждого текущего блока (т. е. блока изображения) соответствующий двоичный поток включает в себя три части: двоичный поток 0 (содержащий управляющий параметр), двоичный поток 1 (содержащий информацию о признаке гиперпараметра коэффициента) и двоичный поток 2 (содержащий информацию о признаке изображения). Информация о признаке гиперпараметра коэффициента и информация о признаке изображения могут вместе называться информацией об изображении
[304] Например, способ кодирования изображения, основанный на нейронной сети, в этом варианте осуществления может включать в себя следующие этапы S71-S79.
[305] На этапе S71 выполняют преобразование признака для текущего блока I, чтобы получить значения F признака изображения, соответствующего текущему блоку I. Например, модуль преобразования признака может выполнять преобразование признака на текущем блоке I для получения значения F признака изображения, соответствующего текущему блоку I. Например, модуль преобразования признака может выполнять преобразование признака на текущем блоке I на основе нейронной сети кодирования для получения значения F признака изображения, соответствующего текущему блоку I. При этом текущий блок I служит входным признаком нейронной сети кодирования, а значение F признака изображения служит выходным признаком нейронной сети кодирования.
[306] На этапе S72 определяют информацию о признаке изображения на основе значения F признака изображения.
[307] Например, если использование второго модуля квантования разрешено, второй модуль квантования может получить значение F признака изображения из модуля преобразования признака, квантовать значение F признака изображения, получить квантованное значение F_q признака изображения и определить информацию о признаке изображения на основе квантованного значения F_q признака изображения. То есть информация о признаке изображения может быть квантованным значением F_q признака изображения. В этом случае модуль кодирования управляющего параметра может кодировать вторую информацию о разрешении на использование для второго модуля квантования в двоичном потоке 0, то есть управляющий параметр включает в себя вторую информацию о разрешении на использование для второго модуля квантования, а вторую информацию о разрешении на использование конфигурируют для указания на то, что использование второго модуля квантования было разрешено. Модуль кодирования параметров управления может дополнительно кодировать параметры, связанные с квантованием, соответствующие второму модулю квантования в двоичном потоке 0, например, параметр шага qstep или параметр квантования qp.
[308] Например, если использование второго блока квантования не разрешено, информацию о признаке изображения определяют на основе значения F признака изображения. То есть информация о признаке изображения может быть значением F признака изображения. В этом случае модуль кодирования управляющего параметра может кодировать вторую информацию о разрешении на использование для второго модуля квантования в двоичном потоке 0, а вторую информацию о разрешении на использование конфигурируют для указания на то, что использование второго модуля квантования было разрешено.
[309] На этапе S73 выполняют преобразование признака гиперпараметра коэффициента на значении F признака изображения, чтобы получить значение C коэффициента признака гиперпараметра коэффициента. Например, модуль преобразования признака гиперпараметра коэффициента выполняет преобразование признака гиперпараметра коэффициента на значении F признака изображения для получения значения C коэффициента признака гиперпараметра коэффициента. Например, на основе нейронной сети кодирования выполняют преобразование признака гиперпараметра коэффициента на значении F признака изображения, чтобы получить значение C коэффициента признака гиперпараметра коэффициента. При этом значение признака изображения F используют в качестве входного признака нейронной сети кодирования, а значение коэффициента C признака гиперпараметра коэффициента используют в качестве выходного признака нейронной сети кодирования.
[310] На этапе S74 определяют информацию о признаке гиперпараметра коэффициента на основе значения коэффициента C признака гиперпараметра коэффициента.
[311] Например, если использование первого модуля квантования разрешено, первый модуль квантования может получать значение C коэффициента признака гиперпараметра коэффициента из модуля преобразования признака гиперпараметра коэффициента, квантовать значение коэффициента C признака гиперпараметра коэффициента для получения квантованного значения C_q коэффициента признака гиперпараметра коэффициента и определять информацию о признаке гиперпараметра коэффициента на основе квантованного значения C_q коэффициента признака гиперпараметра коэффициента. То есть информация о признаке гиперпараметра коэффициента может быть квантованным значением C_q коэффициента признака гиперпараметра коэффициента. В этом случае модуль кодирования управляющего параметра может кодировать первую информацию о разрешении на использование для первого модуля квантования в двоичном потоке 0, то есть управляющий параметр включает в себя первую информацию о разрешении на использование для первого модуля квантования, а первую информацию о разрешении на использование конфигурируют для указания на то, что использование первого модуля квантования было разрешено. Модуль кодирования управляющего параметра может дополнительно кодировать связанный с квантованием параметр, соответствующий первому блоку квантования, в двоичном потоке 0.
[312] Например, если использование первого модуля квантования не разрешено, информацию о признаке гиперпараметра коэффициента определяют на основе значения C коэффициента признака гиперпараметра коэффициента, то есть информация о признаке гиперпараметра коэффициента может быть значением C коэффициента признака гиперпараметра коэффициента. В этом случае модуль кодирования управляющего параметра может кодировать первую информацию о разрешении на использование для первого модуля квантования в двоичном потоке 0, а первую информацию о разрешении на использование конфигурируют для указания на то, что использование первого модуля квантования не было разрешено.
[313] На этапе S75 кодируют информацию о признаке гиперпараметра коэффициента (такую, как квантованное значение C_q коэффициента признака гиперпараметра коэффициента или значение C коэффициента признака гиперпараметра коэффициента), чтобы получить двоичный поток 1. Например, первый модуль кодирования признака может кодировать информацию о признаке гиперпараметра коэффициента в двоичном потоке, соответствующем текущему блоку. Для простоты различения двоичный поток, который включает в себя информацию о признаках гиперпараметра коэффициента, упоминается как двоичный поток 1.
[314] На этапе S76 декодируют двоичный поток 1, соответствующий текущему блоку, чтобы получить информацию о признаке гиперпараметра коэффициента (такую, как квантованное значение C_q коэффициента признака гиперпараметра коэффициента или значение C коэффициента признака гиперпараметра коэффициента), и на основании информации о признаке гиперпараметра коэффициента определяют реконструированное значение коэффициента признака гиперпараметра коэффициента.
[315] Например, первый модуль декодирования признака может декодировать двоичный поток 1, соответствующий текущему блоку, и получать информацию о признаках гиперпараметра коэффициента.
[316] Например, если использование первого модуля квантования разрешено, информация о признаке гиперпараметра коэффициента является квантованным значением C_q коэффициента признака гиперпараметра коэффициента. При этом первый модуль обратного квантования может выполнять обратное квантование квантованного значения C_q коэффициента признака гиперпараметра коэффициента для получения реконструированного значения C' коэффициента признака гиперпараметра коэффициента. Очевидно, что реконструированное значение C' коэффициента признака гиперпараметра коэффициента может совпадать со значением C коэффициента признака гиперпараметра коэффициента. Если использование первого модуля квантования не разрешено, то информацией о признаке гиперпараметра коэффициента является значение коэффициента С признака гиперпараметра коэффициента. В этом случае значение С коэффициента признака гиперпараметра коэффициента может быть использовано как реконструированное значение C' коэффициента признака гиперпараметра коэффициента. Таким образом, может быть получено реконструированное значение C' коэффициента признака гиперпараметра коэффициента.
[317] Из вышесказанного видно, что реконструированное значение C' коэффициента признака гиперпараметра коэффициента совпадает со значением C коэффициента признака гиперпараметра коэффициента. Следовательно, этап S76 может быть опущен, и значение C коэффициента признака гиперпараметра коэффициента может быть непосредственно использовано в качестве реконструированного значения C' коэффициента признака гиперпараметра коэффициента. В этом случае структура кодирующей стороны, показанная на фиг. 7A, может быть дополнительно улучшена для получения структуры кодирующей стороны, показанной на фиг. 7B.
[318] На этапе S77 выполняют обратное преобразование реконструированного значения C' коэффициента признака гиперпараметра коэффициента, чтобы получить значение P признака гиперпараметра коэффициента. Например, модуль генерирования признака гиперпараметра коэффициента выполняет обратное преобразование реконструированного значения C' коэффициента признака гиперпараметра коэффициента, чтобы получить значение P признака гиперпараметра коэффициента.
[319] На этапе S78 на основе значения P признака гиперпараметра коэффициента кодируют информацию о признаке изображения (такую как квантованное значение F_q признака изображения или значение F признака изображения), чтобы получить двоичный поток 2. Например, второй модуль кодирования признака может кодировать информацию о признаках изображения в двоичном потоке, соответствующем текущему блоку. Для простоты различения двоичный поток, содержащий информацию об признаках изображения, упоминается как двоичный поток 2.
[320] На этапе S79 модуль кодирования управляющего параметра получает управляющий параметр для текущего блока. Управляющий параметр может включать в себя информацию о нейронной сети. Управляющий параметр для текущего блока кодируют в двоичном потоке. Двоичный поток, содержащий управляющий параметр, обозначен как двоичный поток 0.
[321] В варианте осуществления модуль преобразования признака может для выполнения преобразования признаков на текущем блоке I использовать нейронную сеть кодирования. Модуль кодирования управляющего параметра может определять информацию 2 о нейронной сети, соответствующую модулю обратного преобразования признака изображения устройства декодирования, на основе сетевой структуры нейронной сети кодирования. Информацию 2 нейронной сети конфигурируют для определения нейронной сети 2 декодирования, соответствующей модулю обратного преобразования признака изображения, а информацию 2 о нейронной сети, соответствующую модулю обратного преобразования признака изображения, кодируют в двоичном потоке 0.
[322] В варианте осуществления модуль преобразования признака гиперпараметра коэффициента может для выполнения преобразования признака гиперпараметра коэффициента на значении F признака изображения использовать нейронную сеть кодирования. Модуль кодирования управляющего параметра может определять информацию 1 о нейронной сети, соответствующую модулю генерирования признака гиперпараметра коэффициента устройства декодирования, на основе сетевой структуры нейронной сети кодирования. Информацию 1 о нейронной сети конфигурируют для определения нейронной сети 1 декодирования, соответствующей модулю генерирования признака гиперпараметра коэффициента, и кодирования информации 1 о нейронной сети, соответствующей модулю генерирования признака гиперпараметра коэффициента, в двоичном потоке 0.
[323] В варианте осуществления, как также показано на фиг. 7A и 7B, могут быть дополнительно включены следующие этапы S80-S86.
[324] На этапе S80 двоичный поток 1 для текущего блока декодируют, чтобы получить информацию о признаке гиперпараметра коэффициента для текущего блока. Например, первый модуль декодирования признака может декодировать двоичный поток 1 для текущего блока, чтобы получить информацию о признаке гиперпараметра коэффициента для текущего блока.
[325] На этапе S81 определяют реконструированное значение коэффициента признака гиперпараметра коэффициента на основании информации о признаке гиперпараметра коэффициента.
[326] Например, если использование первого модуля квантования разрешено, информация о признаке гиперпараметра коэффициента является квантованным значением C_q коэффициента признака гиперпараметра коэффициента. При этом первый модуль обратного квантования может выполнять обратное квантование квантованного значения C_q коэффициента признака гиперпараметра коэффициента для получения реконструированного значения C' коэффициента признака гиперпараметра коэффициента. Если использование первого модуля квантования не разрешено, то информацией о признаке гиперпараметра коэффициента является значение коэффициента С признака гиперпараметра коэффициента. В этом случае значение С коэффициента признака гиперпараметра коэффициента может быть использовано как реконструированное значение C' коэффициента признака гиперпараметра коэффициента.
[327] На этапе S82 выполняют обратное преобразование реконструированного значения C' коэффициента признака гиперпараметра коэффициента, чтобы получить значение P признака гиперпараметра коэффициента. Например, модуль генерирования признака гиперпараметра коэффициента выполняет обратное преобразование реконструированного значения C' коэффициента признака гиперпараметра коэффициента, чтобы получить значение P признака гиперпараметра коэффициента. Например, модуль генерирования признака гиперпараметра коэффициента выполняет обратное преобразование реконструированного значения C' коэффициента признака гиперпараметра коэффициента на основе нейронной сети декодирования, чтобы получить значение P признака гиперпараметра коэффициента.
[328] На этапе S83 декодируют двоичный поток 2, соответствующий текущему блоку, чтобы получить информацию о признаке изображения для текущего блока. Например, второй модуль декодирования признака может декодировать двоичный поток 2, соответствующий текущему блоку, для получения информации о признаках изображения для текущего блока. При декодировании двоичного потока 2, соответствующего текущему блоку, второй модуль декодирования признака может использовать значение P признака гиперпараметра коэффициента для декодирования двоичного потока 2, соответствующего текущему блоку.
[329] На этапе S84 определяют реконструированное значение признака изображения на основании информации признака изображения.
[330] Например, если использование второго модуля квантования разрешено, информация о признаке изображения представляет собой квантованное значение F_q признака изображения, а второй модуль обратного квантования может выполнять обратное квантование квантованного значения F_q признака изображения для получения реконструированного значения F' признака изображения. Если использование второго модуля квантования не разрешено, информация о признаке изображения представляет собой значение F признака изображения. Значение F признака изображения может быть использовано как реконструированное значение F' признака изображения.
[331] На этапе S85 выполняют обратное преобразование реконструированного значения F' признака изображения, чтобы получить значение LF признака низкого порядка изображения. Например, модуль обратного преобразования признака изображения выполняет обратное преобразование реконструированного значения F' признака изображения, чтобы получить значения LF признака низкого порядка изображения. Например, для получения значения LF признака низкого порядка изображения выполняют обратное преобразование реконструированного значения F' признака изображения на основе нейронной сети декодирования.
[332] На этапе S86 определяют реконструированный блок I изображения для текущего блока на основе значения LF признака низкого порядка изображения. Например, если использование модуля повышения качества разрешено, модуль повышения качества улучшает значение LF признака низкого порядка изображения для получения реконструированного блока I изображения, соответствующего текущему блоку. Например, чтобы получить реконструированный блок I изображения, соответствующий текущему блоку, значения LF признака низкого порядка изображения улучшают на основе нейронной сети декодирования. Если использование модуля повышения качества не разрешено, значение LF признака низкого порядка изображения используют в качестве реконструированного блока I изображения.
[333] Например, что касается этапов S80-S86, то можно сослаться на вариант осуществления 5, который не будет повторно излагаться здесь.
[334] В варианте осуществления модуль генерирования признака гиперпараметра коэффициента использует нейронную сеть декодирования для обратного преобразования реконструированного значения C' коэффициента признака гиперпараметра коэффициента, чтобы получить значение P признака гиперпараметра коэффициента. Модуль кодирования управляющего параметра может определять информацию 1 о нейронной сети, соответствующую модулю формирования признаков гиперпараметра коэффициента устройства декодирования, на основе сетевой структуры нейронной сети декодирования. Информацию 1 о нейронной сети конфигурируют для определения нейронной сети 1 декодирования, соответствующей модулю генерирования признака гиперпараметра коэффициента, и информации 1 о нейронной сети кодируют в двоичном потоке 0.
[335] В варианте осуществления модуль обратного преобразования признака изображения использует нейронную сеть декодирования для выполнения обратного преобразования реконструированного значения F' признака изображения, чтобы получить значения LF признака низкого порядка изображения. Модуль кодирования управляющего параметра может определять информацию 2 о нейронной сети, соответствующую модулю обратного преобразования признака изображения устройства декодирования, на основе сетевой структуры нейронной сети декодирования. Информацию 2 о нейронной сети конфигурируют для определения декодирующей нейронной сети 2, соответствующей блоку обратного преобразования признака изображения, и информацию 2 о нейронной сети кодируют в двоичном потоке 0.
[336] В варианте осуществления модуль повышения качества может использовать нейронную сеть декодирования для повышения значения LF признака низкого порядка изображения для получения реконструированного блока I изображения, соответствующего текущему блоку. Модуль кодирования управляющего параметра может определять информацию 3 о нейронной сети, соответствующую модулю повышения качества устройства декодирования, на основе сетевой структуры нейронной сети декодирования, причем информацию 3 о нейронной сети конфигурируют для определения нейронной сети 3 декодирования, соответствующей блоку повышения качества, и информацию 3 о нейронной сети кодируют в двоичном потоке 0.
[337] Вариант осуществления 15: в вариантах осуществления настоящего изобретения предложен способ кодирования изображения, основанный на нейронной сети. Способ может быть применен к кодирующей стороне, как показано на фиг. 7C, на которой приведена принципиальная схема структуры кодирующей стороны. Кодирующая сторона может включать в себя модуль кодирования управляющего параметра, модуль преобразования признака, модуль преобразования признака гиперпараметра коэффициента, первый модуль кодирования признака, второй модуль кодирования признака, первый модуль декодирования признака, второй модуль декодирования признака, модуль генерирования признака гиперпараметра коэффициента, модуль обратного преобразования признака изображения и модуль повышения качества.
[338] Например, способ кодирования изображения, основанный на нейронной сети, в этом варианте осуществления может включать в себя следующие этапы S91-S99.
[339] На этапе S91 выполняют преобразование признака для текущего блока I, чтобы получить значения F признака изображения, соответствующего текущему блоку I. Например, модуль преобразования признака может выполнять преобразование признака на текущем блоке I на основе нейронной сети кодирования для получения значения F признака изображения, соответствующего текущему блоку I.
[340] На этапе S92 выполняют преобразование признака гиперпараметра коэффициента на значении F признака изображения, чтобы получить значение C коэффициента признака гиперпараметра коэффициента. Например, модуль преобразования признака гиперпараметра коэффициента выполняет, на основе нейронной сети кодирования, преобразование признака гиперпараметра коэффициента на значении F признака изображения для получения значения C коэффициента признака гиперпараметра коэффициента.
[341] На этапе S93 кодируют значение C коэффициента признака гиперпараметра коэффициента, чтобы получить двоичный поток 1. Например, первый модуль кодирования признака может кодировать значение C признака гиперпараметра коэффициента в двоичном потоке, соответствующем текущему блоку, чтобы получить двоичный поток 1.
[342] На этапе S94 определяют реконструированное значение C' коэффициента признака гиперпараметра коэффициента на основе значения C коэффициента признака гиперпараметра коэффициента. Если реконструированное значение С' коэффициента признака гиперпараметра коэффициента совпадает со значением С коэффициента признака гиперпараметра коэффициента, выполняют обратное преобразование реконструированного значения C' коэффициента признака гиперпараметра коэффициента, чтобы получить значение P признака гиперпараметра коэффициента. Например, модуль генерирования признака гиперпараметра коэффициента выполняет обратное преобразование реконструированного значения C' коэффициента признака гиперпараметра коэффициента, чтобы получить значение P признака гиперпараметра коэффициента.
[343] На этапе S95 на основе значения P признака гиперпараметра коэффициента кодируют значение F признака изображения, чтобы получить двоичный поток 2. Например, второй модуль кодирования признака кодирует значение F признака изображения в двоичном потоке, соответствующем текущему блоку, чтобы получить двоичный поток 2.
[344] На этапе S96 модуль кодирования управляющего параметра получает управляющий параметр для текущего блока. Управляющий параметр может включать в себя информацию о нейронной сети. Управляющий параметр для текущего блока кодируют в двоичном потоке. Двоичный поток, содержащий управляющий параметр, обозначен как двоичный поток 0.
[345] На этапе S97 декодируют двоичный поток 1, соответствующий текущему блоку, чтобы получить значение C коэффициента признака гиперпараметра коэффициента для текущего блока. Например, первый модуль кодирования признака может декодировать двоичный поток 1 для текущего блока, чтобы получить значение коэффициента C признака гиперпараметра коэффициента, соответствующего текущему блоку.
[346] Далее, на основе значения С коэффициента признака гиперпараметра коэффициента определяют реконструированное значение C' коэффициента признака гиперпараметра коэффициента.
[347] На этапе S98 выполняют обратное преобразование реконструированного значения C' коэффициента признака гиперпараметра коэффициента, чтобы получить значение P признака гиперпараметра коэффициента. Например, модуль генерирования признака гиперпараметра коэффициента на основе нейронной сети декодирования выполняет обратное преобразование реконструированного значения C' коэффициента признака гиперпараметра коэффициента, чтобы получить значение P признака гиперпараметра коэффициента. Двоичный поток 2, соответствующий текущему блоку, декодируют для получения значения F признака изображения, соответствующего текущему блоку, и значение F признака изображения используют в качестве реконструированного значения F' признака изображения. Например, второй модуль декодирования признака использует значение P признака гиперпараметра коэффициента для декодирования двоичного потока 2, соответствующего текущему блоку.
[348] На этапе S99 выполняют обратное преобразование реконструированного значения F' признака изображения, чтобы получить значение LF признака низкого порядка изображения. Например, модуль обратного преобразования признака изображения на основе нейронной сети декодирования выполняет обратное преобразование реконструированного значения F' признака изображения, чтобы получить значения LF признака низкого порядка изображения. Реконструированный блок I изображения для текущего блока определяют на основе значения LF признака низкого порядка изображения. Например, модуль повышения качества использует нейронную сеть декодирования для повышения значения LF признака низкого порядка изображения для получения реконструированного блока I изображения, соответствующего текущему блоку.
[349] Вариант осуществления 16: как и в вариантах осуществления 14 и 15, первый модуль кодирования признака может кодировать информацию о признаке гиперпараметра коэффициента в двоичном потоке 1, соответствующем текущему блоку. Процесс кодирования первого модуля кодирования признака соответствует процессу декодирования первого модуля декодирования признака, который описан в варианте осуществления 7. Например, первый модуль кодирования признака может использовать метод энтропийного кодирования (такой, как способ энтропийного кодирования CAVLC или CABAC) для кодирования информации о признаке гиперпараметра коэффициента, который не будет повторно излагаться здесь. Первый модуль кодирования признака может декодировать двоичный поток 1, соответствующий текущему блоку, чтобы получить информацию о признаке гиперпараметра коэффициента для текущего блока. Этот процесс см. в варианте осуществления 7.
[350] Что касается вариантов осуществления 14 и 15, второй модуль кодирования признака может кодировать информацию о признаке изображения на основании значения P признака гиперпараметра коэффициента, чтобы получить двоичный поток 2. Процесс кодирования второго модуля кодирования признаков соответствует процессу декодирования второго модуля декодирования признака, который показан в варианте осуществления 10. Например, второй модуль кодирования признака может использовать способ энтропийного кодирования (такой, как способ энтропийного кодирования CAVLC или CABAC) для кодирования информации о признаке изображения, который не будет повторно излагаться здесь. Второй модуль кодирования признака может декодировать двоичный поток 2, соответствующий текущему блоку, чтобы получить информацию о признаке изображения для текущего блока. Этот процесс см. в варианте осуществления 10.
[351] Что касается вариантов реализации 14 и 15, первый модуль квантования может квантовать значение C коэффициента признака гиперпараметра коэффициента для получения квантованного значения C_q коэффициента признака гиперпараметра коэффициента. Процесс квантования первого модуля квантования соответствует процессу обратного квантования первого модуля обратного квантования, который показан в варианте осуществления 8. Например, первый модуль квантования квантует значение коэффициента C признака гиперпараметра коэффициента на основе связанного с квантованием параметра, что не будет повторно излагаться здесь. Следует отметить, что для параметра, связанного с квантованием (такого, как параметр шага qstep, также называемый шагом квантования), справедливо следующее: 1) для каждого значения признака каждого канала признака используют один и тот же шаг квантования; 2) в каждом канале признака используют отличный от других шаг квантования, но для каждого значения признака в канале признака используют один и тот же шаг квантования; или 3) для каждого значения признака каждого канала признака используют отличный от других шаг квантования. Первый модуль обратного квантования кодирующей стороны может выполнять обратное квантование на квантованном значении C_q коэффициента признака гиперпараметра коэффициента для получения реконструированного значения C' коэффициента признака гиперпараметра коэффициента. Процедуру обработки первого модуля обратного квантования кодирующей стороны см. в варианте осуществления 10.
[352] Второй модуль квантования может квантовать значение F признака изображения для получения квантованного значения F_q признака изображения. Процесс квантования второго модуля квантования соответствует процессу обратного квантования второго модуля обратного квантования, который описан в варианте осуществления 11. Например, второй модуль квантования квантует значение F признака изображения на основе связанного с квантованием параметра, что не будет повторно излагаться здесь. Следует отметить, что для шага квантования справедливо следующее: 1) для каждого значения признака каждого канала признака используют один и тот же шаг квантования; 2) в каждом канале признака используют отличный от других шаг квантования, но для каждого значения признака в канале признака используют один и тот же шаг квантования; или 3) для каждого значения признака каждого канала признака используют отличный от других шаг квантования. Второй модуль обратного квантования кодирующей стороны может выполнять обратное квантование квантованного значения F_q признака изображения для получения реконструированного значения F' признака изображения. Процедуру обработки второго модуля обратного квантования кодирующей стороны см. в варианте осуществления 11.
[353] Вариант осуществления 17: как и в вариантах осуществления 14 и 15, модуль преобразования признака может выполнять преобразование признака на текущем блоке I на основе нейронной сети кодирования для получения значения F признака изображения, соответствующего текущему блоку I. Исходя из этого информация 2 о нейронной сети, соответствующая модулю обратного преобразования признака изображения устройства декодирования, может быть определена на основе сетевой структуры нейронной сети кодирования, и информация 2 о нейронной сети, соответствующая модулю обратного преобразования признака изображения, может быть закодирована в двоичном потоке 0. То, как устройство декодирования генерирует нейронную сеть 2 декодирования, соответствующую модулю обратного преобразования признака изображения, на основании информации 2 о нейронной сети, описано в варианте осуществления 12 и не будет повторно излагаться здесь.
[354] В варианте осуществления модуль преобразования признака может включать в себя нейронную сеть 2 кодирования. Нейронная сеть 2 кодирования может содержать базовый слой и улучшающий слой. Нейронная сеть 2 может быть разделена на базовый слой и улучшающий слой. Базовый слой может содержать по меньшей мере один слой сети, или базовый слой может не содержать слоя сети, то есть базовый слой может быть пустым. Улучшающий слой может содержать по меньшей мере один слой сети, или улучшающий слой может не содержать слоя сети, то есть улучшающий слой может быть пустым. Следует отметить, что множество слоев сети в нейронной сети 2 кодирования могут быть разбиты на базовые слои и улучшающие слои в соответствии с фактическими потребностями. Например, в качестве базового слоя может быть использован слой сети с фиксированной структурой сети, а в качестве улучшающего слоя слой может быть использован сети с нефиксированной структурой сети.
[355] Например, размер выходного признака нейронной сети 2 кодирования может быть меньше размера входного признака, или размер выходного признака может быть равен размеру входного признака, или размер выходного признака может быть больше размера входного признака.
[356] Например, в нейронной сети 2 кодирования базовый слой и улучшающий слой включают в себя по меньшей мере один сверточный слой. Например, базовый слой включает в себя по меньшей мере один сверточный слой, а улучшающий слой может включать в себя по меньшей мере один сверточный слой или не содержать сверточного слоя. В качестве альтернативы улучшающий слой может содержать по меньшей мере один сверточный слой, а базовый слой может содержать по меньшей мере один сверточный слой или не содержать ни одного сверточного слоя.
[357] В нейронной сети 2 кодирования базовый слой и улучшающий слой включают в себя по меньшей мере один слой остаточной структуры. Например, базовый слой включает в себя по меньшей мере один слой остаточной структуры, а улучшающий слой включает в себя или не включает в себя слой остаточной структуры. В качестве альтернативы улучшающий слой может включать в себя по меньшей мере один слой остаточной структуры, а базовый слой может включать в себя или не включать в себя слой остаточной структуры.
[358] Нейронная сеть 2 кодирования может включать в себя, без ограничений, сверточные слои и слои активации и т. д., что не ограничивается настоящим изобретением. Например, нейронная сеть 2 кодирования последовательно включает в себя сверточный слой с шагом, 2, слой активации, сверточный слой с шагом 1, и слой активации, причем все они рассматриваются как базовые слои. Например, нейронная сеть 2 кодирования последовательно включает в себя один сверточный слой с шагом 2 и один сверточный слой с шагом 1, причем все вышеуказанные сетевые слои используются в качестве базовых слоев. Например, нейронная сеть 2 кодирования последовательно включает в себя один сверточный слой с шагом 2, один слой активации, один сверточный слой с шагом 2, один слой активации, один сверточный слой с шагом 1, и один слой активации, все из которых рассматриваются как базовые слои.
[359] Например, первый слой сети модуля преобразования признака имеет 1 или 3 входных канала. Если блок входного изображения содержит только один канал (например, изображение в оттенках серого), количество входных каналов первого слоя сети модуля преобразования признака равно 1. Если модуль входного изображения содержит три канала (например, в формате RGB или YUV), первый слой сети модуля преобразования признака имеет три входных канала.
[360] Следует отметить, что сетевые структуры нейронной сети 2 кодирования модуля преобразования признака и нейронной сети 2 декодирования модуля обратного преобразования признака изображения (см. вариант осуществления 12) могут быть симметричными. Сетевые параметры нейронной сети 2 кодирования модуля преобразования признака и нейронной сети 2 декодирования модуля обратного преобразования признака изображения могут быть одинаковыми или разными.
[361] В варианте осуществления модуль преобразования признака может быть сконфигурирован со слоем сети сетевой структуры по умолчанию, а сетевой параметр, относящийся к слою сети сетевой структуры по умолчанию, является фиксированным. Например, в слоях сети сетевой структуры по умолчанию количество слоев обратной свертки фиксировано, количество слоев активации фиксировано, количество каналов в каждом слое обратной свертки фиксировано, размер ядра сверки фиксирован, коэффициент фильтрации фиксирован. Следует отметить, что слои сети сетевой структуры по умолчанию, сконфигурированные для модуля преобразования признака, и слои сети сетевой структуры по умолчанию, сконфигурированные для модуля обратного преобразования признака изображения (см. вариант осуществления 12), могут быть симметричными структурами.
[362] В варианте осуществления для модуля преобразования признака может быть сконфигурирован пул предварительно разработанных нейронных сетей (соответствующий пулу предварительно разработанных нейронных сетей устройства декодирования). Пул предварительно разработанных нейронных сетей включает в себя слои сети по меньшей мере одной предварительно разработанной сетевой структуры, а сетевой параметр, относящийся к слою сети предварительно разработанной сетевой структуры, может быть сконфигурирован в соответствии с фактическими потребностями. Например, пул предварительно разработанных нейронных сетей включает в себя слой сети предварительно разработанной сетевой структуры t1', слой сети предварительно разработанной сетевой структуры t2' и слой сети предварительно разработанной сетевой структуры t3' и т. д. Следует отметить, что слой сети предварительно разработанной сетевой структуры t1' и слой сети предварительно разработанной сетевой структуры t1 (см. вариант реализации 12) могут быть симметричными структурами. Слой сети предварительно разработанной сетевой структуры t2' и слой сети предварительно разработанной сетевой структуры t2 могут быть симметричными структурами. Слой сети предварительно разработанной сетевой структуры t3' и слой сети предварительно разработанной сетевой структуры t3 могут быть симметричными структурами.
[363] В варианте осуществления для модуля преобразования признака может быть динамически сгенерирован слой сети переменной сетевой структуры на основе сетевого параметра, причем сетевой параметр, относящийся к слою сети переменной сетевой структуры, генерируется динамически кодирующей стороной, а не предварительно сконфигурирован.
[364] В варианте осуществления кодирующая сторона определяет информацию 2 о нейронной сети, соответствующую модулю обратного преобразования признака изображения, на основе сетевой структуры нейронной сети кодирования 2, и информация 2 о нейронной сети, соответствующая модулю обратного преобразования признака изображения, может быть закодирована в двоичном потоке 0. Например, кодирующая сторона может получить информацию 2 о нейронной сети с использованием следующих сценариев 1-6.
[365] Сценарий 1: если в качестве базового слоя нейронной сети 2 кодирования используют слой сети сетевой структуры по умолчанию, и в качестве улучшающего слоя сети используют слой сети сетевой структуры по умолчанию, кодирующая сторона кодирует информацию о базовом слое и информацию об улучшающем слове в двоичном потоке 0, а информация о базовом слое и информация об улучшающем слое образуют информацию 2 о нейронной сети, соответствующую модулю обратного преобразования признака изображения. При этом информация о базовом слое включает в себя флаг использования в качестве базового слоя сети по умолчанию, и флаг использования в качестве базового слоя сети по умолчанию указывает на использование в качестве базового слоя сети по умолчанию. Информация об улучшающем слое включает в себя флаг использования в качестве улучшающего слоя сети по умолчанию, и флаг использования в качестве улучшающего слоя сети по умолчанию указывает на использование в качестве улучшающего слоя сети по умолчанию.
[366] Сценарий 2: если в качестве базового слоя нейронной сети 2 кодирования используют слой сети сетевой структуры по умолчанию, а в качестве улучшающего слоя сети используют слой сети предварительно разработанной сетевой структуры, кодирующая сторона кодирует информацию о базовом слое и информацию об улучшающем слове в двоичном потоке 0, а информация о базовом слое и информация об улучшающем слое образуют информацию 2 о нейронной сети, соответствующую модулю обратного преобразования признака изображения. При этом информация о базовом слое включает в себя флаг использования в качестве базового слоя сети по умолчанию, и флаг использования в качестве базового слоя сети по умолчанию указывает на использование в качестве базового слоя сети по умолчанию. Информация об улучшающем слое включает в себя флаг использования в качестве улучшающего слоя предварительной разработанной сети и индекс предварительно разработанной сети улучшающего слоя, причем флаг использования в качестве улучшающего слоя предварительно разработанной сети указывает на использование в качестве улучшающего слоя предварительно разработанной сети, индекс предварительно разработанной сети улучшающего слоя указывает соответствующий индекс слоя сети предварительно разработанной сетевой структуры в пуле предварительно разработанных нейронных сетей. Например, если в качестве улучшающего слоя нейронной сети 2 кодирования используют слой сети предварительно разработанной сетевой структуры t1', то индекс предварительно разработанной сетевой структуры улучшающего слоя представляет слой сети первой предварительно разработанной сетевой структуры t1' в пуле предварительно разработанных нейронных сетей.
[367] Сценарий 3: если в качестве базового слоя нейронной сети 2 кодирования используют слой сети сетевой структуры по умолчанию, а в качестве улучшающего слоя сети используют слой сети переменной сетевой структуры, кодирующая сторона кодирует информацию о базовом слое и информацию об улучшающем слове в двоичном потоке 0, а информация о базовом слое и информация об улучшающем слое образую информацию 2 о нейронной сети, соответствующую модулю обратного преобразования признака изображения. При этом информация о базовом слое включает в себя флаг использования в качестве базового слоя сети по умолчанию, и флаг использования в качестве базового слоя сети по умолчанию указывает на использование в качестве базового слоя сети по умолчанию. Информация об улучшающем слое включает в себя сетевой параметр, используемый для генерирования улучшающего слоя, при этом сетевой параметр может включать, без ограничений, по меньшей мере одно из следующего: количество слоев нейронной сети, флаг слоя обратной развертки, количество слоев обратной развертки, шаг квантования для каждого слоя обратной развертки, количество каналов для каждого слоя обратной свертки, размер ядра сверки, количество фильтров, индекс размера фильтра, флаг, указывающий, равен ли коэффициент фильтра нулю или нет, коэффициент фильтра, флаг слоя активации или тип слоя активации. Следует отметить, что сетевые параметры в информации о слое улучшения и сетевые параметры, используемые в слое улучшения нейронной сети 2 кодирования, могут отличаться. То есть для каждого сетевого параметра, используемого в улучшающем слое, может быть сгенерирован сетевой параметр, симметричный сетевому параметру. Ограничений на этот процесс генерирования нет, и этот симметричный сетевой параметр передают в качестве информации об улучшающем слое на декодирующую сторону.
[368] Сценарий 4: если в базовом слое нейронной сети 2 используют слой сети предварительно разработанной сетевой структуры, а в качестве улучшающего слоя использую слой сети сетевой структуры по умолчанию, информацию о базовом слое и информацию об улучшающем слое кодируют в двоичном потоке 0. Информация о базовом слое и информация об улучшающем слое образуют информацию 2 о нейронной сети, соответствующую модулю обратного преобразования признака изображения. Информация о базовом слое включает в себя флаг использования в качестве базового слоя предварительной разработанной сети и индекс предварительно разработанной сети базового слоя, причем флаг использования в качестве базового слоя предварительно разработанной сети указывает на использование в качестве базового слоя предварительно разработанной сети, индекс предварительно разработанной сети базового слоя указывает соответствующий индекс слоя сети предварительно разработанной сетевой структуры в пуле предварительно разработанных нейронных сетей. Информация об улучшающем слое включает в себя флаг использования в качестве улучшающего слоя сети по умолчанию, и флаг использования в качестве улучшающего слоя сети по умолчанию указывает на использование в качестве улучшающего слоя сети по умолчанию.
[369] Сценарий 5: если в качестве базового слоя нейронной сети 2 кодирования используют слой сети предварительно разработанной сетевой структуры, а в качестве улучшающего слоя сети используют слой сети предварительно разработанной сетевой структуры, кодирующая сторона кодирует информацию о базовом слое и информацию об улучшающем слове в двоичном потоке 0, а информация о базовом слое и информация об улучшающем слое образуют информацию 2 о нейронной сети, соответствующую модулю обратного преобразования признака изображения. Информация о базовом слое включает в себя флаг использования в качестве базового слоя предварительной разработанной сети и индекс предварительно разработанной сети базового слоя, причем флаг использования в качестве базового слоя предварительно разработанной сети указывает на использование в качестве базового слоя предварительно разработанной сети, индекс предварительно разработанной сети базового слоя указывает соответствующий индекс слоя сети предварительно разработанной сетевой структуры в пуле предварительно разработанных нейронных сетей. Информация об улучшающем слое включает в себя флаг использования в качестве улучшающего слоя предварительной разработанной сети и индекс предварительно разработанной сети улучшающего слоя, причем флаг использования в качестве улучшающего слоя предварительно разработанной сети указывает на использование в качестве улучшающего слоя предварительно разработанной сети, индекс предварительно разработанной сети улучшающего слоя указывает соответствующий индекс слоя сети предварительно разработанной сетевой структуры в пуле предварительно разработанных нейронных сетей.
[370] Сценарий 6: если в базовом слое нейронной сети 2 используют слой сети предварительно разработанной сетевой структуры, а в качестве улучшающего слоя использую слой сети переменной сетевой структуры, информацию о базовом слое и информацию об улучшающем слое кодируют в двоичном потоке 0. Информация о базовом слое и информация об улучшающем слое образуют информацию 2 о нейронной сети, соответствующую модулю обратного преобразования признака изображения. Информация о базовом слое включает в себя флаг использования в качестве базового слоя предварительной разработанной сети и индекс предварительно разработанной сети базового слоя, причем флаг использования в качестве базового слоя предварительно разработанной сети указывает на использование в качестве базового слоя предварительно разработанной сети, индекс предварительно разработанной сети базового слоя указывает соответствующий индекс слоя сети предварительно разработанной сетевой структуры в пуле предварительно разработанных нейронных сетей. Информация об улучшающем слое включает в себя сетевой параметр, используемый для генерирования улучшающего слоя, при этом сетевой параметр может включать, без ограничений, по меньшей мере одно из следующего: количество слоев нейронной сети, флаг слоя обратной развертки, количество слоев обратной развертки, шаг квантования для каждого слоя обратной развертки, количество каналов для каждого слоя обратной свертки, размер ядра сверки, количество фильтров, индекс размера фильтра, флаг, указывающий, равен ли коэффициент фильтра нулю или нет, коэффициент фильтра, флаг слоя активации или тип слоя активации. Сетевые параметры в информации о слое улучшения и сетевые параметры, используемые в слое улучшения нейронной сети 2 кодирования, могут отличаться. То есть для каждого сетевого параметра, используемого в улучшающем слое, может быть сгенерирован сетевой параметр, симметричный сетевому параметру. Ограничений на этот процесс генерирования нет, и этот симметричный сетевой параметр передают в качестве информации об улучшающем слое на декодирующую сторону.
[371] Вариант осуществления 18: как и в вариантах осуществления 14 и 15, модуль обратного преобразования признака изображения кодирующей стороны может выполнять обратное преобразование реконструированного значения F' признака изображения на основе нейронной сети декодирования, чтобы получить значения LF признака низкого порядка изображения. Исходя из этого информация 2 о нейронной сети, соответствующая модулю обратного преобразования признака изображения устройства декодирования, может быть определена на основе сетевой структуры нейронной сети декодирования, и информация 2 о нейронной сети, соответствующая модулю обратного преобразования признака изображения, может быть закодирована в двоичном потоке 0.
[372] В варианте осуществления модуль обратного преобразования признака изображения на стороне кодирования может включать в себя нейронную сеть 2 декодирования. Нейронная сеть 2 декодирования может включать в себя базовый слой и улучшающий слой. Сетевая структура нейронной сети 2 декодирования на кодирующей стороне такая же, как сетевая структура нейронной сети 2 декодирования на декодирующей стороне, как описано в варианте осуществления 12, и не будет повторно излагаться здесь.
[373] В варианте осуществления кодирующая сторона может конфигурировать слой сети сетевой структуры по умолчанию для модуля обратного преобразования признака изображения, причем слой сети сетевой структуры по умолчанию такой же, как слой сети сетевой структуры по умолчанию на декодирующей стороне. Кодирующая сторона может конфигурировать пул предварительно разработанных нейронный сетей для модуля обратного преобразования признака изображения, причем пул предварительно разработанных нейронный сетей может включать в себя слои сети по меньшей мере одной предварительно разработанной сетевой структуры. Этот пул предварительно разработанных нейронный сетей такой же, как и пул предварительно разработанных нейронный сетей декодирующей стороне. Кодирующая сторона может динамически генерировать слои сети с переменными сетевыми структурами для модуля обратного преобразования признака изображения на основе сетевых параметров. Кодирующая сторона может определять информацию 2 о нейронной сети, соответствующую модулю обратного преобразования признака изображения, на основе сетевой структуры нейронной сети декодирования 2, и информацию 2 о нейронной сети кодируют в двоичном потоке 0.
[374] Например, если в качестве базового слоя нейронной сети 2 декодирования используют слой сети сетевой структуры по умолчанию, и в качестве улучшающего слоя используют слой сети сетевой структуры по умолчанию, информация о базовом слое включает в себя флаг использования в качестве базового слоя сети по умолчанию, и флаг использования в качестве базового слоя сети по умолчанию указывает на то, что в качестве базового слоя использует сеть по умолчанию. Информация об улучшающем слое включает в себя флаг использования в качестве улучшающего слоя сети по умолчанию, и флаг использования в качестве улучшающего слоя сети по умолчанию указывает на использование в качестве улучшающего слоя сети по умолчанию. Например, если в качестве базового слоя нейронной сети 2 декодирования используют слой сети сетевой структуры по умолчанию, а в качестве улучшающего слоя используют слой сети предварительно разработанной сетевой структуры, информация о базовом слое включает в себя флаг использования в качестве базового слоя сети по умолчанию, и флаг использования в качестве базового слоя сети по умолчанию указывает на то, что в качестве базового слоя использует сеть по умолчанию. Информация об улучшающем слое включает в себя флаг использования в качестве улучшающего слоя предварительной разработанной сети и индекс предварительно разработанной сети улучшающего слоя, причем флаг использования в качестве улучшающего слоя предварительно разработанной сети указывает на использование в качестве улучшающего слоя предварительно разработанной сети, индекс предварительно разработанной сети улучшающего слоя указывает соответствующий индекс слоя сети предварительно разработанной сетевой структуры в пуле предварительно разработанных нейронных сетей. Например, если в качестве базового слоя нейронной сети 2 декодирования используют слой сети сетевой структуры по умолчанию, а в качестве улучшающего слоя используют слой сети переменной сетевой структуры, информация о базовом слое включает в себя флаг использования в качестве базового слоя сети по умолчанию, и флаг использования в качестве базового слоя сети по умолчанию указывает на то, что в качестве базового слоя использует сеть по умолчанию. Информация об улучшающем слое включает в себя сетевые параметры, используемые для генерирования улучшающего слоя, причем сетевые параметры в информации об улучшающем слое могут быть такими же, как и используемые в улучшающем слое нейронной сети 2 декодирования.
[375] Например, если в качестве базового слоя нейронной сети 2 декодирования используют слой сети предварительно разработанной сетевой структуры, а в качестве улучшающего слоя используют слой сети сетевой структуры по умолчанию, информация о базовом слое включает в себя флаг использования в качестве базового слоя предварительной разработанной сети и индекс предварительно разработанной сети базового слоя, причем флаг использования в качестве базового слоя предварительно разработанной сети указывает на использование в качестве базового слоя предварительно разработанной сети, индекс предварительно разработанной сети базового слоя указывает соответствующий индекс слоя сети предварительно разработанной сетевой структуры в пуле предварительно разработанных нейронных сетей. Информация об улучшающем слое включает в себя флаг использования в качестве улучшающего слоя сети по умолчанию, и флаг использования в качестве улучшающего слоя сети по умолчанию указывает на использование в качестве улучшающего слоя сети по умолчанию. Например, если в качестве базового слоя нейронной сети 2 декодирования используют слой сети предварительно разработанной сетевой структуры, и в качестве улучшающего слоя используют слой сети предварительно разработанной сетевой структуры, информация о базовом слое включает в себя флаг использования в качестве базового слоя предварительной разработанной сети и индекс предварительно разработанной сети базового слоя, причем флаг использования в качестве базового слоя предварительно разработанной сети указывает на использование в качестве базового слоя предварительно разработанной сети, индекс предварительно разработанной сети базового слоя указывает соответствующий индекс слоя сети предварительно разработанной сетевой структуры в пуле предварительно разработанных нейронных сетей. Информация об улучшающем слое включает в себя флаг использования в качестве улучшающего слоя предварительной разработанной сети и индекс предварительно разработанной сети улучшающего слоя, причем флаг использования в качестве улучшающего слоя предварительно разработанной сети указывает на использование в качестве улучшающего слоя предварительно разработанной сети, индекс предварительно разработанной сети улучшающего слоя указывает соответствующий индекс слоя сети предварительно разработанной сетевой структуры в пуле предварительно разработанных нейронных сетей. Например, если в качестве базового слоя нейронной сети 2 декодирования используют слой сети предварительно разработанной сетевой структуры, и в качестве улучшающего слоя используют слой сети переменной сетевой структуры, информация о базовом слое включает в себя флаг использования в качестве базового слоя предварительной разработанной сети и индекс предварительно разработанной сети базового слоя, причем флаг использования в качестве базового слоя предварительно разработанной сети указывает на использование в качестве базового слоя предварительно разработанной сети, индекс предварительно разработанной сети базового слоя указывает соответствующий индекс слоя сети предварительно разработанной сетевой структуры в пуле предварительно разработанных нейронных сетей. Информация об улучшающем слое включает в себя сетевые параметры, причем сетевые параметры в информации об улучшающем слое такие же, как и используемые в улучшающем слое нейронной сети 2 декодирования.
[376] Вариант осуществления 19: как и в вариантах осуществления 14 и 15, модуль преобразования признака гиперпараметра коэффициента может использовать нейронную сеть кодирования для выполнения преобразования признака гиперпараметра коэффициента на значении F признака изображения для получения значения C коэффициента признака гиперпараметра коэффициента. Исходя из этого информация 1 о нейронной сети, соответствующая модулю генерирования признака гиперпараметра коэффициента устройства декодирования, может быть определена на основе сетевой структуры нейронной сети кодирования, и информация 1 о нейронной сети, соответствующая модулю генерирования признака гиперпараметра коэффициента, может быть закодирована в двоичном потоке 0. То, как устройство декодирования генерирует нейронную сеть 1 декодирования, соответствующую модулю генерирования признака гиперпараметра коэффициента, на основании информации 1 о нейронной сети, описано в варианте осуществления 9 и не будет повторно излагаться здесь.
[377] В варианте осуществления модуль преобразования признака гиперпараметра коэффициента может включать в себя нейронную сеть 1 кодирования. Нейронная сеть 1 кодирования может содержать базовый слой и улучшающий слой. Нейронная сеть 1 может быть разделена на базовый слой и улучшающий слой. Базовый слой может содержать по меньшей мере один слой сети, или базовый слой может не содержать слоя сети, то есть базовый слой может быть пустым. Улучшающий слой может содержать по меньшей мере один слой сети, или улучшающий слой может не содержать слоя сети, то есть улучшающий слой может быть пустым. Следует отметить, что сетевые структуры нейронной сети 1 кодирования модуля преобразование признака гиперпараметра коэффициента и нейронной сети 1 декодирования модуля генерирования признака гиперпараметра коэффициента (см. вариант осуществления 9) могут быть симметричными. Сетевые параметры нейронной сети кодирования 1 модуля преобразования гиперпараметра коэффициента и нейронной сети 1 декодирования модуля генерирования гиперпараметра коэффициента могут быть одинаковыми или разными. Сетевая структура нейронной сети 1 кодирования не будет повторно излагаться здесь.
[378] В варианте осуществления модуль преобразования признака гиперпараметра коэффициента может быть сконфигурирован со слоем сети сетевой структуры по умолчанию, причем сетевой параметр, относящийся к слою сети сетевой структуры по умолчанию, является фиксированным. Следует отметить, что слои сети сетевой структуры по умолчанию, сконфигурированные для модуля преобразования признака гиперпараметра коэффициента, и слои сети сетевой структуры по умолчанию, сконфигурированные для модуля генерирования признака гиперпараметра коэффициента, могут быть симметричными структурами. Для модуля преобразования признака гиперпараметра коэффициента может быть сконфигурирован пул предварительно разработанных нейронных сетей (соответствующий пулу предварительно разработанных нейронных сетей устройства декодирования). Пул предварительно разработанных нейронных сетей включает в себя слои сети по меньшей мере одной предварительно разработанной сетевой структуры, а сетевой параметр, относящийся к слою сети предварительно разработанной сетевой структуры, может быть сконфигурирован в соответствии с фактическими потребностями. Для модуля преобразования признака гиперпараметра коэффициента могут динамически генерироваться слои сети переменных сетевых структур на основе сетевых параметров, а сетевые параметры, относящиеся к слоям сети переменных сетевых структур, динамически генерируются кодирующей стороной.
[379] В варианте осуществления кодирующая сторона может определять информацию 1 о нейронной сети, соответствующую модулю генерирования признака гиперпараметра коэффициента, на основе сетевой структуры нейронной сети 1 кодирования и кодировать информацию 1 о нейронной сети в двоичном потоке 0. При этом информация 1 о нейронной сети может включать в себя информацию о базовом слое и информацию об улучшающем слое. Способ кодирования информации 1 о нейронной сети аналогичен способу кодирования информации 2 о нейронной сети, который можно увидеть в варианте осуществления 17, и не будет повторно излагаться здесь. Например, если в качестве базового слоя нейронной сети 1 кодирования используют слой сети сетевой структуры по умолчанию, и в качестве улучшающего слоя используют слой сети сетевой структуры по умолчанию, информация о базовом слое включает в себя флаг использования в качестве базового слоя сети по умолчанию, и флаг использования в качестве базового слоя сети по умолчанию указывает на то, что в качестве базового слоя использует сеть по умолчанию. Информация об улучшающем слое включает в себя флаг использования в качестве улучшающего слоя сети по умолчанию, и флаг использования в качестве улучшающего слоя сети по умолчанию указывает на использование в качестве улучшающего слоя сети по умолчанию.
[380] Вариант осуществления 20: как и в вариантах осуществления 14 и 15, модуль генерирования признака гиперпараметра коэффициента кодирующей стороны может на основе нейронной сети декодирования выполнять обратное преобразование реконструированного значения C' коэффициента признака гиперпараметра коэффициента, чтобы получить значение P признака гиперпараметра коэффициента. Исходя из этого информация 1 о нейронной сети, соответствующая модулю генерирования признака гиперпараметра коэффициента устройства кодирования, может быть определена на основе сетевой структуры нейронной сети кодирования, и информация 1 о нейронной сети, соответствующая модулю генерирования признака гиперпараметра коэффициента, может быть закодирована в двоичном потоке 0.
[381] В варианте осуществления модуль генерирования гиперпараметра коэффициента на кодирующей стороне может включать в себя нейронную сеть 1 декодирования. Нейронная сеть 1 декодирования может включать в себя базовый слой и улучшающий слой. Сетевая структура нейронной сети 1 декодирования на кодирующей стороне такая же, как сетевая структура нейронной сети 1 декодирования на декодирующей стороне, как описано в варианте осуществления 9, и не будет повторно излагаться здесь.
[382] В варианте осуществления кодирующая сторона может конфигурировать слой сети сетевой структуры по умолчанию для модуля обратного преобразования признака изображения, причем слой сети сетевой структуры по умолчанию такой же, как слой сети сетевой структуры по умолчанию на декодирующей стороне. Кодирующая сторона может конфигурировать пул предварительно разработанных нейронный сетей для модуля генерирования признака гиперпараметра коэффициента, причем пул предварительно разработанных нейронный сетей может включать в себя слои сети по меньшей мере одной предварительно разработанной сетевой структуры. Этот пул предварительно разработанных нейронный сетей такой же, как и пул предварительно разработанных нейронный сетей декодирующей стороне. Кодирующая сторона может динамически генерировать слои сети с переменными сетевыми структурами для модуля формирования признака гиперпараметра коэффициента на основе сетевых параметров. Кодирующая сторона может определять информацию 1 о нейронной сети, соответствующую модулю генерирования признака гиперпараметра коэффициента, на основе сетевой структуры нейронной сети 1 декодирования и кодировать информацию 1 о нейронной сети в двоичном потоке 0. При этом информация 1 о нейронной сети может включать в себя информацию о базовом слое и информацию об улучшающем слое. Способ кодирования информации 1 о нейронной сети аналогичен способу кодирования информации 2 о нейронной сети, который можно увидеть в варианте осуществления 18, и не будет повторно излагаться здесь. Например, если в качестве базового слоя нейронной сети 1 декодирования (используемой кодирующей стороной) используют слой сети сетевой структуры по умолчанию, а в качестве улучшающего слоя используют слой сети переменной сетевой структуры, информация о базовом слое включает в себя флаг использования в качестве базового слоя сети по умолчанию, и флаг использования в качестве базового слоя сети по умолчанию указывает на то, что в качестве базового слоя использует сеть по умолчанию. Информация об улучшающем слое включает в себя сетевые параметры, используемые для генерирования улучшающего слоя, причем сетевые параметры в информации об улучшающем слое могут быть такими же, как и используемые в улучшающем слое (т. е. улучшающем слое, используемом кодирующей стороной) нейронной сети 1 декодирования.
[383] Вариант осуществления 21: как и в вариантах осуществления 14 и 15, модуль повышения качества на кодирующей стороне может улучшать значения LF признаков низкого порядка изображения на основе нейронной сети декодирования для получения реконструированного блока I изображения, соответствующего текущему блоку. Исходя из этого информация 3 о нейронной сети, соответствующая модулю повышения качества устройства декодирования, может быть определена на основе сетевой структуры нейронной сети декодирования, и информация 3 о нейронной сети, соответствующая модулю повышения качества, может быть закодирована в двоичном потоке 0. Например, модуль повышения качества на кодирующей стороне может включать в себя нейронную сеть 3 декодирования. Нейронная сеть 3 декодирования может включать в себя базовый слой и улучшающий слой. Сетевая структура нейронной сети 3 декодирования на кодирующей стороне такая же, как сетевая структура нейронной сети 3 декодирования на декодирующей стороне, как описано в варианте осуществления 13, и не будет повторно излагаться здесь.
[384] В варианте осуществления кодирующая сторона может конфигурировать слой сети сетевой структуры по умолчанию для модуля повышения качества, причем слой сети сетевой структуры по умолчанию такой же, как слой сети сетевой структуры по умолчанию на декодирующей стороне. Кодирующая сторона может конфигурировать пул предварительно разработанных нейронный сетей для модуля повышения качества, причем пул предварительно разработанных нейронный сетей может включать в себя слои сети по меньшей мере одной предварительно разработанной сетевой структуры. Этот пул предварительно разработанных нейронный сетей такой же, как и пул предварительно разработанных нейронный сетей декодирующей стороне. Кодирующая сторона может динамически генерировать слои сети с переменными сетевыми структурами для модуля повышения качества на основе сетевых параметров. Кодирующая сторона может определять информацию 3 о нейронной сети, соответствующую модулю повышения качества, на основе сетевой структуры нейронной сети 3 декодирования и кодировать информацию 3 о нейронной сети в двоичном потоке 0. При этом информация 3 о нейронной сети может включать в себя информацию о базовом слое и информацию об улучшающем слое. Способ кодирования информации 3 о нейронной сети аналогичен способу кодирования информации 2 о нейронной сети, который можно увидеть в варианте осуществления 18, и не будет повторно излагаться здесь. Например, если в качестве базового слоя нейронной сети 3 декодирования используют слой сети сетевой структуры по умолчанию, а в качестве улучшающего слоя используют слой сети переменной сетевой структуры, информация о базовом слое включает в себя флаг использования в качестве базового слоя сети по умолчанию, и флаг использования в качестве базового слоя сети по умолчанию указывает на то, что в качестве базового слоя использует сеть по умолчанию. Информация об улучшающем слое включает в себя сетевые параметры, используемые для генерирования улучшающего слоя, причем сетевые параметры в информации об улучшающем слое могут быть такими же, как и используемые в улучшающем слое нейронной сети 3 декодирования.
[385] В варианте осуществления для сетевых параметров в вариантах осуществления 1-21 могут быть использованы сетевые параметры с фиксированной запятой. Например, веса фильтров в сетевых параметрах могут быть представлены шириной 4, 8, 16, 32 и 64 бита. Для значений признаков, выводимых сетью, также могут быть применены ограничения битовой ширины, например, они могут быть ограничены шириной 4, 8, 16, 32 и 64 бита.
[386] Например, битовая ширина сетевых параметров сети может быть ограничена 8 битами, а их значения могут быть ограничены диапазоном [-127, 127]. Битовая ширина значений признаков, выводимых сетью, может быть ограничена 8 битами, а их значения могут быть ограничены диапазоном [-127, 127].
[387] Вариант осуществления 22: соответствующую таблицу синтаксиса заголовка изображения см. в таблице 4, в которой приведена информация о синтаксисе (т. е. синтаксис уровня изображения), относящаяся к заголовку изображения. В таблице 4 u(n) используется для представления способ кодирования n-битным кодом фиксированной длины.
Таблица 4
| определение заголовка изображения | дескриптор |
| picture_header() { | |
| pic_width | u(16) |
| pic_height | u(16) |
| bu_width | u(16) |
| bu_height | u(16) |
| block_width | u(16) |
| block_height | u(16) |
| pic_format | u(3) |
| bit_depth | u(5) |
| feature_map_max_bit_depth | u(4) |
| pic_qp | u(6) |
| lossless_flag | u(1) |
| } |
[384] В таблице 4 pic_width представляет ширину изображения, pic_height представляет высоту изображения, а pic_format представляет форматы изображений, такие как RGB 444, YUV 444, YUV 420, YUV 422 и т. д. Bu_width представляет ширину базового блока, bu_height представляет высоту базового блока, block_width представляет ширину блока изображения, block_height представляет высоту блока изображения, bit_depth представляет битовую глубину изображения, pic_qp представляет параметр квантования в текущем изображении, lossless_flag указывает, помечено ли текущее изображение как кодированное без потерь, feature_map_max_bit_depth представляет максимальную битовую глубину карты признаков, причем максимальная битовая глубина карты признаков сконфигурирована для ограничения максимальных и минимальных значений карты входных или выходных признаков сети.
[389] Например, вышеуказанные варианты осуществления могут быть реализованы по отдельности или в комбинации. Например, каждый из вариантов осуществления 1-22 может быть реализован отдельно, и по меньшей мере два из вариантов осуществления 1-22 могут быть реализованы в комбинации.
[384] Например, в вышеуказанных вариантах осуществления изложенное в отношении кодирующей стороны также может быть применено к декодирующей стороне, то есть декодирующая сторона может выполнять обработку таким же образом, а изложенное в отношении декодирующей стороны также может быть применено к кодирующей стороне, то есть кодирующая сторона может выполнять обработку таким же образом.
[391] В варианте осуществления, основанном на той же идее применения, что и вышеприведенный способ, предложено устройство декодирования изображения, основанное на нейронной сети. Устройство применяют на декодирующей стороне. Устройство содержит: одно или более запоминающих устройств, выполненных с возможностью хранения видеоданных; и декодер, выполненный с возможностью реализации способов декодирования, описанных в вариантах осуществления 1-22, а именно, потока обработки декодирующей стороны.
[392] Например, в варианте осуществления декодер выполнен с возможностью осуществления следующих операций:
[393] декодирование управляющего параметра и информации об изображении для текущего блока из двоичного потока;
[394] получение информации о нейронной сети для модуля обработки декодирования из управляющего параметра и генерирование нейронной сети декодирования для модуля обработки декодирования на основании информации о нейронной сети; и
[395] определение входного признака для модуля обработки декодирования на основании указанной информации об изображении и обработка входного признака на основе нейронной сети декодирования для получения выходного признака для модуля обработки декодирования.
[396] В варианте осуществления, основанном на той же идее применения, что и вышеприведенный способ, предложено устройство кодирования изображения, основанное на нейронной сети. Устройство применяют на кодирующей стороне. Устройство содержит: одно или более запоминающих устройств, выполненных с возможностью хранения видеоданных; и кодер, выполненный с возможностью реализации способов кодирования, описанных в вариантах осуществления 1-22, а именно, потока обработки кодирующей стороны.
[397] Например, в варианте осуществления кодер выполнен с возможностью осуществления следующих операций:
[398] определение входного признака для модуля обработки кодирования на основе текущего блока, получение выходного признака для модуля обработки кодирования путем обработки входного признака на основе нейронной сети кодирования для модуля обработки кодирования и определение информации об изображении для текущего блока на основе указанного выходного признака;
[399] получение управляющего параметра для текущего блока, причем управляющий параметр включает в себя информацию о нейронной сети для модуля обработки декодирования, а информацию о нейронной сети конфигурируют для определения нейронной сети декодирования для модуля обработки декодирования; и
[400] кодирование управляющего параметра и информации об изображении для текущего блока в двоичном потоке.
[401] На основании той же концепции применения, что и в вышеприведенных способах, в вариантах осуществления предложено устройство декодирования изображения (называемое также видеодекодером), которое с аппаратной точки зрения имеет аппаратную архитектуру, в частности, схематически показанную на фиг. 8A. Аппаратная архитектура включает в себя процессор 811 и машиночитаемый носитель 812 для хранения информации, причем машиночитаемый носитель 812 для хранения информации хранит машиноисполняемые команды, которые могут быть исполнены процессором 811. Процессор 811 выполнен с возможностью исполнения машиоисполняемых команд для реализации способов декодирования согласно вариантам осуществления 1-22 настоящего изобретения.
[402] На основании той же концепции применения, что и в вышеприведенных способах, в вариантах осуществления предложено устройство кодирования изображения (называемое также видеокодером), которое с аппаратной точки зрения имеет аппаратную архитектуру, в частности, схематически показанную на фиг. 8B. Схема аппаратной архитектуры включает в себя процессор 821 и машиночитаемый носитель 822 для хранения информации, причем машиночитаемый носитель 822 для хранения информации хранит машиноисполняемые команды, которые могут быть исполнены процессором 821; процессор 821 выполнен с возможностью исполнения машиноисполняемых команд для реализации способов кодирования согласно вариантам осуществления 1-22 настоящего изобретения.
[403] На основании той же концепции применения, что и в вышеприведенных способах, в вариантах осуществления настоящего изобретения дополнительно предложен машиночитаемый носитель для хранения информации, на котором хранятся несколько компьютерных команд. При исполнении этих компьютерных команд процессором могут быть реализованы способы, приведенные в вариантах осуществления настоящего изобретения, например, способы декодирования или способы кодирования в вышеуказанных вариантах осуществления.
[404] На основе той же концепции применения, что и вышеприведенные способы, варианты осуществления настоящего изобретения дополнительно обеспечивают компьютерную прикладную программу, которая при выполнении процессором реализует способы декодирования или способы кодирования в вариантах осуществления настоящего изобретения.
[405] На основании той же концепции применения, что и в вышеприведенных способах, в вариантах осуществления настоящего изобретения дополнительно предложено аппаратное устройство для декодирования изображения, основанное на нейронной сети, который применяют на декодирующей стороне. Аппаратное устройство включает в себя: модуль декодирования, выполненный с возможностью декодирования управляющего параметра и информации об изображении для текущего блока из двоичного потока; модуль получения, выполненный с возможностью получения информации о нейронной сети для модуля обработки декодирования из управляющего параметра и генерирования нейронной сети декодирования для модуля обработки декодирования на основании информации о нейронной сети; и модуль обработки, выполненный с возможностью определения входного признака для модуля обработки декодирования на основании информации об изображении и обработки входного признака на основе нейронной сети декодирования для получения выходного признака для модуля обработки декодирования.
[406] Например, модуль получения выполнен с возможностью при генерировании нейронной сети декодирования для модуля обработки декодирования на основании информации о нейронной сети, когда информация о нейронной сети включает в себя информацию о базовом слое и информацию об улучшающем слое: определения базового слоя для модуля обработки декодирования на основании информации о базовом слое; определения улучшающего слоя для модуля обработки декодирования на основании информации об улучшающем слое; и генерирования нейронной сети декодирования для модуля обработки декодирования на основе базового слоя и улучшающего слоя.
[407] Например, модуль получения выполнен с возможностью получения базового слоя по умолчанию при определении базового слоя для модуля обработки декодирования на основании информации о базовом слое, если информация о базовом слое включает в себя флаг использования в качестве базового слоя сети по умолчанию, и флаг использования в качестве базового слоя сети по умолчанию указывает на использование в качестве базового слоя сети по умолчанию.
[408] Например, модуль получения выполнен с возможностью выбора базового слоя предварительно разработанной сетевой структуры, соответствующей индексу предварительно разработанной структуры базового слоя, из пула предварительного разработанных нейронных сетей при определении базового слоя для модуля обработки декодирования на основании информации о базовом слое, если информация о базовом слое включает в себя флаг использования в качестве базового слоя предварительно разработанной сети и индекс предварительно разработанной сети базового слоя, а флаг использования в качестве базового слоя предварительно разработанной сети указывает на использование в качестве базового слоя предварительно разработанной сети; при этом пул предварительно разработанных нейронных сетей включает в себя слои сети по меньшей мере одной предварительно разработанной сетевой структуры.
[409] Например, модуль получения выполнен с возможностью получения улучшающего слоя по умолчанию при определении улучшающего слоя для модуля обработки декодирования на основании информации об улучшающем слое, если информация об улучшающем слое включает в себя флаг использования в качестве улучшающего слоя сети по умолчанию, и флаг использования в качестве улучшающего слоя сети по умолчанию указывает на использование в качестве улучшающего слоя сети по умолчанию.
[410] Например, модуль получения выполнен с возможностью выбора улучшающего слоя предварительно разработанной сетевой структуры, соответствующей индексу предварительно разработанной структуры улучшающего слоя, из пула предварительного разработанных нейронных сетей при определении улучшающего слоя для модуля обработки декодирования на основании информации об улучшающем слое, если информация об улучшающем слое включает в себя флаг использования в качестве улучшающего слоя предварительно разработанной сети и индекс предварительно разработанной сети улучшающего слоя, а флаг использования в качестве улучшающего слоя предварительно разработанной сети указывает на использование в качестве улучшающего слоя предварительно разработанной сети; при этом пул предварительно разработанных нейронных сетей включает в себя слои сети по меньшей мере одной предварительно разработанной сетевой структуры.
[411] Например, модуль получения выполнен с возможностью генерирования улучшающего слоя для модуля обработки декодирования на основе сетевого параметра при определении улучшающего слоя для модуля обработки декодирования на основании информации об улучшающем слое; при этом сетевой параметр включает в себя по меньшей мере одно из следующего: количество слоев нейронной сети, флаг слоя обратной развертки, количество слоев обратной развертки, шаг квантования для каждого слоя обратной развертки, количество каналов для каждого слоя обратной свертки, размер ядра сверки, количество фильтров, индекс размера фильтра, флаг, указывающий, равен ли коэффициент фильтра нулю или нет, коэффициент фильтра, флаг слоя активации или тип слоя активации.
[412] Например, информация об изображении включает в себя информацию о признаке гиперпараметра коэффициента и информацию о признаке изображения, причем модуль обработки выполнен с возможностью при определении входного признака для модуля обработки декодирования на основании информации об изображении и обработке входного признака на основе нейронной сети декодирования для получения выходного признака для модуля обработки декодирования осуществления: определения реконструированного значения коэффициента признака гиперпараметра коэффициента на основании информации о признаке гиперпараметра коэффициента при выполнении процесса декодирования генерирования признака гиперпараметра коэффициента и выполнения обратного преобразования реконструированного значения коэффициента признака гиперпараметра коэффициента на основе нейронной сети декодирования для получения значения признака гиперпараметра коэффициента, причем значение признака гиперпараметра коэффициента конфигурируют для декодирования информации о признаке изображения из двоичного потока; определения реконструированного значения признака изображения на основании информации о признаке изображения при выполнении процесса декодирования обратного преобразования признака изображения; и выполнения обратного преобразования реконструированного значения признака изображения на основе нейронной сети декодирования для получение значения признака низкого порядка изображения, причем значение признака низкого порядка изображения конфигурируют с возможностью получения реконструированного блока изображения для текущего блока.
[413] Например, модуль обработки выполнен с возможностью выполнения обратного квантования информации о признаке гиперпараметра коэффициента для получения реконструированного значения коэффициента гиперпараметра признака при определении реконструированного значения коэффициента признака гиперпараметра коэффициента на основании информации о признаке гиперпараметра коэффициента, если управляющий параметр содержит первую информацию о разрешении на использование, а первая информация о разрешении на использование представляет собой разрешение на использование первого обратного квантования.
[414] Например, модуль обработки выполнен с возможностью выполнения обратного квантования информации о признаке изображения для получения реконструированного значения признака изображения при определении реконструированного значения признака изображения на основании информации о признаке изображения, если управляющий параметр включает в себя вторую информацию о разрешении на использование, а вторая информация о разрешении на использование представляет собой разрешение на использование второго обратного квантования.
[415] Например, модуль обработки дополнительно выполнен с возможностью получения значения признака низкого порядка изображения и выполнения улучшения на значении признака низкого порядка изображения на основе нейронной сети декодирования для получения реконструированного блока изображения для текущего блока при выполнении процесса декодирования улучшения качества, если управляющий параметр включает в себя третью информацию о разрешении на использование, а третья информация о разрешении на использование представляет собой разрешающее на использование повышения качества.
[416] На основании той же концепции применения, что и в вышеприведенных способах, в вариантах осуществления настоящего изобретения дополнительно предложено аппаратное устройство кодирования изображения, основанное на нейронной сети, который применяют на кодирующей стороне. Аппаратное устройство включает в себя: модуль обработки, выполненный с возможностью определения входного признака для модуля обработки кодирования на основе текущего блока, обработки входного признака на основе нейронной сети кодирования для модуля обработки кодирования для получения выходного признака для модуля обработки кодирования и определения информации об изображении для текущего блока на основе выходного признака; модуль получения, выполненный с возможностью получения управляющего параметра для текущего блока, причем управляющий параметр включает в себя информацию о нейронной сети для модуля обработки декодирования, и информацию о нейронной сети конфигурируют для определения нейронной сети декодирования для модуля обработки декодирования; и модуль кодирования, выполненный с возможностью кодирования управляющего параметра и информации об изображении для текущего блока в двоичном потоке.
[417] Например, информация о нейронной сети включает в себя информацию о базовом слое и информацию об улучшающем слое, а нейронная сеть декодирования включает в себя базовый слой, определенный на основании информации о базовом слое, и улучшающий слой, определенный на основании информации об улучшающем слое.
[418] Например, если информация о базовом слое включает в себя флаг использования в качестве базового слоя сети по умолчанию, и флаг использования в качестве базового слоя сети по умолчанию указывает на использование в качестве базового слоя сети по умолчанию, нейронная сеть декодирования использует базовый слой сетевой структуры по умолчанию.
[419] Например, если информация о базовом слое включает в себя флаг использования в качестве базового слоя предварительно разработанной сети и индекс предварительно разработанной сети базового слоя, а флаг использования в качестве базового слоя предварительно разработанной сети указывает на использование в качестве базового слоя предварительно разработанной сети, нейронная сеть декодирования использует базовый слой предварительно разработанной сетевой структуры, выбранной из пула предварительно разработанных нейронных сетей в соответствии с индексом предварительно разработанной сети базового слоя, при этом пул предварительно разработанных нейронных сетей включает в себя слои сети по меньшей мере одной предварительно разработанной сетевой структуры.
[420] Например, если информация об улучшающем слое включает в себя флаг использования в качестве улучшающего слоя сети по умолчанию, и флаг использования в качестве улучшающего слоя сети по умолчанию указывает на использование в качестве улучшающего слоя сети по умолчанию, нейронная сеть декодирования использует улучшающий слой сетевой структуры по умолчанию.
[421] Например, если информация об улучшающем слое включает в себя флаг использования в качестве улучшающего слоя предварительно разработанной сети и индекс предварительно разработанной сети улучшающего слоя, а флаг использования в качестве улучшающего слоя предварительно разработанной сети указывает на использование в качестве улучшающего слоя предварительно разработанной сети, нейронная сеть декодирования использует улучшающий слой предварительной разработанной сетевой структуры, выбранной из пула предварительно разработанных нейронных сетей в соответствии с индексом предварительно разработанной сети улучшающего слоя, при этом пул предварительно разработанных нейронных сетей включает в себя слои сети по меньшей мере одной предварительно разработанной сетевой структуры.
[422] Например, если информация об улучшающем слое включает в себя включает в себя сетевой параметр, сконфигурированный для генерирования улучшающего слоя, то нейронная сеть декодирования использует улучшающий слой, генерируемый на основе сетевого параметра, при этом сетевой параметр включает по меньшей мере одно из следующего: количество слоев нейронной сети, флаг слоя обратной развертки, количество слоев обратной развертки, шаг квантования для каждого слоя обратной развертки, количество каналов для каждого слоя обратной свертки, размер ядра сверки, количество фильтров, индекс размера фильтра, флаг, указывающий, равен ли коэффициент фильтра нулю или нет, коэффициент фильтра, флаг слоя активации или тип слоя активации.
[423] Например, модуль обработки дополнительно выполнен с возможностью: разбиения текущего изображения на N неперекрывающихся блоков изображения, где N является положительным целым числом; выполнения дополнения границы для каждого из блоков изображения для получения блоков изображения с дополненной границей; причем при выполнении дополнения границы для каждого из блоков изображения значение дополнения не зависит от реконструированного значения пикселя соседнего блока изображения; и генерирования N текущих блоков на основе блоков изображения с дополненной границей.
[424] Например, модуль обработки дополнительно используют для: разбиения текущего изображения на множество базовых блоков, где каждый из множества базовых блоков включает в себя по меньшей мере один блок изображения; выполнения дополнения границы на каждом блоке изображения для получения блоков изображения с дополненной границей; при этом для каждого из по меньшей мере одного блока изображения в каждом из множества базовых блоков при выполнении дополнения границы на блоке изображения значение дополнения для блока изображения не зависит от реконструированного значения пикселя другого блока изображения в пределах одного и того же базового блока, и значение дополнения для блока изображения может зависеть от реконструированного значения пикселя блока изображения в другом базовом блоке; и генерирования множества текущих блоков на основе блоков изображения с дополненной границей.
[425] Специалисту в данной области должно быть понятно, что варианты осуществления настоящего изобретения могут быть представлены в виде способов, систем или компьютерных программных продуктов. Настоящее изобретение может принимать форму полностью аппаратного варианта осуществления, полностью программного варианта осуществления или варианта осуществления, объединяющего аспекты программного и аппаратного обеспечения. Настоящее изобретение может принимать форму компьютерного программного продукта, реализованного на одном или более пригодных для использования компьютером носителях для хранения информации (включая, без ограничений, дисковое устройство для хранения информации, CD-ROM, оптическое устройство для хранения информации и т. д.), которые содержат пригодный для использования компьютером программный код.
[426] Вышеприведенное описание представляет собой только варианты осуществления настоящего изобретения и не предназначено для ограничения настоящего изобретения. Специалистами в данной области могут быть внесены различные модификации и изменения в настоящее изобретение. Любая модификация, эквивалентная замена, усовершенствование и т. д., произведенные в соответствии с сущностью и принципами настоящего изобретения, входят в объем формулы изобретения настоящего изобретения.
Claims (68)
1. Способ декодирования изображения, основанный на нейронной сети, включающий:
декодирование управляющего параметра и информации об изображении для текущего блока из двоичного потока;
получение информации о нейронной сети для модуля обработки декодирования из управляющего параметра и генерирование нейронной сети декодирования для модуля обработки декодирования на основании информации о нейронной сети; и
определение входного признака для модуля обработки декодирования на основании информации об изображении и обработку входного признака на основе нейронной сети декодирования для получения выходного признака для модуля обработки декодирования;
причем информация об изображении содержит информацию о признаке гиперпараметра коэффициента и информацию о признаке изображения, при этом определение входного признака для модуля обработки декодирования на основании информации об изображении и обработка входного признака на основе нейронной сети декодирования для получения выходного признака для модуля обработки декодирования включает:
при выполнении процесса декодирования для генерирования признака гиперпараметра коэффициента определение реконструированного значения коэффициента признака гиперпараметра коэффициента на основании информации о признаке гиперпараметра коэффициента и выполнение обратного преобразования реконструированного значения коэффициента признака гиперпараметра коэффициента на основе нейронной сети декодирования для получения значения признака гиперпараметра коэффициента; при этом значение признака гиперпараметра коэффициента конфигурируют для декодирования информации о признаке изображения из двоичного потока; а
при выполнении процесса декодирования обратного преобразования признака изображения определение реконструированного значения признака изображения на основании информации о признаке изображения и выполнение обратного преобразования реконструированного значения признака изображения на основе нейронной сети декодирования для получения значения признака низкого порядка изображения; причем значение признака низкого порядка изображения конфигурируют для получения реконструированного блока изображения для текущего блока.
2. Способ по п. 1, в котором, если информация о нейронной сети содержит информацию о базовом слое и информацию об улучшающем слое, генерирование нейронной сети декодирования для модуля обработки декодирования на основании информации о нейронной сети включает:
определение базового слоя для модуля обработки декодирования на основании информации о базовом слое;
определение улучшающего слоя для модуля обработки декодирования на основании информации об улучшающем слое; и
генерирование нейронной сети декодирования для модуля обработки декодирования на основе базового слоя и улучшающего слоя.
3. Способ по п. 2, в котором определение базового слоя для модуля обработки декодирования на основании информации о базовом слое включает:
получение базового слоя сетевой структуры по умолчанию, если информация о базовом слое содержит флаг использования в качестве базового слоя сети по умолчанию, и флаг использования в качестве базового слоя сети по умолчанию указывает на использование в качестве базового слоя сети по умолчанию.
4. Способ по п. 2, в котором определение базового слоя для модуля обработки декодирования на основании информации о базовом слое включает:
если информация о базовом слое содержит флаг использования в качестве базового слоя предварительно разработанной сети и индекс предварительно разработанной сети базового слоя, а флаг использования в качестве базового слоя предварительно разработанной сети указывает на использование в качестве базового слоя предварительно разработанной сети, то выбор базового слоя предварительно разработанной сетевой структуры, соответствующей индексу предварительно разработанной сети базового слоя, из пула предварительно разработанных нейронных сетей; при этом пул предварительно разработанных нейронных сетей содержит слои сети по меньшей мере одной предварительно разработанной сетевой структуры.
5. Способ по п. 2, в котором определение улучшающего слоя для модуля обработки декодирования на основании информации об улучшающем слое включает:
получение улучшающего слоя сетевой структуры по умолчанию, если информация об улучшающем слое содержит флаг использования в качестве улучшающего слоя сети по умолчанию, и флаг использования в качестве улучшающего слоя сети по умолчанию указывает на использование в качестве улучшающего слоя сети по умолчанию.
6. Способ по п. 2, в котором определение улучшающего слоя для модуля обработки декодирования на основании информации об улучшающем слое включает:
если информация об улучшающем слое содержит флаг использования в качестве улучшающего слоя предварительно разработанной сети и индекс предварительно разработанной сети улучшающего слоя, а флаг использования в качестве улучшающего слоя предварительно разработанной сети указывает на использование в качестве улучшающего слоя предварительно разработанной сети, то выбор улучшающего слоя предварительно разработанной сетевой структуры, соответствующей указанному индексу предварительно разработанной сети улучшающего слоя, из пула предварительно разработанных нейронных сетей; при этом пул предварительно разработанных нейронных сетей содержит слои сети по меньшей мере одной предварительно разработанной сетевой структуры.
7. Способ по п. 2, в котором определение улучшающего слоя для модуля обработки декодирования на основании информации об улучшающем слое включает:
если информация об улучшающем слое содержит сетевой параметр для генерирования улучшающего слоя, генерирование улучшающего слоя для модуля обработки декодирования на основе указанного сетевого параметра; при этом сетевой параметр содержит по меньшей мере одно из следующего:
количество слоев нейронной сети, флаг слоя обратной развертки, количество слоев обратной развертки, шаг квантования для каждого слоя обратной развертки, количество каналов для каждого слоя обратной свертки, размер ядра сверки, количество фильтров, индекс размера фильтра, флаг, указывающий, равен ли коэффициент фильтра нулю или нет, коэффициент фильтра, флаг слоя активации или тип слоя активации.
8. Способ по п. 1, в котором
определение реконструированного значения коэффициента признака гиперпараметра коэффициента на основании информации о признаке гиперпараметра коэффициента включает:
если управляющий параметр содержит первую информацию о разрешении на использование, и первая информация о разрешении на использование представляет собой разрешение на использование первого обратного квантования, выполнение обратного квантования информации о признаке гиперпараметра коэффициента для получения реконструированного значения коэффициента признака гиперпараметра коэффициента; а
определение реконструированного значения признака изображения на основании информации о признаке изображения включает:
если управляющий параметр содержит вторую информацию о разрешении на использование, и вторая информация о разрешении на использование представляет собой разрешение на использование второго обратного квантования, выполнение обратного квантования информации о признаке изображения для получения реконструированного значения признака изображения.
9. Способ по п. 1, дополнительно включающий:
если при выполнении процесса декодирования повышения качества управляющий параметр содержит третью информацию о разрешении на использование, и третья информация о разрешении на использование представляет собой разрешение на использование повышения качества, получение значения признака низкого порядка изображения и выполнение улучшения значения признака низкого порядка изображения на основе нейронной сети декодирования для получения реконструированного блока изображения для текущего блока.
10. Способ кодирования изображения, основанный на нейронной сети, включающий:
определение входного признака для модуля обработки кодирования на основе текущего блока, обработку входного признака на основе нейронной сети кодирования для модуля обработки кодирования для получения выходного признака для модуля обработки кодирования и определение информации об изображении для текущего блока на основе выходного признака;
получение управляющего параметра для текущего блока, причем управляющий параметр содержит информацию о нейронной сети для модуля обработки декодирования, а информацию о нейронной сети конфигурируют для определения нейронной сети декодирования для модуля обработки декодирования; и
кодирование управляющего параметра и информации об изображении для текущего блока в двоичном потоке, причем информация об изображении содержит информацию о признаке гиперпараметра коэффициента и информацию о признаке изображения, так что устройство декодирования выполняет:
при выполнении процесса декодирования для генерирования признака гиперпараметра коэффициента определение реконструированного значения коэффициента признака гиперпараметра коэффициента на основании информации о признаке гиперпараметра коэффициента и выполнение обратного преобразования реконструированного значения коэффициента признака гиперпараметра коэффициента на основе нейронной сети декодирования для получения значения признака гиперпараметра коэффициента; при этом значение признака гиперпараметра коэффициента конфигурируют для декодирования информации о признаке изображения из двоичного потока; а
при выполнении процесса декодирования обратного преобразования признака изображения определение реконструированного значения признака изображения на основании информации о признаке изображения и выполнение обратного преобразования реконструированного значения признака изображения на основе нейронной сети декодирования для получения значения признака низкого порядка изображения; причем значение признака низкого порядка изображения конфигурируют для получения реконструированного блока изображения для текущего блока.
11. Способ по п. 10, в котором информация о нейронной сети содержит информацию о базовом слое и информацию об улучшающем слое, а нейронная сеть декодирования содержит базовый слой, определенный на основании информации о базовом слое, и улучшающий слой, определенный на основании информации об улучшающем слое.
12. Способ по п. 11, в котором, если информация о базовом слое содержит флаг использования в качестве базового слоя сети по умолчанию и флаг использования в качестве базового слоя сети по умолчанию указывает на использование в качестве базового слоя сети по умолчанию, нейронная сеть декодирования использует базовый слой сетевой структуры по умолчанию.
13. Способ по п. 11, в котором, если информация о базовом слое содержит флаг использования в качестве базового слоя предварительно разработанной сети и индекс предварительно разработанной сети базового слоя, а флаг использования в качестве базового слоя предварительно разработанной сети указывает на использование в качестве базового слоя предварительно разработанной сети, нейронная сеть декодирования использует базовый слой предварительно разработанной сетевой структуры, выбранной из пула предварительно разработанных нейронных сетей в соответствии с индексом предварительно разработанной сети базового слоя;
при этом пул предварительно разработанных нейронных сетей содержит слои сети по меньшей мере одной предварительно разработанной сетевой структуры.
14. Способ по п. 11, в котором, если информация об улучшающем слое содержит флаг использования в качестве улучшающего слоя сети по умолчанию и флаг использования в качестве улучшающего слоя сети по умолчанию указывает на использование в качестве улучшающего слоя сети по умолчанию, нейронная сеть декодирования использует улучшающий слой сетевой структуры по умолчанию.
15. Способ по п. 11, в котором, если информация об улучшающем слое содержит флаг использования в качестве улучшающего слоя предварительно разработанной сети и индекс предварительно разработанной сети улучшающего слоя, а флаг использования в качестве улучшающего слоя предварительно разработанной сети указывает на использование в качестве улучшающего слоя предварительно разработанной сети, нейронная сеть декодирования использует улучшающий слой предварительной разработанной сетевой структуры, выбранной из пула предварительно разработанных нейронных сетей в соответствии с индексом предварительно разработанной сети улучшающего слоя;
при этом пул предварительно разработанных нейронных сетей содержит слои сети по меньшей мере одной предварительно разработанной сетевой структуры.
16. Способ по п. 11, в котором, если информация об улучшающем слое содержит сетевой параметр, сконфигурированный для генерирования улучшающего слоя, нейронная сеть декодирования использует улучшающий слой, сгенерированный на основе сетевого параметра; при этом сетевой параметр содержит по меньшей мере одно из следующего:
количество слоев нейронной сети, флаг слоя обратной развертки, количество слоев обратной развертки, шаг квантования для каждого слоя обратной развертки, количество каналов для каждого слоя обратной свертки, размер ядра сверки, количество фильтров, индекс размера фильтра, флаг, указывающий, равен ли коэффициент фильтра нулю или нет, коэффициент фильтра, флаг слоя активации или тип слоя активации.
17. Способ по любому из пп. 10–16, в котором способ дополнительно включает перед определением входного признака для модуля обработки кодирования на основе текущего блока:
разбиение текущего изображения на N неперекрывающихся блоков изображения, где N - положительное целое число;
выполнение дополнения границы для каждого из блоков изображения для получения блоков изображения с дополненной границей; причем при выполнении дополнения границы для каждого из блоков изображения значение дополнения не зависит от реконструированного значения пикселя соседнего блока изображения; и
генерирование N текущих блоков на основе блоков изображения с дополненной границей.
18. Способ по любому из пп. 10–16, в котором способ дополнительно перед определением входного признака для модуля обработки кодирования на основе текущего блока включает:
разбиение текущего изображения на множество базовых блоков, причем каждый из множества базовых блоков содержит по меньшей мере один блок изображения;
выполнение дополнения границы на каждом блоке изображения для получения блоков изображения с дополненной границей; при этом для каждого блока изображения при выполнении дополнения границы на блоке изображения значение дополнения для блока изображения не зависит от реконструированного значения пикселя другого блока изображения в пределах одного и того же базового блока, и разрешена зависимость значения дополнения для блока изображения от реконструированного значения пикселя блока изображения в другом базовом блоке; и
генерирование множества текущих блоков на основе блоков изображения с дополненной границей.
19. Устройство декодирования изображения на основе нейронной сети, содержащее:
одно или более запоминающих устройств, выполненных с возможностью хранения видеоданных; и
декодер, выполненный с возможностью реализации следующих функций:
декодирование управляющего параметра и информации об изображении для текущего блока из двоичного потока; получение информации о нейронной сети для модуля обработки декодирования из управляющего параметра и генерирование нейронной сети декодирования для модуля обработки декодирования на основании указанной информации о нейронной сети; и определение входного признака для модуля обработки декодирования на основании информации об изображении и обработка входного признака на основе нейронной сети декодирования для получения выходного признака для модуля обработки декодирования;
причем информация об изображении содержит информацию о признаке гиперпараметра коэффициента и информацию о признаке изображения, при этом определение входного признака для модуля обработки декодирования на основании информации об изображении и обработка входного признака на основе нейронной сети декодирования для получения выходного признака для модуля обработки декодирования включает:
при выполнении процесса декодирования для генерирования признака гиперпараметра коэффициента определение реконструированного значения коэффициента признака гиперпараметра коэффициента на основании информации о признаке гиперпараметра коэффициента и выполнение обратного преобразования реконструированного значения коэффициента признака гиперпараметра коэффициента на основе нейронной сети декодирования для получения значения признака гиперпараметра коэффициента; при этом значение признака гиперпараметра коэффициента конфигурируют для декодирования информации о признаке изображения из двоичного потока; а
при выполнении процесса декодирования обратного преобразования признака изображения определение реконструированного значения признака изображения на основании информации о признаке изображения и выполнение обратного преобразования реконструированного значения признака изображения на основе нейронной сети декодирования для получения значения признака низкого порядка изображения; причем значение признака низкого порядка изображения конфигурируют для получения реконструированного блока изображения для текущего блока.
20. Устройство кодирования изображения на основе нейронной сети, содержащее:
одно или более запоминающих устройств, выполненных с возможностью хранения видеоданных; и
кодер, выполненный с возможностью реализации следующих функций:
определение входного признака для модуля обработки кодирования на основе текущего блока, обработка входного признака на основе нейронной сети кодирования для модуля обработки кодирования для получения выходного признака для модуля обработки кодирования и определение информации об изображении для текущего блока на основе указанного выходного признака;
получение управляющего параметра для текущего блока, причем управляющий параметр содержит информацию о нейронной сети для модуля обработки декодирования, а информацию о нейронной сети конфигурируют для определения нейронной сети декодирования для модуля обработки декодирования; и
кодирование управляющего параметра и информации об изображении для текущего блока в двоичном потоке;
причем информация об изображении содержит информацию о признаке гиперпараметра коэффициента и информацию о признаке изображения, так что устройство декодирования выполняет:
при выполнении процесса декодирования для генерирования признака гиперпараметра коэффициента определение реконструированного значения коэффициента признака гиперпараметра коэффициента на основании информации о признаке гиперпараметра коэффициента и выполнение обратного преобразования реконструированного значения коэффициента признака гиперпараметра коэффициента на основе нейронной сети декодирования для получения значения признака гиперпараметра коэффициента; при этом значение признака гиперпараметра коэффициента сконфигурировано для декодирования информации о признаке изображения из двоичного потока; а
при выполнении процесса декодирования обратного преобразования признака изображения определение реконструированного значения признака изображения на основании информации о признаке изображения и выполнение обратного преобразования реконструированного значения признака изображения на основе нейронной сети декодирования для получения значения признака низкого порядка изображения; причем значение признака низкого порядка изображения сконфигурировано для получения реконструированного блока изображения для текущего блока.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210834031.1 | 2022-07-14 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| RU2025103028A RU2025103028A (ru) | 2025-04-17 |
| RU2860373C2 true RU2860373C2 (ru) | 2026-04-17 |
Family
ID=
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110401836A (zh) * | 2018-04-25 | 2019-11-01 | 杭州海康威视数字技术股份有限公司 | 一种图像解码、编码方法、装置及其设备 |
| US20200213587A1 (en) * | 2017-08-28 | 2020-07-02 | Interdigital Vc Holdings, Inc. | Method and apparatus for filtering with mode-aware deep learning |
| RU2747445C1 (ru) * | 2017-07-07 | 2021-05-05 | Мицубиси Электрик Корпорейшн | Устройство обработки данных, способ обработки данных и носитель данных |
| CN113163200A (zh) * | 2021-02-09 | 2021-07-23 | 北京工业大学 | 基于卷积变分自编码器神经网络的双层hdr图像压缩器及方法 |
| CN114125446A (zh) * | 2020-06-22 | 2022-03-01 | 华为技术有限公司 | 图像编码方法、解码方法和装置 |
| CN114339262A (zh) * | 2020-09-30 | 2022-04-12 | 华为技术有限公司 | 熵编/解码方法及装置 |
| RU2020138597A (ru) * | 2018-04-27 | 2022-05-27 | ИНТЕРДИДЖИТАЛ ВиСи ХОЛДИНГЗ, ИНК. | Способ и устройство для кодирования и декодирования видео на основе реализации нейронной сети CABAC |
| CN114731406A (zh) * | 2020-12-04 | 2022-07-08 | 深圳市大疆创新科技有限公司 | 编码方法、解码方法和编码装置、解码装置 |
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2747445C1 (ru) * | 2017-07-07 | 2021-05-05 | Мицубиси Электрик Корпорейшн | Устройство обработки данных, способ обработки данных и носитель данных |
| US20200213587A1 (en) * | 2017-08-28 | 2020-07-02 | Interdigital Vc Holdings, Inc. | Method and apparatus for filtering with mode-aware deep learning |
| CN110401836A (zh) * | 2018-04-25 | 2019-11-01 | 杭州海康威视数字技术股份有限公司 | 一种图像解码、编码方法、装置及其设备 |
| RU2020138597A (ru) * | 2018-04-27 | 2022-05-27 | ИНТЕРДИДЖИТАЛ ВиСи ХОЛДИНГЗ, ИНК. | Способ и устройство для кодирования и декодирования видео на основе реализации нейронной сети CABAC |
| CN114125446A (zh) * | 2020-06-22 | 2022-03-01 | 华为技术有限公司 | 图像编码方法、解码方法和装置 |
| CN114339262A (zh) * | 2020-09-30 | 2022-04-12 | 华为技术有限公司 | 熵编/解码方法及装置 |
| CN114731406A (zh) * | 2020-12-04 | 2022-07-08 | 深圳市大疆创新科技有限公司 | 编码方法、解码方法和编码装置、解码装置 |
| CN113163200A (zh) * | 2021-02-09 | 2021-07-23 | 北京工业大学 | 基于卷积变分自编码器神经网络的双层hdr图像压缩器及方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR20230010259A (ko) | 사후-필터링을 위한 콘텐츠-적응형 온라인 트레이닝 방법 및 장치 | |
| JP7343669B2 (ja) | Vvcにおける色変換のための方法及び機器 | |
| CN113544705A (zh) | 用于图片编码和解码的方法和设备 | |
| JP7467687B2 (ja) | 符号化・復号方法及び装置 | |
| CA3131035C (en) | Coding and decoding methods, coder and decoder, and storage medium | |
| KR20240000583A (ko) | 블록 단위 이미지 압축에서의 디블로킹을 위한 콘텐츠 적응적 온라인 트레이닝 방법 및 장치 | |
| US20240195965A1 (en) | Method of restoration in subblock units, and video decoding apparatus | |
| CN119384825B (zh) | 一种视频编码方法、设备、存储介质及码流 | |
| JP2024019652A (ja) | ビデオフィルタリングのための方法および装置 | |
| KR20230003566A (ko) | 포스트 필터링에 의한 신경 이미지 압축에서의 블록별 컨텐츠-적응적 온라인 훈련 | |
| TW202408228A (zh) | 濾波方法、編碼器、解碼器、碼流以及儲存媒介 | |
| WO2023138391A1 (zh) | 系数解码方法、装置、图像解码器及电子设备 | |
| US20250240415A1 (en) | Encoding and decoding methods, encoder, decoder, code stream, and storage medium | |
| TWI856179B (zh) | 影像編碼裝置及其控制方法、以及影像解碼裝置及其控制方法 | |
| RU2860373C2 (ru) | Способ и аппаратное устройство для декодирования изображения, основанные на нейронной сети, способ и аппаратное устройство для кодирования изображения, основанные на нейронной сети, и устройство для этого | |
| KR20230012218A (ko) | 신경망 기반의 인-루프 필터를 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
| AU2023306422B2 (en) | Image decoding method and apparatus based on neural network, image encoding method and apparatus based on neural network, and device thereof | |
| WO2023197230A1 (zh) | 滤波方法、编码器、解码器以及存储介质 | |
| HK40118566A (zh) | 一种基於神经网络的图像解码、编码方法、装置及其设备 | |
| HK40118566B (zh) | 一种基於神经网络的图像解码、编码方法、装置及其设备 | |
| CN114598871A (zh) | 一种编码、解码方法、装置及其设备 | |
| CN119697376B (zh) | 基于预测增强的视频编解码方法及装置 | |
| TW202516910A (zh) | 具有基於變換器之視訊寫碼工具的神經網路 | |
| HK40083589A (en) | Video decoding method, video decoding device and computer-readable storage medium |