Перекрестная ссылка на родственную заявку
В настоящей заявке на патент испрашивается преимущество предварительной заявки на патент США № 62/901,552, поданной 17 сентября 2019 года Е-Куи Вангом (Ye-Kui Wang) и озаглавленной «Signaling Subpicture IDs in Subpicture Based Video Coding», которая включена в данный документ путем ссылки.
Область техники, к которой относится изобретение
Настоящее раскрытие относится, в общем, к кодированию видео и, в частности, относится к сигнализации идентификаторов (ID) подызображений при кодировании видео на основе подызображений.
Уровень техники
Объем видеоданных, необходимых для отображения даже относительно короткого видео, может быть значительным, что может привести к трудностям в тех случаях, когда данные должны передаваться в потоковом режиме или передаваться иным образом по сети связи с ограниченной пропускной способностью. Таким образом, видеоданные обычно сжимаются перед передачей по современным телекоммуникационным сетям. Размер видео также может быть проблемой, когда видео хранится в запоминающем устройстве, так как ресурсы памяти могут быть ограничены. Устройства для сжатия видео часто используют программное обеспечение и/или аппаратные средства в источнике для кодирования видеоданных перед передачей или хранением, тем самым уменьшая количество данных, необходимых для представления цифровых видеоизображений. Затем сжатые данные принимаются в пункте назначения устройством для распаковки видео, которое декодирует видеоданные. При ограниченных сетевых ресурсах и постоянно растущих требованиях к более высокому качеству видео желательны улучшенные технологии сжатия и распаковки, которые улучшают коэффициент сжатия практически без ущерба для качества изображения.
Раскрытие сущности изобретения
Первый аспект относится к способу, реализуемому декодером, содержащему прием, декодером, битового потока, включающего в себя набор параметров последовательности (SPS), набор параметров изображения (PPS) и множество подызображений, ассоциированных с сопоставлением идентификатора (ID) подызображения, причем SPS включает в себя флаг SPS; определение, декодером, того, имеет ли флаг SPS первое значение или второе значение, причем флаг SPS, имеющий первое значение, указывает то, что сопоставление ID подызображений сигнализируется в SPS, и флаг SPS, имеющий второе значение, указывает то, что сопоставление ID подызображений сигнализируется в PPS; получение, декодером, сопоставления ID подызображений из SPS, когда флаг SPS имеет первое значение, и из PPS, когда флаг SPS имеет второе значение; и декодирование, декодером, множества подызображений с использованием сопоставления ID подызображений.
Способ обеспечивает технологии, которые обеспечивают эффективную сигнализацию идентификаторов (ID) подызображений даже тогда, когда ID подызображений изменяются в пределах кодированной видеопоследовательности (CVS) в сценариях применения, включающих в себя как извлечение битовых подпотоков, так и слияние битовых подпотоков. Эффективная сигнализация достигается путем установки флагов в наборе параметров последовательности (SPS) или наборе параметров изображения (SPS), чтобы указать то, могут ли изменяться ID подызображений в CVS, и, если да, то, где расположены ID подызображений. Это позволяет уменьшить избыточность и повысить эффективность кодирования. Таким образом, при кодировании видео кодер/декодер (также называемый как «кодек») улучшен по сравнению с существующими кодеками. С практической точки зрения, улучшенный процесс кодирования видео предлагает пользователю более высокий уровень пользовательского восприятия при отправке, получении и/или просмотре видео.
В качестве варианта, в любом из предыдущих аспектов, другая реализация аспекта предусматривает то, что PPS включает в себя флаг PPS, и способ дополнительно содержит определение, декодером, того, имеет ли флаг PPS первое значение или второе значение, причем флаг PPS, имеющий первое значение, указывает то, что сопоставление ID подызображений сигнализируется в PPS, и флаг PPS, имеющий второе значение, указывает то, что сопоставление ID подызображений не сигнализируется в PPS; и получение, декодером, сопоставления ID подызображений из PPS, когда флаг PPS имеет первое значение.
В качестве варианта, в любом из предыдущих аспектов, другая реализация аспекта предусматривает то, что флаг SPS имеет первое значение, когда флаг PPS имеет второе значение, и флаг SPS имеет второе значение, когда флаг PPS имеет первое значение.
В качестве варианта, в любом из предыдущих аспектов, другая реализация аспекта предусматривает то, что первое значение равно единице, и второе значение равно нулю.
В качестве варианта, в любом из предыдущих аспектов, другая реализация аспекта предусматривает то, что SPS включает в себя второй флаг SPS, причем второй флаг SPS указывает то, сигнализируется ли сопоставление ID подызображений явным образом в SPS или PPS.
В качестве варианта, в любом из предыдущих аспектов, другая реализация аспекта предусматривает то, что битовый поток дополнительно содержит флаг изменения кодированной видеопоследовательности (CVS), причем флаг изменения CVS указывает то, разрешено ли изменение сопоставления ID подызображений в пределах кодированной видеопоследовательности (CVS) битового потока.
В качестве варианта, в любом из предыдущих аспектов, другая реализация аспекта предусматривает то, что битовый поток содержит объединенный битовый поток, и сопоставление ID подызображений было изменено в CVS битового потока.
Второй аспект относится к способу, реализуемому кодером, причем способ содержит кодирование, декодером, битового потока, включающего в себя набор параметров последовательности (SPS), набор параметров изображения (PPS) и множество подызображений, ассоциированных с сопоставлением идентификатора (ID) подызображения, при этом SPS включает в себя флаг SPS; установку, декодером, флага SPS на первое значение, когда сопоставление ID подызображений сигнализируется в SPS, и на второе значение, когда сопоставление ID подызображений сигнализируется в PPS; и сохранение, декодером, битового потока для передачи в декодер.
Способ обеспечивает технологии, которые обеспечивают эффективную сигнализацию идентификаторов (ID) подызображений даже тогда, когда ID подызображений изменяются в пределах кодированной видеопоследовательности (CVS) в сценариях применения, включающих в себя как извлечение битовых подпотоков, так и слияние битовых подпотоков. Эффективная сигнализация достигается путем установки флагов в наборе параметров последовательности (SPS) или наборе параметров изображения (SPS), чтобы указать то, могут ли изменяться ID подызображений в CVS, и, если да, то, где расположены ID подызображений. Это позволяет уменьшить избыточность и повысить эффективность кодирования. Таким образом, при кодировании видео кодер/декодер (также называемый как «кодек») улучшен по сравнению с существующими кодеками. С практической точки зрения, улучшенный процесс кодирования видео предлагает пользователю более высокий уровень пользовательского восприятия при отправке, получении и/или просмотре видео.
В качестве варианта, в любом из предыдущих аспектов, другая реализация аспекта предусматривает то, что декодер устанавливает флаг PPS в PPS на первое значение, когда в PPS сигнализируется сопоставление ID подызображений, и на второе значение, когда сопоставление ID подызображений не сигнализируется в PPS.
В качестве варианта, в любом из предыдущих аспектов, другая реализация аспекта предусматривает то, что флаг SPS имеет первое значение, когда флаг PPS имеет второе значение, и флаг SPS имеет второе значение, когда флаг PPS имеет первое значение.
В качестве варианта, в любом из предыдущих аспектов, другая реализация аспекта предусматривает то, что первое значение равно единице, и второе значение равно нулю.
В качестве варианта, в любом из предыдущих аспектов, другая реализация аспекта предусматривает то, что SPS включает в себя второй флаг SPS, причем второй флаг SPS указывает то, сигнализируется ли сопоставление подызображения явным образом в SPS или PPS.
В качестве варианта, в любом из предыдущих аспектов, другая реализация аспекта предусматривает то, что битовый поток дополнительно содержит флаг изменения кодированной видеопоследовательности (CVS), причем флаг изменения CVS указывает то, может ли измениться сопоставление ID подызображений в пределах кодированной видеопоследовательности (CVS) битового потока.
В качестве варианта, в любом из предыдущих аспектов, другая реализация аспекта предусматривает то, что битовый поток содержит объединенный битовый поток, и сопоставление ID подызображений было изменено в CVS битового потока.
Третий аспект относится к устройству декодирования, содержащему приемник, выполненный с возможностью приема битового потока видео, включающего в себя набор параметров последовательности (SPS), набор параметров изображения (PPS) и множество подызображений, ассоциированных с сопоставлением идентификатора (ID) подызображения, причем SPS включает в себя флаг SPS; память, подключенную к приемнику, причем память хранит инструкции; и процессор, подключенный к памяти, причем процессор выполнен с возможностью исполнения инструкций, которые предписывают устройству декодирования определить то, имеет ли флаг SPS первое значение или второе значение, причем флаг SPS, имеющий первое значение, указывает то, что сопоставление ID подызображений сигнализируется в SPS, и флаг SPS, имеющий второе значение, указывает то, что сопоставление ID подызображений сигнализируется в PPS; получения сопоставления ID подызображений из SPS, когда флаг SPS имеет первое значение, и из PPS, когда флаг SPS имеет второе значение; и декодирования множества подызображений с использованием сопоставления ID подызображений.
Устройство декодирования обеспечивает технологии, которые обеспечивают эффективную сигнализацию идентификаторов (ID) подызображений даже тогда, когда ID подызображений изменяются в пределах кодированной видеопоследовательности (CVS) в сценариях применения, включающих в себя как извлечение битовых подпотоков, так и слияние битовых подпотоков. Эффективная сигнализация достигается путем установки флагов в наборе параметров последовательности (SPS) или наборе параметров изображения (SPS), чтобы указать то, могут ли изменяться ID подызображений в CVS, и, если да, то, где расположены ID подызображений. Это позволяет уменьшить избыточность и повысить эффективность кодирования. Таким образом, при кодировании видео кодер/декодер (также называемый как «кодек») улучшен по сравнению с существующими кодеками. С практической точки зрения, улучшенный процесс кодирования видео предлагает пользователю более высокий уровень пользовательского восприятия при отправке, получении и/или просмотре видео.
В качестве варианта, в любом из предыдущих аспектов, другая реализация аспекта предусматривает то, что флаг SPS имеет первое значение, когда флаг PPS имеет второе значение, причем флаг SPS имеет второе значение, когда флаг PPS имеет первое значение, при этом первое значение равно единице, и второе значение равно нулю.
В качестве варианта, в любом из предыдущих аспектов, другая реализация аспекта предусматривает то, что SPS включает в себя второй флаг SPS, причем второй флаг SPS указывает то, сигнализируется ли сопоставление подызображения явным образом в SPS или PPS.
В качестве варианта, в любом из предыдущих аспектов, другая реализация аспекта предусматривает то, что битовый поток дополнительно содержит флаг изменения кодированной видеопоследовательности (CVS), причем флаг изменения CVS указывает то, может ли измениться сопоставление ID подызображений в пределах кодированной видеопоследовательности (CVS) битового потока.
В качестве варианта, в любом из предыдущих аспектов, другая реализация аспекта предусматривает то, что битовый поток содержит объединенный битовый поток, и сопоставление ID подызображений было изменено в CVS битового потока.
Четвертый аспект относится к устройству кодирования, содержащему память, содержащую инструкции; процессор, подключенный к памяти, причем процессор выполнен с возможностью реализации инструкций, которые предписывают устройству кодирования кодировать битовый поток, включающий в себя набор параметров последовательности (SPS), набор параметров изображения (PPS) и множество подызображений, ассоциированных с сопоставлением идентификатора (ID) подызображения, причем SPS включает в себя флаг SPS; установить флаг SPS на первое значение, когда сопоставление ID подызображений сигнализируется в SPS, и на второе значение, когда сопоставление ID подызображений сигнализируется в PPS; установить флаг PPS в PPS на первое значение, когда сопоставление ID подызображений сигнализируется в PPS, и на второе значение, когда сопоставление ID подызображений не сигнализируется в PPS; и передатчик, подключенный к процессору, причем передатчик выполнен с возможностью передачи битового потока в видеодекодер.
Устройство кодирования обеспечивает технологии, которые обеспечивают эффективную сигнализацию идентификаторов (ID) подызображений даже тогда, когда ID подызображений изменяются в пределах кодированной видеопоследовательности (CVS) в сценариях применения, включающих в себя как извлечение битовых подпотоков, так и слияние битовых подпотоков. Эффективная сигнализация достигается путем установки флагов в наборе параметров последовательности (SPS) или наборе параметров изображения (SPS), чтобы указать то, могут ли изменяться ID подызображений в CVS, и, если да, то, где расположены ID подызображений. Это позволяет уменьшить избыточность и повысить эффективность кодирования. Таким образом, при кодировании видео кодер/декодер (также называемый как «кодек») улучшен по сравнению с существующими кодеками. С практической точки зрения, улучшенный процесс кодирования видео предлагает пользователю более высокий уровень пользовательского восприятия при отправке, получении и/или просмотре видео.
В качестве варианта, в любом из предыдущих аспектов, другая реализация аспекта предусматривает то, что флаг SPS имеет первое значение, когда флаг PPS имеет второе значение, и флаг SPS имеет второе значение, когда флаг PPS имеет первое значение.
В качестве варианта, в любом из предыдущих аспектов, другая реализация аспекта предусматривает то, что первое значение равно единице, и второе значение равно нулю.
В качестве варианта, в любом из предыдущих аспектов, другая реализация аспекта предусматривает то, что битовый поток дополнительно содержит флаг изменения кодированной видеопоследовательности (CVS), причем флаг изменения CVS указывает то, может ли измениться сопоставление ID подызображений в пределах кодированной видеопоследовательности (CVS) битового потока.
В качестве варианта, в любом из предыдущих аспектов, другая реализация аспекта предусматривает то, что ID PPS указывает значение второго ID PPS для используемого PPS, и второй ID PPS идентифицирует PPS для ссылки посредством синтаксических элементов.
В качестве варианта, в любом из предыдущих аспектов, другая реализация аспекта предусматривает то, что битовый поток содержит объединенный битовый поток, и сопоставление ID подызображений было изменено в CVS битового потока.
Пятый аспект относится к устройству кодирования. Устройство кодирования включает в себя приемник, выполненный с возможностью приема изображения для кодирования или приема битового сигнала; передатчик, подключенный к приемнику, причем передатчик выполнен с возможностью передачи битового потока в декодер или передачи декодированного изображения в дисплей; память, подключенную по меньшей мере к одному из: приемника или передатчика, причем память выполнена с возможностью хранения инструкций; и процессор, подключенный к памяти, причем процессор выполнен с возможностью исполнения инструкций, хранящихся в памяти, для выполнения любого из способов, раскрытых в данном документе.
Устройство кодирования обеспечивает технологии, которые обеспечивают эффективную сигнализацию идентификаторов (ID) подызображений даже тогда, когда ID подызображений изменяются в пределах кодированной видеопоследовательности (CVS) в сценариях применения, включающих в себя как извлечение битовых подпотоков, так и слияние битовых подпотоков. Эффективная сигнализация достигается путем установки флагов в наборе параметров последовательности (SPS) или наборе параметров изображения (SPS), чтобы указать то, могут ли изменяться ID подызображений в CVS, и, если да, то, где расположены ID подызображений. Это позволяет уменьшить избыточность и повысить эффективность кодирования. Таким образом, при кодировании видео кодер/декодер (также называемый как «кодек») улучшен по сравнению с существующими кодеками. С практической точки зрения, улучшенный процесс кодирования видео предлагает пользователю более высокий уровень пользовательского восприятия при отправке, получении и/или просмотре видео.
В качестве варианта, в любом из предыдущих аспектов, другая реализация аспекта предусматривает то, что дисплей выполнен с возможностью сопоставления декодированного изображения.
Шестой аспект относится к системе. Система включает в себя кодер; и декодер, ассоциированный с кодером, причем кодер или декодер включает в себя устройство декодирования, устройство кодирования или устройство кодирования, раскрытые в данном документе.
Система обеспечивает технологии, которые обеспечивают эффективную сигнализацию идентификаторов (ID) подызображений даже тогда, когда ID подызображений изменяются в пределах кодированной видеопоследовательности (CVS) в сценариях применения, включающих в себя как извлечение битовых подпотоков, так и слияние битовых подпотоков. Эффективная сигнализация достигается путем установки флагов в наборе параметров последовательности (SPS) или наборе параметров изображения (SPS), чтобы указать то, могут ли изменяться ID подызображений в CVS, и, если да, то, где расположены ID подызображений. Это позволяет уменьшить избыточность и повысить эффективность кодирования. Таким образом, при кодировании видео кодер/декодер (также называемый как «кодек») улучшен по сравнению с существующими кодеками. С практической точки зрения, улучшенный процесс кодирования видео предлагает пользователю более высокий уровень пользовательского восприятия при отправке, получении и/или просмотре видео.
Седьмой аспект относится к средству кодирования. Средство кодирования включает в себя средство приема, выполненное с возможностью приема изображения для кодирования или приема битового потока для декодирования; средство передачи, подключенное к средству приема, причем средство передачи выполнено с возможностью передачи битового потока в средство декодирования или передачи декодированного изображения в средство отображения; средство хранения, подключенное по меньшей мере к одному из: средства приема или средства передачи, причем средство хранения выполнено с возможностью хранения инструкций; и средство обработки, подключенное к средству хранения, причем средство обработки выполнено с возможностью исполнения инструкций, хранящихся в средстве хранения, для выполнения любого из способов, раскрытых в данном документе.
Средства кодирования обеспечивают технологии, которые обеспечивают эффективную сигнализацию идентификаторов (ID) подызображений даже тогда, когда ID подызображений изменяются в пределах кодированной видеопоследовательности (CVS) в сценариях применения, включающих в себя как извлечение битовых подпотоков, так и слияние битовых подпотоков. Эффективная сигнализация достигается путем установки флагов в наборе параметров последовательности (SPS) или наборе параметров изображения (SPS), чтобы указать то, могут ли изменяться ID подызображений в CVS, и, если да, то, где расположены ID подызображений. Это позволяет уменьшить избыточность и повысить эффективность кодирования. Таким образом, при кодировании видео кодер/декодер (также называемый как «кодек») улучшен по сравнению с существующими кодеками. С практической точки зрения, улучшенный процесс кодирования видео предлагает пользователю более высокий уровень пользовательского восприятия при отправке, получении и/или просмотре видео.
В целях ясности любой из вышеизложенных вариантов осуществления может быть объединен с любым одним или несколькими другими вышеизложенными вариантами осуществления для создания нового варианта осуществления в пределах объема настоящего раскрытия.
Эти и другие признаки станут более понятными из последующего подробного описания, рассматриваемого совместно с сопроводительными чертежами и формулой изобретения.
Краткое описание чертежей
Для более полного понимания настоящего раскрытия теперь делается ссылка на последующее краткое описание, приведенное совместно с сопроводительными чертежами и подробным описанием, в котором одинаковые ссылочные позиции обозначают одинаковые части.
Фиг.1 – блок-схема последовательности операций примерного способа кодирования видеосигнала.
Фиг.2 – схематичное представление примерной системы кодирования и декодирования (кодека) для кодирования видео.
Фиг.3 – схематичное представление, иллюстрирующее примерный видеокодер.
Фиг.4 – схематичное представление, иллюстрирующее примерный видеодекодер.
Фиг.5 – схематичное представление, иллюстрирующее примерный битовый поток, содержащий кодированную видеопоследовательность.
Фиг.6A-6E – примерный механизм создания трека экстрактора для объединения подызображений с несколькими разрешениями из разных битовых потоков в единое изображение для использования в приложениях виртуальной реальности (VR).
Фиг.7A-7E – примерный механизм обновления трека экстрактора на основе изменения ориентации просмотра в приложениях VR.
Фиг.8 – вариант осуществления способа декодирования кодированного битового потока видео.
Фиг.9 – вариант осуществления способа кодирования кодированного битового потока видео.
Фиг.10 – схематичное представление устройства для кодирования видео.
Фиг.11 – схематичное представление варианта осуществления средства кодирования.
Осуществление изобретения
Прежде всего следует отметить, что хотя иллюстративная реализация одного или нескольких вариантов осуществления представлена ниже, раскрытые системы и/или способы могут быть реализованы с использованием любого количества технологий, известных в настоящее время или уже существующих. Настоящее раскрытие никоим образом не должно быть ограничено иллюстративными реализациями, чертежами и технологиями, проиллюстрированными ниже, включая иллюстративные конструкции и реализации, проиллюстрированные и описанные в данном документе, но может быть изменено в пределах объема прилагаемой формулы изобретения вместе с их полным объемом эквивалентов.
Приведенные ниже термины определяются следующим образом, если они не используются в данном контексте в противоположном контексте. В частности, следующие определения предназначены для обеспечения дополнительной ясности настоящего раскрытия. Однако термины могут быть описаны по-разному в разных контекстах. Соответственно, приведенные ниже определения следует рассматривать как дополнение и не следует рассматривать как ограничение любых других определений описаний, представленных для таких терминов в данном документе.
Битовый поток – это последовательность битов, включающая в себя видеоданные, которые сжимаются для передачи между кодером и декодером. Кодер – это устройство, которое выполнено с возможностью использования процессов кодирования для сжатия видеоданных в битовом потоке. Декодер – это устройство, которое выполнено с возможностью использования процессов декодирования для восстановления видеоданных из битового поток для отображения. Изображение представляет собой массив выборок яркости и/или массив выборок цветности, которые создают кадр или его область. Изображение, которое кодируется или декодируется, может называться текущим изображением для ясности обсуждения. Опорное изображение – это изображение, содержащее опорные выборки, которые можно использовать при кодировании других изображений посредством ссылки в соответствии с межкадровым предсказанием и/или предсказанием межкадрового слоя. Список опорных изображений – это список опорных изображений, используемых для межкадрового предсказания и/или предсказания межкадрового слоя. Некоторые системы кодирования видео используют два списка опорных изображений, которые можно обозначить как первый список опорных изображений и нулевой список опорных изображений. Структура списка опорных изображений представляет собой адресуемую синтаксическую структуру, которая содержит несколько списков опорных изображений. Межкадровое предсказание – это механизм кодирования выборок текущего изображения посредством ссылки на указанные выборки в опорном изображении, которое отличается от текущего изображения, где опорное изображение и текущее изображение находятся в одном и том же слое. Запись структуры списка опорных изображений представляет собой адресуемое местоположение в структуре списка опорных изображений, которая указывает опорное изображение, ассоциированное со списком опорных изображений. Заголовок среза является частью кодированного среза, содержащего элементы данных, относящиеся ко всем видеоданным в плитке, представленном в срезе. Набор параметров последовательности (SPS) представляет собой набор параметров, который содержит данные, относящиеся к последовательности изображений. Набор параметров изображения (PPS) представляет собой синтаксическую структуру, содержащую синтаксические элементы, которые применяются к нулевым или более полным кодированным изображениям, как это определено синтаксическим элементом, найденным в заголовке каждого изображения.
Флаг представляет собой переменный или однобитовый синтаксический элемент, который может принимать одно из двух возможных значений: 0 и 1. Подызображение представляет собой прямоугольную область одного или более срезов внутри изображения. ID подызображения (ID) представляет собой число, букву или другие знаки, которые однозначно идентифицируют подызображение. ID подызображений (также известные как ID плиток) используются для идентификации конкретных подызображений с использованием индекса подызображения, который может упоминаться в данном документе как сопоставление ID подызображений. Другими словами, сопоставление ID подызображений представляет собой таблицу, которая обеспечивает взаимно-однозначное сопоставление между списком индексов подызображения и ID подызображений. То есть сопоставление ID подызображений обеспечивает отдельный ID подызображения для каждого подызображения.
Единица доступа (Access Unit, AU) представляет собой набор из одного или более кодированных изображений, ассоциированных с одним и тем же временем отображения (например, одним и тем же счетчиком очередности изображений) для вывода из буфера декодированных изображений (Decoded Picture Buffer, DPB) (например, для отображения пользователю). Разделитель единиц доступа (Access Unit Delimiter, AUD) является индикатором или структурой данных, используемой для указания начала AU или границы между AU. Декодированная видеопоследовательность представляет собой последовательность изображений, восстановленных декодером при подготовке к отображению пользователю.
CVS представляет собой последовательность единиц доступа (Access Unit, AU), которая включает в себя, в порядке декодирования, AU начала кодированной видеопоследовательности (Coded Video Sequence Start, CVSS), за которой следует ноль или более AU, которые не являются AU CVSS, включая все последующие AU вплоть до любых последующих AU, но не включая их, которые являются AU CVSS. AU CVSS представляет собой AU, в котором имеется единица предсказания (PU) для каждого слоя, заданного набором параметров видео (VPS), и кодированное изображение в каждой PU представляет собой изображение CLVSS. В варианте осуществления каждое изображение находится в пределах AU. PU представляет собой набор единиц слоя абстракции сети (NAL), которые взаимодействуют друг с другом в соответствии с заданным правилом классификации, являются последовательными в порядке декодирования и содержат ровно одно кодированное изображение.
В данном документе используются следующие сокращения: адаптивный контурный фильтр (Adaptive Loop Filter, ALF), блок дерева кодирования (Coding Tree Block, CTB), блок дерева кодирования (Coding Tree Unit, CTU), единица кодирования (Coding Unit, CU), кодированная видеопоследовательность (Coded Video Sequence, CVS), буфер декодированных изображений (Decoded Picture Buffer, DPB), мгновенное обновление декодирования (Instantaneous Decoding Refresh, IDR), точка произвольного доступа при внутрикадровом предсказании (Intra-Random Access Point, IRAP), объединенная группа экспертов по видео (Joint Video Experts Team, JVET), младший значащий бит (Least Significant Bit, LSB), старший значащий бит (Most Significant Bit, MSB), набор плиток с ограничением по движению (Motion-Constrained Tile Set, MCTS), максимальная единица передачи (Maximum Transfer Unit, MTU), слой абстракции сети (Network Abstraction Layer, NAL), счетчик очередности изображений (Picture Order Count, POC), набор параметров изображения (Picture Parameter Set, PPS), полезная нагрузка последовательности необработанных байтов (Raw Byte Sequence Payload, RBSP), адаптивное смещение выборок (Sample Adaptive Offset, SAO), набор параметров последовательности (Sequence Parameter Set, SPS), временное предсказание вектора движения (Temporal Motion Vector Prediction, TMVP), универсальное кодирование видео (Versatile Video Coding, VVC) и рабочий проект (Working Draft, WD).
Для уменьшения размера видеофайлов с минимальной потерей данных можно использовать различные технологии сжатия видео. Например, технологии сжатия видео могут включать в себя выполнение пространственного (например, внутрикадрового) предсказания и/или временного (например, межкадрового) предсказания для уменьшения или устранения избыточности данных в видеопоследовательностях. Для кодирования видео на основе блоков видеосрез (например, видеоизображение или часть видеоизображения) может быть разделен на видеоблоки, которые также могут называться блоками дерева кодирования, блоками дерева кодирования (CTB), единицами дерева кодирования (CTU), единицами кодирования (CU) и/или узлами кодирования. Видеоблоки во внутрикадрово-кодированном (I) срезе изображения кодируются с использованием пространственного предсказания по отношению к опорным выборам в соседних блоках в одном и том же изображении. Видеоблоки в межкадрово-кодированном срезе изображения с однонаправленным предсказанием (P) или двунаправленным предсказанием (B) могут быть закодированы с использованием пространственного предсказания по отношению к опорным выборкам в соседних блоках в одном и том же изображении или временного предсказания по отношению к опорным выборкам в других опорных изображениях. Изображения могут упоминаться как кадры и/или изображения, и опорные изображения могут упоминаться как опорные кадры и/или опорные изображения. Пространственное или временное предсказание приводит к блоку предсказания, представляющему блок изображения. Остаточные данные представляют собой разность в пикселях между исходным блоком изображения и блоком предсказания. Соответственно, межкадрово-кодированный блок закодирован в соответствии с вектором движения, который указывает блок опорных выборок, образующих блок предсказания, и остаточными данными, указывающими различие между кодированным блоком и блоком предсказания. Внутрикадрово-кодированный блок закодирован в соответствии с режимом внутрикадрового кодирования и остаточными данными. Для дальнейшего сжатия остаточные данные могут быть преобразованы из пиксельной области в область преобразования. В результате это приводит к остаточным коэффициентам преобразования, которые могут квантоваться. Квантованные коэффициенты преобразования могут первоначально располагаться в двумерном массиве. Квантованные коэффициенты преобразования могут быть просканированы для получения одномерного вектора коэффициентов преобразования. Энтропийное кодирование может применяться для достижения еще большего сжатия. Такие технологии сжатия видео обсуждены более подробно ниже.
Чтобы гарантировать точное декодирование кодированного видео, видео кодируется и декодируется согласно соответствующим стандартам кодирования видео. Стандарты кодирования видео включают в себя сектор стандартизации международного союза электросвязи (ITU) (ITU-T) H.261, группу экспертов по движущимся изображениям (MPEG)-1 международной организации по стандартизации/международной электротехнической комиссии (ISO/IEC) часть 2, ITU-T H.262 или ISO/IEC MPEG-2 часть 2, ITU-T H.263, ISO/IEC MPEG-4 часть 2, усовершенствованное кодирование видео (AVC), также известное как ITU-T H.264 или ISO/IEC MPEG-4 часть 10, и высокоэффективное кодирование видео (HEVC), также известное как ITU-T H.265 или MPEG-H часть 2. AVC включает в себя такие расширения, как масштабируемое кодирование видео (SVC), кодирование многоракурсного видео (MVC) и кодирование многоракурсного видео плюс глубины (MVC+D), и трехмерное (3D) AVC (3D-AVC). HEVC включает в себя такие расширения, как масштабируемое HEVC (SHVC), многоракурсное HEVC (MV-HEVC) и 3D HEVC (3D-HEVC).
Существует также новый стандарт кодирования видео, названный универсальным кодированием видео (VVC), который разрабатывается объединенной группой экспертов по видео (JVET) ITU-T и ISO/IEC. Хотя стандарт VVC имеет несколько рабочих проектов, в частности, в данном документе упоминается один рабочий проект (WD) VVC, а именно B. Bross, J. Chen, and S. Liu, “Versatile Video Coding (Draft 5),” JVET-N1001-v3, 13th JVET Meeting, March 27, 2019 (VVC Draft 5).
HEVC включает в себя четыре различные схемы разделения изображения, а именно регулярные срезы, зависимые срезы, плитки и параллельную обработку волновых фронтов (WPP), которые могут применяться для согласования размера максимального блока передачи (MTU), параллельной обработки и сквозной задержки.
Регулярные срезы аналогичны H.264/AVC. Каждый регулярный срез инкапсулируется в свою собственную единицу NAL, и запрещены внутрикадровое предсказание (внутрикадровое предсказание выборки, предсказание информации движения, предсказание режима кодирования) и зависимость энтропийного кодирования на границах срезов. Таким образом, регулярный срез может быть восстановлен независимо от других регулярных срезов в пределах одного и того же изображения (хотя между ними все еще могут быть взаимозависимости из-за операций контурной фильтрации).
Регулярный срез является единственным инструментом, который можно использовать для распараллеливания, который также доступен, практически в идентичной форме, в H.264/AVC. Распараллеливание на основе регулярных срезов не требует больших межпроцессорных или межъядерных взаимодействий (за исключением совместного использования межпроцессорных или межъядерных данных для компенсации движения при декодировании предиктивно кодированного изображения, которое, как правило, намного тяжелее, чем совместное использование межпроцессорных или межъядерных данных, из-за внутрикадрового предсказания). Однако по той же причине использование регулярных срезов может привести к значительным издержкам кодирования из-за битовой стоимости заголовка среза и из-за отсутствия предсказания на границах срезов. Кроме того, регулярные срезы (в отличие от других инструментов, упомянутых ниже) также служат ключевым механизмом для разделения битового потока, чтобы соответствовать требованиям размера MTU, из-за независимости регулярных срезов на изображении и того, что каждый регулярный срез инкапсулирован в свою собственную единицу NAL. Во многих случаях цель распараллеливания и цель согласования размеров MTU противоречат требованиям к расположению срезов на изображении. Понимание этой ситуации привело к разработке упомянутых ниже инструментов распараллеливания.
Зависимые срезы имеют короткие заголовки срезов и позволяют разделять битовый поток на границах древовидных блоков без нарушения какого-либо внутрикадрового предсказания. Главным образом, зависимые срезы обеспечивают фрагментацию регулярных срезов на несколько единиц NAL, чтобы уменьшить сквозную задержку, позволяя отправить часть регулярного среза до завершения кодирования всего регулярного среза.
В WPP изображение разделено на отдельные строки блоков дерева кодирования (CTB). При энтропийном декодировании и предсказании разрешено использовать данные из CTB в других разделах. Параллельная обработка возможна за счет параллельного декодирования строк CTB, где начало декодирования строки CTB задерживается на два CTB, чтобы гарантировать, что данные, относящиеся к CTB выше и справа от представленного CTB, доступны до декодирования представленного CTB. Используя этот ступенчатый запуск (который выглядит как волновой фронт при графическом представлении), распараллеливание возможно с таким количеством процессоров/ядер, сколько изображение содержит строк CTB. Так как внутрикадровое предсказание разрешено между соседними строками древовидных блоков внутри изображения, необходимое межпроцессорное или межъядерное взаимодействие для обеспечения внутрикадрового предсказания может быть существенным. Разделение WPP не приводит к созданию дополнительных единиц NAL по сравнению с тем, когда оно не применяется, поэтому WPP не является инструментом для сопоставления размеров MTU. Однако, если требуется согласование размера MTU, с WPP можно использовать регулярные срезы с определенными затратами на кодирование.
Плитки определяют горизонтальные и вертикальные границы, которые разделяют изображение на столбцы и строки плиток. Порядок сканирования CTB изменяется на локальный внутри плитки (в порядке растрового сканирования CTB плитки) перед декодированием верхнего левого CTB следующего плитки в порядке растрового сканирования изображения. Аналогично регулярным срезам, плитки разрушают зависимости внутрикадрового предсказания, а также зависимости энтропийного декодирования. Однако их не нужно включать в отдельные единицы NAL (в этом отношении так же, как и WPP); следовательно, плитки нельзя использовать для сопоставления размеров MTU. Каждая плитка может обрабатываться одним процессором/ядром, и межпроцессорное или межъядерное взаимодействие, необходимое для внутрикадрового предсказания между блоками обработки, декодирующими соседние плитки, ограничивается передачей общего заголовка среза в тех случаях, когда срез охватывает более одного плитки, и контурной фильтрацией, связанной с совместным использованием восстановленных выборок и метаданных. Когда в срез включено более одного плитки или сегмента WPP, байтовое смещение точки входа для каждого плитки или сегмента WPP, кроме первого в срезе, сигнализируется в заголовке среза.
Для простоты в HEVC были заданы ограничения на применение четырех различных схем разделения изображения. Для большинства профилей, указанных в HEVC, заданная кодированная видеопоследовательность не может включать в себя плитки и волновые фронты. Для каждого среза и плитки должны выполняться одно или оба из следующих условий: 1) все кодированные древовидные блоки в срезе принадлежат одному и той же плитке; 2) все кодированные древовидные блоки в плитке принадлежат одному и тому же срезу. Наконец, сегмент волнового фронта содержит ровно одну строку CTB, и при использовании WPP, если срез начинается в строке CTB, он должен заканчиваться в той же самой строке CTB.
Недавняя поправка к HEVC указана в выходном документе JCTVC-AC1005, J. Boyce, A. Ramasubramonian, R. Skupin, G. J. Sullivan, A. Tourapis, Y.-K. Wang (editors), "HEVC Additional Supplemental Enhancement Information (Draft 4)," Oct. 24, 2017, доступном по адресу: http://phenix.int-evry.fr/jct/doc_end_user/documents/29_Macau/wg11/JCTVC-AC1005-v2.zip.
С помощью этой включенной поправки HEVC указывает три сообщения дополнительной информации расширения (SEI), относящиеся к MCTS, а именно временное сообщение SEI MCTS, сообщение SEI относительно набора информации извлечения MCTS и сообщение SEI с вложенной информацией извлечения MCTS.
Временное сообщение SEI MCTS указывает на наличие MCTS в битовом потоке и сигнализирует MCTS. Для каждого MCTS векторы движения ограничены таким образом, чтобы они указывали на местоположения целых выборок внутри MCTS и на местоположения дробных выборок, которым для интерполяции требуются только местоположения целых выборок внутри MCTS, и запрещено использование вектора движения-кандидата для временного предсказания вектора движения, полученного из блоков за пределами MCTS. Таким образом, каждый MCTS может быть декодирован независимым образом без существования плиток, не включенных в MCTS.
Сообщение SEI о наборах информации извлечения MCTS обеспечивает дополнительную информацию, которая может использоваться при извлечении подпотока битов MCTS (указанного как часть семантики сообщения SEI) для выработки соответствующего битового потока для набора MCTS. Информация состоит из ряда наборов информации извлечения, каждый из которых определяет количество наборов MCTS и содержит байты RBSP замещающих наборов параметров видео (VPS), SPS и PPS, которые должны использоваться в процессе извлечения подпотока битов MCTS.
При извлечении подпотока битов в соответствии с процессом извлечения подпотока битов MCTS наборы параметров (VPS, SPS и PPS) необходимо переписать или заменить, заголовки срезов необходимо немного обновить, так как один или все синтаксические элементы, связанные с адресами срезов (включая first_slice_segment_in_pic_flag и slice_segment_address), как правило, должны иметь разные значения.
В последнем проекте спецификации VVC изображение может быть разделено на множество подызображений, каждое из которых покрывает прямоугольную область и содержит целое число полных плиток. Разделение подызображения сохраняется для всех изображений в пределах кодированной видеопоследовательности (CVS), и информация о разделении (то есть позиции и размеры подызображений) сигнализируется в SPS. Подызображение может быть указано как кодированное без использования значений выборок из любого другого подызображения для компенсации движения.
Во вкладе JVET JVET-O0141, который находится в открытом доступе по адресу: http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/13_Marrakech/wg11/JVET-M0261-v1.zip, дизайн подызображения аналогичен последнему проекту спецификации VVC с некоторыми отличиями, одним из которых является явная сигнализация ID подызображения для каждого подызображения в SPS, а также сигнализация ID подызображения в каждом заголовке среза, чтобы разрешить извлечение подпотока битов подызображения на основе подызображения без необходимости изменения кодированных единиц NAL срезов. При таком подходе ID подызображения для каждого подызображения остается неизменным для всех изображений в CVS.
Во время предыдущих обсуждений было упомянуто, что следует использовать другой подход для сигнализации ID подызображений, чтобы также разрешить слияние подпотоков битов на основе подызображений без необходимости изменения единиц NAL кодированных срезов.
Например, как будет более подробно объяснено ниже, при потоковой передаче зависящего от области просмотра видео с углом обзора 360 градусов, клиент выбирает то, какие подызображения будут приняты и объединены с битовым потоком, подлежащем декодированию. Когда ориентация просмотра изменяется, некоторые значения ID подызображений могут оставаться такими же, в то время как другие значения ID подызображений изменяются по сравнению со значениями ID подызображений, полученными до изменения ориентации просмотра. Таким образом, ID подызображений, которые декодер принимает в объединенном битовом потоке, изменяются при изменении ориентации просмотра.
Один подход, который был рассмотрен, состоит в следующем.
Позиции и размеры подызображений указываются в SPS с использованием, например, синтаксиса последнего проекта спецификации VVC. Присваиваются индексы подызображений (от 0 до N-1, где N – количество подызображений). Сопоставление ID подызображения с индексом подызображения находится в PPS, так как это сопоставление может потребоваться изменить в середине CVS. Это может быть цикл со значением i = 0, ..., N-1, предоставляющий subpicture_id [ i ], который сопоставляется с индексом i подызображения. Это сопоставление ID подызображения должно быть перезаписано клиентом, когда клиент выбирает новый набор подызображений для декодирования. Заголовок среза содержит ID подызображения (например, subpicture_id), который выбрал кодер (и его не нужно переписывать при слиянии подпотоков битов).
К сожалению, существуют проблемы с существующими подходами к сигнализации ID подызображения. Многие сценарии приложений, использующие кодирование видео на основе подызображения, включают извлечение подпотока битов, но не слияние подпотока битов. Например, каждый извлеченный подпоток битов может быть декодирован собственным экземпляром декодера. Таким образом, нет необходимости объединять извлеченные подпотоки битов в один битовый поток для декодирования только одним экземпляром декодера. В этих сценариях ID подызображения для каждого подызображения не будет меняться в CVS. Таким образом, ID подызображений могут сигнализироваться в SPS. Сигнализация таких ID подызображений в SPS вместо PPS выгодна как с точки зрения сохранения битов, так и с точки зрения согласования сеансов.
В сценариях применения, включающих в себя как извлечение битовых подпотоков, так и слияние битовых подпотоков, ID подызображений не изменяются в пределах CVS в исходных битовых потоках. Таким образом, сигнализация ID подызображений в SPS позволяет использовать ID подызображений как в SPS, так и в заголовках срезов, что полезно в части извлечения битовых подпотоков процесса. Однако этот подход возможен только в том случае, если ID подызображений не изменяются в пределах CVS в исходном битовом потоке.
В данном документе раскрыты технологии, которые обеспечивают эффективную сигнализацию идентификаторов (ID) подызображений даже тогда, когда ID подызображений изменяются в пределах кодированной видеопоследовательности (CVS) в сценариях применения, включающих в себя как извлечение битовых подпотоков, так и слияние битовых подпотоков. Эффективная сигнализация достигается путем установки флагов в наборе параметров последовательности (SPS) или наборе параметров изображения (SPS), чтобы указать то, могут ли изменяться ID подызображений в CVS, и если да, то где расположены ID подызображений. Это позволяет уменьшить избыточность и повысить эффективность кодирования. Таким образом, при кодировании видео кодер/декодер (также называемый как «кодек») улучшен по сравнению с существующими кодеками. С практической точки зрения, улучшенный процесс кодирования видео предлагает пользователю более высокий уровень пользовательского восприятия при отправке, получении и/или просмотре видео.
На фиг.1 показана блок-схема последовательности операций примерного способа 100 кодирования видеосигнала. В частности, видеосигнал кодируется в кодере. Процесс кодирования сжимает видеосигнал, используя различные механизмы, чтобы уменьшить размер видеофайла. Меньший размер файла позволяет передавать сжатый видеофайл пользователю, уменьшая при этом ассоциированные с этим издержки на полосу пропускания. Затем декодер декодирует сжатый видеофайл, чтобы восстановить исходный видеосигнал для отображения конечному пользователю. Процесс декодирования, как правило, повторяет процесс кодирования, что позволяет декодеру последовательно восстанавливать видеосигнал.
На этапе 101 видеосигнал вводится в кодер. Например, видеосигнал может быть несжатым видеофайлом, хранящимся в памяти. В качестве другого примера, видеофайл может быть захвачен устройством видеозахвата, таким как видеокамера, и кодирован для поддержки прямой потоковой передачи видео. Видеофайл может включать в себя как компонент аудио, так и компонент видео. Компонент видео содержит ряд кадров изображения, которые при последовательном просмотре создают визуальное впечатление движения. Кадры содержат пиксели, которые выражены с точки зрения света, называемого в данном документе компонентами яркости (или выборками яркости), и цвета, который упоминается как компоненты цветности (или выборки цвета). В некоторых примерах кадры могут также содержать значения глубины для поддержки трехмерного просмотра.
На этапе 103 видео разделяется на блоки. Разделение включает в себя разделение пикселей в каждом кадре на квадратные и/или прямоугольные блоки для сжатия. Например, в высокоэффективном кодировании видео (HEVC) (также известном как H.265 и MPEG-H часть 2) кадр может быть сначала разделен на единицы дерева кодирования (CTU), которые представляют собой блоки заданного размера (например, шестьдесят четыре пикселя на шестьдесят четыре пикселя). CTU содержат как выборки яркости, так и выборки цветности. Деревья кодирования могут использоваться для разделения CTU на блоки, и затем для рекурсивного подразделения блоков до тех пор, пока не будут достигнуты конфигурации, поддерживающие дальнейшее кодирование. Например, компоненты яркости кадра могут разделяться до тех пор, пока отдельные блоки не будут содержать относительно однородные значения света. Кроме того, компоненты цветности кадра могут разделяться до тех пор, пока отдельные блоки не будут содержать относительно однородные значения цвета. Соответственно, механизмы разделения различаются в зависимости от содержания видеокадров.
На этапе 105 используются различные механизмы сжатия для сжатия блоков изображения, разделенных на этапе 103. Например, может использоваться межкадровое предсказание и/или внутрикадровое предсказание. Межкадровое предсказание предназначено для использования того факта, что объекты в общей сцене имеют тенденцию появляться в виде следующих друг за другом кадрах. Соответственно, блок, изображающий объект в опорном кадре, не нужно повторно описывать в соседних кадрах. В частности, объект, такой как таблица, может оставаться в постоянном позиции в течение нескольких кадров. Следовательно, таблица описывается один раз, и соседние кадры могут ссылаться на опорный кадр. Механизмы сопоставления шаблонов могут использоваться для сопоставления объектов в нескольких кадрах. Кроме того, движущиеся объекты могут быть представлены в нескольких кадрах, например, из-за движения объекта или движения камеры. В качестве конкретного примера видео может показывать автомобиль, который движется на экране в течение нескольких кадров. Для описания такого движения можно использовать векторы движения. Вектор движения – это двумерный вектор, обеспечивающий смещение координат объекта в кадре до координат объекта в опорном кадре. Таким образом, межкадровое предсказание позволяет кодировать блок изображения в текущем кадре как набор векторов движения, указывающих смещение от соответствующего блока в опорном кадре.
При внутрикадровом предсказаним блоки кодируются в общем кадре. Внутрикадровое предсказание использует тот факт, что компоненты яркости и цветности имеют тенденцию группироваться в кадре. Например, участок зелени в части дерева имеет тенденцию располагаться рядом с аналогичными участками зелени. Внутрикадровое предсказание использует несколько режимов направленного предсказания (например, тридцать три в HEVC), планарный режим и режим постоянного тока (DC). Направленные режимы указывают, что текущий блок является аналогичным/таким же, как выборки соседнего блока в соответствующем направлении. Планарный режим указывает то, что последовательность блоков по строкам/столбцам (например, в плоскости) может быть интерполирована на основе соседних блоков на краях строки. Планарный режим по существу указывает на плавный переход света/цвета по строке/столбцу за счет использования относительно постоянного наклона при изменении значений. Режим DC используется для сглаживания границ и указывает то, что блок является аналогичным/таким же, как среднее значение, ассоциированное с выборками всех соседних блоков, ассоциированных с угловыми направлениями режимов направленного предсказания. Соответственно, блоки внутрикадрового предсказания могут представлять блоки изображений как различные относительные значения режима предсказания вместо фактических значений. Кроме того, блоки межкадрового предсказания могут представлять блоки изображений как значения векторов движения вместо фактических значений. Так или иначе, в некоторых случаях блоки предсказания могут не точно представлять блоки изображений. Любые различия сохраняются в остаточных блоках. Преобразования могут быть применены к остаточным блокам для дальнейшего сжатия файла.
На этапе 107 могут применяться различные технологии фильтрации. В HEVC фильтры применяются в соответствии со схемой внутриконтурной фильтрации. Предсказание на основе блоков, рассмотренное выше, может привести к созданию блочных изображений в декодере. Кроме того, схема предсказания на основе блоков позволяет кодировать блок, и затем восстанавливать кодированный блок для последующего использования в качестве опорного блока. Схема внутриконтурной фильтрации итеративно применяет к блокам/кадрам фильтры подавления шума, деблокирующие фильтры, адаптивные контурные фильтры и фильтры адаптивного смещения выборок (SAO). Эти фильтры уменьшают такие артефакты блокировки для того, чтобы можно было точно восстановить кодированный файл. Кроме того, эти фильтры уменьшают артефакты в восстановленных опорных блоках, так что артефакты с меньшей вероятностью создают дополнительные артефакты в последующих блоках, которые кодируются на основе восстановленных опорных блоков.
После того, как видеосигнал был разделен, сжат и отфильтрован, результирующие данные кодируются в битовом потоке на этапе 109. Битовый поток включает в себя данные, рассмотренные выше, а также любые данные сигнализации, необходимые для поддержки надлежащего восстановления видеосигнала в декодере. Например, такие данные могут включать в себя данные разделения, данные предсказания, остаточные блоки и различные флаги, предоставляющие декодеру инструкции по кодированию. Битовый поток может храниться в памяти для передачи в декодер по запросу. Битовый поток может быть также широковещательно и/или многоадресно передан в множество декодеров. Создание битового потока является итеративным процессом. Соответственно, этапы 101, 103, 105, 107 и 109 могут выполняться непрерывно и/или одновременно во многих кадрах и блоках. Порядок, показанный на фиг.1, представлен для ясности и простоты обсуждения и не предназначен для ограничения процесса кодирования видео определенным порядком.
Декодер принимает битовый потока и начинает процесс декодирования на этапе 111. В частности, декодер использует схему энтропийного декодирования для преобразования битового потока в соответствующий синтаксис и видеоданные. Декодер использует синтаксические данные из битового потока для определения разделов для кадров на этапе 111. Разделение должно совпадать с результатами разделения блоков на этапе 103. Теперь будет описано энтропийное кодирование/декодирование, используемое на этапе 111. В процессе сжатия кодер делает выбор из различных вариантов, например, выбирает схемы разделения блоков из нескольких возможных вариантов на основе пространственного позиционирования значений во входном(ых) изображении(ях). Сигнализация точного выбора может использовать большое количество бинов. В используемом в данном документе значении бин представляет собой двоичное значение, которое обрабатывается как переменная (например, битовое значение, которое может изменяться в зависимости от контекста). Энтропийное кодирование позволяет кодеру отбрасывать любые варианты, которые явным образом не подходят для конкретного случая, оставляя набор допустимых вариантов. Затем каждому допустимому варианту присваивается кодовое слово. Длина кодовых слов зависит от количества допустимых вариантов (например, один бин для двух вариантов, два бина для трех-четырех вариантов и т.д.). Затем кодер кодирует кодовое слово для выбранного варианта. Эта схема уменьшает размер кодовых слов, так как кодовые слова настолько велики, насколько это необходимо, чтобы однозначно указывать выбор из небольшого подмножества допустимых вариантов, в отличие от однозначного указания выбора из потенциально большого набора всех возможных вариантов. Затем декодер декодирует выбранный вариант, определяя набор допустимых опций аналогично кодеру. Определив набор допустимых вариантов, декодер может считать кодовое слово и определить выбор, сделанный кодером.
На этапе 113 декодер выполняет блочное декодирование. В частности, декодер использует обратные преобразования для выработки остаточных блоков. Затем декодер использует остаточные блоки и соответствующие блоки предсказания для восстановления блоков изображения в соответствии с разделением. Блоки предсказания могут включать в себя как блоки внутрикадрового предсказания, так и блоки межкадрового предсказания, выработанные кодером на этапе 105. Блоки восстановленного изображения затем помещаются в кадры восстановленного видеосигнала в соответствии с данными разделения, определенными на этапе 111. Синтаксис на этапе 113 также может быть обозначен в битовом потоке с помощью энтропийного кодирования, как обсуждалось выше.
На этапе 115 выполняется фильтрация кадров восстановленного видеосигнала способом, аналогичным этапу 107 в кодере. Например, фильтры подавления шума, фильтры устранения блочности, адаптивные контурные фильтры и фильтры SAO могут применяться к кадрам для удаления артефактов блочности. Как только кадры отфильтрованы, видеосигнал может быть выведен на дисплей на этапе 117 для просмотра конечным пользователем.
На фиг.2 показано схематичное представление примерной системы 200 кодирования и декодирования (кодека) для кодирования видео. В частности, система 200 кодирования/декодирования обеспечивает функциональные возможности для поддержки реализации способа 100 функционирования. Система 200 кодирования/декодирования обобщена для отображения компонентов, используемых как в кодере, так и в декодере. Система 200 кодирования/декодирования принимает и разделяет видеосигнал, как описано в отношении этапов 101 и 103 в способе 100 функционирования, в результате чего получается разделенный видеосигнал 201. Затем система 200 кодирования/декодирования сжимает разделенный видеосигнал 201 в кодированный битовый поток, действуя в качестве кодера, как описано в отношении этапов 105, 107 и 109 в способе 100. При работе в качестве декодера система 200 кодирования/декодирования вырабатывает выходной видеосигнал из битового потока, как описано в отношении этапов 111, 113, 115 и 117 в способе 100 функционирования. Система 200 кодирования/декодирования включает в себя компонент 211 общего управления кодером, компонент 213 преобразования с масштабированием и квантования, компонент 215 внутрикадровой оценки, компонент 217 внутрикадрового предсказания, компонент 219 компенсации движения, компонент 221 оценки движения, компонент 229 масштабирования и обратного преобразования, компонент 227 анализа управления фильтром, компонент 225 внутриконтурных фильтров, компонент 223 буфера декодированного изображения и компонент 231 форматирования заголовка и контекстно-адаптивного двоичного арифметического кодирования (CABAC). Такие компоненты соединены так, как показано на чертеже. На фиг.2 черные линии указывают перемещение данных, подлежащих кодированию/декодированию, и пунктирные линии указывают перемещение управляющих данных, которые управляют работой других компонентов. Все компоненты системы 200 кодирования/декодирования могут присутствовать в кодере. Декодер может включать в себя подмножество компонентов системы 200 кодирования/декодирования. Например, декодер может включать в себя компонент 217 внутрикадрового предсказания, компонент 219 компенсации движения, компонент 229 масштабирования и обратного преобразования, компонент 225 внутриконтурных фильтров, и компонент 223 буфера декодированного изображения. Теперь эти компоненты будут описаны.
Разделенный видеосигнал 201 представляет собой захваченную видеопоследовательность, которая была разделена на блоки пикселей с помощью дерева кодирования. Дерево кодирования использует различные режимы разделения для разделения блока пикселей на более мелкие блоки пикселей. Затем эти блоки можно разделить на еще более мелкие блоки. Блоки могут называться узлами дерева кодирования. Более крупные родительские узлы разделяются на более мелкие дочерние узлы. Количество раз, когда узел подразделяется, называется глубиной узла/дерева кодирования. В некоторых случаях разделенные блоки могут быть включены в единицы кодирования (CU). Например, CU может быть частью CTU, которая содержит блок яркости, блок(и) красной разностной цветности (Cr) и блок(и) синей разностной цветности (Cb) вместе с соответствующими синтаксическими инструкциями для КР. Режимы разделения могут включать в себя двоичное дерево (BT), троичное дерево (TT) и квадродерево (QT), используемые для разделения узла на два, три или четыре дочерних узла, соответственно, различной формы в зависимости от используемых режимов разделения. Разделенный видеосигнал 201 направляется в компонент 211 общего управления кодером, компонент 213 преобразования с масштабированием и квантования, компонент 215 внутрикадровой оценки, компонент 227 анализа управления фильтром и компонент 221 оценки движения для сжатия.
Компонент 211 общего управления кодером выполнен с возможностью принятия решений, ассоциированных с кодированием изображений видеопоследовательности в битовом потоке в соответствии с ограничениями приложения. Например, компонент 211 общего управления кодером управляет оптимизацией размер битовой скорости/битового потока в зависимости от качества восстановления. Такие решения могут приниматься на основе наличия дискового пространства/пропускной способности и запросов разрешения изображения. Компонент 211 общего управления кодером также управляет использованием буфера в свете скорости передачи, чтобы смягчить проблемы опустошения и переполнения буфера. Чтобы справиться с этими проблемами, компонент 211 общего управления кодером управляет разделением, предсказанием и фильтрацией с помощью других компонентов. Например, компонент 211 общего управления кодером может динамически увеличивать сложность сжатия для увеличения разрешения и увеличения использования полосы пропускания или уменьшать сложность сжатия для уменьшения разрешения и использования полосы пропускания. Следовательно, компонент 211 общего управления кодером управляет другими компонентами системы 200 кодирования/декодирования, чтобы сбалансировать качество восстановления видеосигнала с проблемами скорости передачи битов. Компонент 211 общего управления кодером создает управляющие данные, которые управляют работой других компонентов. Управляющие данные также направляются в компонент 231 форматирования заголовка и CABAC для кодирования в битовом потоке для сигнализации параметров для декодирования в декодере.
Разделенный видеосигнал 201 также отправляется в компонент 221 оценки движения и компонент 219 компенсации движения для межкадрового предсказания. Кадр или часть разделенного видеосигнала 201 может быть разделена на множество видеоблоков. Компонент 221 оценки движения и компонент 219 компенсации движения выполняют межкадровое кодирование с предсказанием принятого видеоблока относительно одного или более блоков в одном или более опорных кадрах для обеспечения временного предсказания. Система 200 кодирования/декодирования может выполнять несколько проходов кодирования, например, для выбора соответствующего режима кодирования для каждого блока видеоданных.
Компонент 221 оценки движения и компонент 219 компенсации движения могут быть в высокой степени интегрированы, но проиллюстрированы отдельно для концептуальных целей. Оценка движения, выполняемая компонентом 221 оценки движения, представляет собой процесс выработки векторов движения, в котором оценивается движение для видеоблоков. Например, вектор движения может указывать смещение кодированного объекта относительно блока предсказания. Блок предсказания – это блок, который точно соответствует кодируемому блоку с точки зрения разности пикселей. Блок предсказания также может упоминаться как опорный блок. Такая разность пикселей может быть определена с помощью суммы абсолютной разности (SAD), суммы квадратов разностей (SSD) или другими показателями разности. HEVC использует несколько кодированных объектов, включая CTU, блоки дерева кодирования (CTB) и CU. Например, CTU можно разделить на CTB, которые затем можно разделить на CB для включения в CU. CU может быть закодирована как единица предсказания (PU), содержащая данные предсказания, и/или единицу преобразования (TU), содержащую преобразованные остаточные данные для CU. Компонент 221 оценки движения вырабатывает векторы движения, PU и TU, используя анализ характеристики «скорость-искажение» как часть процесса оптимизации характеристики «скорость-искажение». Например, компонент 221 оценки движения может определить несколько опорных блоков, множество векторов движения и т.д. для текущего блока/кадра и может выбирать опорные блоки, векторы движения и т.д, имеющие наилучшие характеристики «скорость-искажение». Наилучшие характеристики «скорость-искажение» уравновешивают качество восстановления видео (например, объем потерь данных при сжатии) с эффективностью кодирования (например, размер окончательного кодирования).
В некоторых примерах система 200 кодирования/декодирования может вычислять значения для позиций субцелых пикселей опорных изображений, сохраненных в компоненте 223 буфера декодированных изображений. Например, система 200 кодирования/декодирования видео может интерполировать значения позиций четверти пикселей, позиции одной восьмой пикселей или другие позиции дробных пикселей опорного изображения. Таким образом, компонент 221 оценки движения может выполнять поиск движения относительно позиций целых пикселей и позиций дробных пикселей и выводить вектор движения с точностью до дробных пикселей. Компонент 221 оценки движения вычисляет вектор движения для PU видеоблока в межкадровом кодированном срезе путем сравнения позиции PU с позицией блока предсказания опорного изображения. Компонент 221 оценки движения выводит вычисленный вектор движения в виде данных движения для форматирования заголовка, и компонент 231 CABAC для кодирования и движения к компоненту 219 компенсации движения.
Компенсация движения, выполняемая компонентом 219 компенсации движения, может включать выборку или выработку блока предсказания на основе вектора движения, определенного компонентом 221 оценки движения. Опять же, в некоторых примерах компонент 221 оценки движения и компонент 219 компенсации движения могут быть функционально интегрированы. После приема вектора движения для PU текущего видеоблока компонент 219 компенсации движения может определить местонахождение блока предсказания, на который указывает вектор движения. Затем формируется остаточный видеоблок путем вычитания значений пикселей блока предсказания из значений пикселей текущего кодируемого видеоблока, формируя значения разности пикселей. В общем, компонент 221 оценки движения выполняет оценку движения относительно компонентов яркости, и компонент 219 компенсации движения использует векторы движения, вычисленные на основе компонентов яркости как для компонентов цветности, так и для компонентов яркости. Блок предсказания и остаточный блок направляются в компонент 213 преобразования с масштабированием и квантования.
Разделенный видеосигнал 201 также отправляется в компонент 215 внутрикадровой оценки и компонент 217 внутрикадрового предсказания. Как и в случае компонента 221 оценки движения и компонента 219 компенсации движения, компонент 215 внутрикадровой оценки и компонент 217 внутрикадрового предсказания могут быть сильно интегрированы, но они проиллюстрированы по отдельности для концептуальных целей. Компонент 215 внутрикадровой оценки и компонент 217 внутрикадрового предсказания внутрикадрово предсказывают текущий блок относительно блоков в текущем кадре в качестве альтернативы межкадровому предсказанию, выполняемому компонентом 221 оценки движения и компонентом 219 компенсации движения между кадрами, как описано выше. В частности, компонент 215 внутрикадровой оценки определяет режим внутрикадрового предсказания, который используется для кодирования текущего блока. В некоторых примерах компонент 215 внутрикадровой оценки выбирает соответствующий режим внутрикадрового предсказания для кодирования текущего блока из нескольких протестированных режимов внутрикадрового предсказания. Выбранные режимы внутрикадрового предсказания затем направляются в компонент форматирования заголовка и CABAC 231 для кодирования.
Например, компонент 215 внутрикадровой оценки вычисляет значения скорости-искажения, используя анализ характеристики «скорость-искажение» для различных протестированных режимов внутрикадрового предсказания и выбирает режим внутрикадрового предсказания, имеющий наилучшие характеристики скорости-искажения среди протестированных режимов. Как правило, анализ характеристики «скорость-искажение» определяет степень искажения (или ошибки) между кодированным блоком и исходным некодированным блоком, который был закодирован для получения кодированного блока, а также битовой скорости (например, количества битов), используемой для получения кодированного блока. Компонент 215 внутрикадровой оценки вычисляет соотношения из искажений и скоростей для различных кодированных блоков, чтобы определить, какой режим внутрикадрового предсказания демонстрирует наилучшее значение скорости-искажения для блока. В дополнение к этому, компонент 215 внутрикадровой оценки может быть выполнен с возможностью кодирования блоков глубины карты глубины с использованием режима моделирования глубины (DMM) на основе оптимизации характеристики «скорость-искажение» (RDO).
Компонент 217 внутрикадрового предсказания может вырабатывать остаточный блок из блока предсказания на основе выбранных режимов внутрикадрового предсказания, определенных компонентом 215 внутрикадровой оценки, когда он реализован в кодере, или считывать остаточный блок из битового потока в случае реализации в декодере. Остаточный блок включает в себя разность значений между блоком предсказания и исходным блоком, представленным в виде матрицы. Затем остаточный блок направляется компоненту 213 преобразования с масштабированием и квантования. Компонент 215 внутрикадровой оценки и компонент 217 внутрикадрового предсказания могут работать как с компонентами яркости, так и с компонентами цветности.
Компонент 213 преобразования с масштабированием и квантования выполнен с возможностью дополнительного сжатия остаточного блока. Компонент 213 преобразования с масштабированием и квантования применяет преобразование, такое как дискретное косинусное преобразование (DCT), дискретное синусоидальное преобразование (DST) или концептуально аналогичное преобразование, к остаточному блоку, создавая видеоблок, содержащий остаточные значения коэффициентов преобразования. Кроме того, можно также использовать вейвлет-преобразования, целочисленные преобразования, преобразования поддиапазонов или другие типы преобразований. Преобразование позволяет преобразовать информацию остатка из области пиксельных значений в область преобразования, такую как частотная область. Компонент 213 преобразования с масштабированием и квантования также выполнен с возможностью масштабирования преобразованной остаточной информации, например, на основе частоты. Такое масштабирование включает применение коэффициента масштабирования к остаточной информации таким образом, чтобы информация о разных частотах квантовалась с разной степенью детализации, что может повлиять на конечное визуальное качество восстановленного видео. Компонент 213 преобразования с масштабированием и квантования также выполнен с возможностью квантования коэффициентов преобразования для дальнейшего снижения скорости передачи битов. Процесс квантования позволяет уменьшить битовую глубину, ассоциированную с некоторыми или всеми коэффициентами. Степень квантования может быть изменена посредством регулировки параметра квантования. В некоторых примерах компонент 213 преобразования с масштабированием и квантования может затем выполнять сканирование матрицы, включающей в себя квантованные коэффициенты преобразования. Квантованные коэффициенты преобразования направляются в компонент форматирования заголовка и CABAC 231 для кодирования в битовом потоке.
Компонент 229 масштабирования и обратного преобразования применяет обратную операцию компонента 213 преобразования с масштабированием и квантования для поддержки оценки движения. Компонент 229 масштабирования и обратного преобразования применяет обратное масштабирование, преобразование и/или квантование для восстановления остаточного блока в пиксельной области, например, для последующего использования в качестве опорного блока, который может стать блоком предсказания для другого текущего блока. Компонент 221 оценки движения и/или компонент 219 компенсации движения могут вычислять опорный блок путем добавления остаточного блока обратно к соответствующему блоку предсказания для использования при оценке движения более позднего блока/кадра. К восстановленным опорным блокам применяются фильтры для устранения артефактов, возникающих во время масштабирования, квантования и преобразования. В противном случае такие артефакты могут вызвать неточное предсказание (и создать дополнительные артефакты) при предсказании последующих блоков.
Компонент 227 анализа управления фильтром и компонент 225 внутриконтурных фильтров применяют фильтры к остаточным блокам и/или к восстановленным блокам изображения. Например, преобразованный остаточный блок из компонента 229 масштабирования и обратного преобразования может быть объединен с соответствующим блоком предсказания из компонента 217 внутрикадрового предсказания и/или компонента 219 компенсации движения для восстановления исходного блока изображения. Затем фильтры могут быть применены к восстановленному блоку изображения. В некоторых примерах вместо этого фильтры могут применяться к остаточным блокам. Как и в случае с другими компонентами, показанными на фиг.2, компонент 227 анализа управления фильтром и компонент 225 внутриконтурных фильтров в высокой степени интегрированы и могут быть реализованы вместе, но изображены отдельно для концептуальных целей. Фильтры, применяемые к восстановленным опорным блокам, применяются к конкретным областям пространства и включают в себя несколько параметров для регулировки применения таких фильтров. Компонент 227 анализа управления фильтром анализирует восстановленные опорные блоки, чтобы определить то, где такие фильтры должны применяться, и устанавливает соответствующие параметры. Такие данные направляются в компонент 231 форматирования заголовка и CABAC в качестве данных управления фильтром для кодирования. Компонент 225 внутриконтурных фильтров применяет такие фильтры на основе данных управления фильтром. Фильтры могут включать в себя фильтр устранения блочности, фильтр подавления шума, фильтр SAO и адаптивный контурной фильтр. В зависимости от примера такие фильтры могут применяться в пространственной/пиксельной области (например, к восстановленному блоку пикселей) или в частотной области.
При работе в качестве кодера отфильтрованный восстановленный блок изображения, остаточный блок и/или блок предсказания сохраняются в компоненте 223 буфера декодированного изображения для последующего использования при оценке движения, как обсуждалось выше. При работе в качестве декодера компонент 223 буфера декодированных изображений сохраняет и пересылает восстановленные и отфильтрованные блоки в дисплей как часть выходного видеосигнала. Компонент 223 буфера декодированного изображения может быть любым запоминающим устройством, способным хранить блоки предсказания, остаточные блоки и/или блоки восстановленного изображения.
Компонент 231 форматирования заголовка и CABAC принимает данные из различных компонентов системы 200кодирования/декодирования и кодирует такие данные в кодированный битовый поток для передачи в декодер. В частности, компонент 231 форматирования заголовка и CABAC вырабатывает различные заголовки для кодирования данных управления, таких как общие данные управления и данные управления фильтром. Кроме того, данные предсказания, включая данные внутрикадрового предсказания и движения, а также остаточные данные в виде данных квантованных коэффициентов преобразования, кодируются полностью в битовом потоке. Окончательный битовый поток включает в себя всю информацию, необходимую декодеру для восстановления исходного разделенного видеосигнала 201. Такая информация может также включать в себя таблицы индексов внутрикадрового режима предсказания (также называемые таблицами сопоставления кодовых слов), определения контекстов кодирования для различных блоков, указания наиболее вероятных режимов внутрикадрового предсказания, указание информации раздела и т.д. Такие данные могут быть закодированы с применением энтропийного кодирования. Например, информация может быть закодирована с использованием контекстно-адаптивного кодирования переменной длины (CAVLC), CABAC, основанного на синтаксисе контекстно-адаптивного двоичного арифметического кодирования (SBAC), вероятностного межкадрового энтропийного кодирования (PIPE) или другого способа энтропийного кодирования. После энтропийного кодирования кодированный битовый поток может быть передан в другое устройство (например, видеодекодер) или заархивирован для последующей передачи или извлечения.
На фиг.3 показана блок-схема, иллюстрирующая примерный видеокодер 300. Видеокодер 300 может использоваться для реализации функций кодирования системы 200 кодирования/декодирования и/или реализации этапов 101, 103, 105, 107 и/или 109 способа 100 функционирования. Кодер 300 разделяет входной видеосигнал, в результате чего получается разделенный видеосигнал 301, который по существу аналогичен разделенному видеосигналу 201. Затем разделенный видеосигнал 301 сжимается и кодируется в битовом потоке компонентами кодера 300.
В частности, разделенный видеосигнал 301 направляется в компонент 317 внутрикадрового предсказания для внутрикадрового предсказания. Компонент 317 внутрикадрового предсказания может быть по существу аналогичен компоненту 215 внутрикадровой оценки и компоненту 217 внутрикадрового предсказания. Разделенный видеосигнал 301 также направляется в компонент 321 компенсации движения для межкадрового предсказания на основе опорных блоков в компоненте 323 буфера декодированных изображений.
Компонент 321 компенсации движения может быть по существу аналогичен компоненту 221 оценки движения и компоненту 219 компенсации движения. Блоки предсказания и остаточные блоки из компонента 317 внутрикадрового предсказания и компонента 321 компенсации движения направляются в компонент 313 преобразования и квантования для преобразования и квантования остаточных блоков. Компонент 313 преобразования и квантования может быть по существу аналогичен компоненту 213 преобразования с масштабированием и квантования. Преобразованные и квантованные остаточные блоки и соответствующие блоки предсказания (вместе с соответствующими управляющими данными) направляются в компонент 331 энтропийного кодирования для кодирования в битовый поток. Компонент 331 энтропийного кодирования может быть по существу аналогичен компоненту 231 форматирования заголовка и CABAC.
Преобразованные и квантованные остаточные блоки и/или соответствующие блоки предсказания также направляются из компонента 313 преобразования и квантования в компонент 329 обратного преобразования и квантования для восстановления в опорные блоки для использования компонентом 321 компенсации движения. Компонент 329 обратного преобразования и квантования может быть по существу аналогичен компоненту 229 масштабирования и обратного преобразования. Внутриконтурные фильтры в компоненте 325 внутриконтурных фильтров также применяются к остаточным блокам и/или восстановленным опорным блокам, в зависимости от примера. Компонент 325 внутриконтурных фильтров может быть по существу аналогичен компоненту 227 анализа управления фильтром и компоненту 225 внутриконтурных фильтров. Компонент 325 внутриконтурных фильтров может включать в себя множество фильтров, как описано в отношении компонента 225 внутриконтурных фильтров. Отфильтрованные блоки затем сохраняются в компоненте 323 буфера декодированных изображений для использования в качестве опорных блоков компонентом 321 компенсации движения. Компонент 323 буфера декодированных изображений может быть по существу аналогичен компоненту 223 буфера декодированных изображений.
На фиг.4 показана блок-схема, иллюстрирующая пример видеодекодера 400. Видеодекодер 400 может использоваться для реализации функций декодирования системы 200 кодирования/декодирования и/или реализации этапов 111, 113, 115 и/или 117 способа 100 функционирования. Декодер 400 принимает битовый поток, например, из кодера 300, и вырабатывает восстановленный выходной видеосигнал на основе битового потока для отображения конечному пользователю.
Битовый поток принимается компонентом 433 энтропийного декодирования. Компонент 433 энтропийного декодирования выполнен с возможностью реализации схемы энтропийного декодирования, такой как кодирование CAVLC, CABAC, SBAC, PIPE или другие технологии энтропийного кодирования. Например, компонент 433 энтропийного декодирования может использовать информацию заголовка для предоставления контекста для интерпретации дополнительных данных, кодированных как кодовые слова в битовом потоке. Декодированная информация включает в себя любую требуемую информацию для декодирования видеосигнала, такую как общие данные управления, данные управления фильтром, информацию разделения, данные движения, данные предсказания и квантованные коэффициенты преобразования из остаточных блоков. Квантованные коэффициенты преобразования направляются в компонент 429 обратного преобразования и квантования для восстановления в остаточные блоки. Компонент 429 обратного преобразования и квантования может быть аналогичен компоненту 329 обратного преобразования и квантования.
Восстановленные остаточные блоки и/или блоки предсказания направляются в компонент 417 внутрикадрового предсказания для восстановления в блоки изображений на основе операций внутрикадрового предсказания. Компонент 417 внутрикадрового предсказания может быть аналогичен компоненту 215 внутрикадровой оценки и компоненту 217 внутрикадрового предсказания. В частности, компонент 417 внутрикадрового предсказания использует режимы предсказания для обнаружения опорного блока в кадре и применяет остаточный блок к результату для восстановления внутрикадрово предсказанных блоков изображения. Восстановленные внутрикадрово предсказанные блоки изображения, и/или остаточные блоки и соответствующие данные межкадрового предсказания направляются в компонент 423 буфера декодированных изображений через компонент 425 внутриконтурных фильтров, который может быть по существу аналогичен компоненту 223 буфера декодированных изображений и в компонент 225 внутриконтурных фильтров, соответственно. Компонент 425 внутриконтурных фильтров фильтрует восстановленные блоки изображений, остаточные блоки и/или блоки предсказания, и такая информация сохраняется в компоненте 423 буфера декодированного изображения. Восстановленные блоки изображений из компонента 423 буфера декодированного изображения направляются в компонент 421 компенсации движения для межкадрового предсказания. Компонент 421 компенсации движения может быть по существу аналогичен компоненту 221 оценки движения и/или компоненту 219 компенсации движения. В частности, компонент 421 компенсации движения использует векторы движения из опорного блока для формирования блока предсказания и применяет остаточный блок к результату для восстановления блока изображения. Результирующие восстановленные блоки также могут быть перенаправлены через компонент 425 внутриконтурных фильтров в компонент 423 буфера декодированных изображений. Компонент 423 буфера декодированных изображений продолжает хранить дополнительные восстановленные блоки изображений, которые могут быть восстановлены в кадры с использованием информации разделения. Такие кадры также могут быть помещены в последовательность. Последовательность выводится на дисплей в виде восстановленного выходного видеосигнала.
На фиг.5 показано схематичное представление, иллюстрирующее примерный битовый поток 500, содержащий кодированную видеопоследовательность. Например, битовый поток 500 может вырабатываться системой 200 кодирования/декодирования и/или кодером 300 для декодирования системой 200 кодирования/декодирования и/или декодером 400. В качестве другого примера, битовый поток 500 может быть выработан кодером на этапе 109 способа 100 для использования декодером на этапе 111.
Битовый поток 500 включает в себя набор 510 параметров последовательности (SPS), множество наборов 512 параметров изображения (PPS), заголовки 514 групп плиток и данные 520 изображения. SPS 510 содержит данные последовательности, общие для всех изображений в видеопоследовательности, содержащейся в битовом потоке 500. Такие данные могут включать в себя размер изображения, битовую глубину, параметры инструмента кодирования, ограничения скорости передачи и т.д. В варианте осуществления SPS 510 включает в себя флаг 565 SPS. В варианте осуществления флаг 565 SPS имеет первое значение (например, единицу) или второе значение (например, ноль). Флаг 565 SPS, имеющий первое значение, указывает то, что сопоставление 575 ID подызображения сигнализируется в SPS 510, и флаг 565 SPS, имеющий второе значение, указывает то, что сопоставление 575 ID подызображения сигнализируется в PPS 512.
PPS 512 содержит параметры, которые характерны для одного или нескольких соответствующих изображений. Следовательно, каждое изображение в видеопоследовательности может относиться к одному PPS 512. PPS 512 может указывать инструменты кодирования, доступные для плиток в соответствующих изображениях, параметры квантования, смещения, параметры инструментов кодирования, характерные для изображения (например, средства управления фильтрами) и т.д. В варианте осуществления PPS 512 включает в себя флаг 567 PPS. В варианте осуществления флаг 567 PPS имеет первое значение (например, единицу) или второе значение (например, ноль). Флаг 567 PPS, имеющий первое значение, указывает то, что сопоставление 575 ID подызображения сигнализируется в PPS 512, и флаг 567 PPS, имеющий второе значение, указывает то, что сопоставление 575 ID подызображения не сигнализируется в PPS 512.
Заголовок 514 группы плиток содержит параметры, которые характерны для каждой группы плиток в изображении. Следовательно, может быть один заголовок 514 группы плиток в расчете на группу плиток в видеопоследовательности. Заголовок 514 группы плиток может содержать информацию о группе плиток, счетчики очередности изображений (POC), списки опорных изображений, весовые коэффициенты предсказания, точки ввода плиток, параметры устранения блочности и т.д. Следует отметить, что некоторые системы ссылаются на заголовок 514 группы плиток как на заголовок плитки и используют эту информацию для поддержки срезов вместо групп плиток.
Данные 520 изображения содержат видеоданные, кодированные в соответствии с межкадровым предсказанием и/или внутрикадровым предсказанием, а также соответствующие преобразованные и квантованные остаточные данные. Такие данные 520 изображения сортируются в соответствии с разделением, используемым для разделения изображения перед кодированием. Например, изображение в данных 520 изображения включает в себя одно или несколько изображений 521. Последовательность или ряд изображений 527 могут упоминаться как CVS 527. Используемая в данном документе CVS 527 представляет собой последовательность единиц доступа (AU), которые включают в себя, в порядке декодирования, AU начала кодированной видеопоследовательности (CVSS), за которой следует ноль или более AU, которые не являются AU CVSS, включая все последующие AU до нее, но не включая любые последующие AU, которые представляют собой AU CVSS. AU CVSS – это AU, в которой имеется блок предсказания (PU) для каждого слоя, заданного набором параметров видео (VPS), и кодированное изображение в каждой PU представляет собой изображение CLVSS. В варианте осуществления каждое изображение 521 находится в пределах AU. PU представляет собой набор единиц NAL, которые взаимодействуют друг с другом в соответствии с заданным правилом классификации, являются последовательными в порядке декодирования и содержат ровно одно кодированное изображение.
CVS представляет собой кодированную видеопоследовательность для каждой послойно кодированной видеопоследовательности (CLVS) в битовом видеопотоке. Примечательно, что CVS и CLVS являются одинаковыми, когда битовый поток видео включает в себя один слой. CVS и CLVS различаются только тогда, когда битовый поток видео включает в себя несколько слоев.
Каждое из изображений 521 может быть разделено на плитки 523. Тайл 523 представляет собой разделенную часть изображения, созданную горизонтальными и вертикальными границами. Плитки 523 могут быть прямоугольными и/или квадратными. В частности, тайл 523 включает в себя четыре стороны, соединенные под прямым углом. Четыре стороны включают в себя две пары параллельных сторон. Кроме того, стороны в паре параллельных сторон имеют одинаковую длину. Таким образом, тайл 523 может иметь любую прямоугольную форму, где квадрат является частным случаем прямоугольника, все четыре стороны которого имеют одинаковую длину. Изображение/изображение может содержать один или более плиток 523.
Изображение (например, изображение 521) может быть разделено на строки и столбцы плиток 523. Строка плиток представляет собой набор плиток 523, расположенных смежно по горизонтали для создания непрерывной линии от левой границы до правой границы изображения (или наоборот). Столбец плиток представляет собой набор плиток 523, расположенных смежно по вертикали для создания непрерывной линии от верхней границы до нижней границы изображения (или наоборот).
Плитки 523 могут разрешать или запрещать предсказание на основе других плиток 523, в зависимости от примера. В изображении каждый тайл 523 может иметь уникальный индекс плитки. Индекс плитки представляет собой процедурно выбранный числовой идентификатор, который можно использовать для отличия одного плиток 523 от другого. Например, индексы плиток могут численно увеличиваться в порядке растрового сканирования. Растровое сканирование выполняется в порядке слева направо и сверху вниз.
Следует отметить, что в некоторых примерах плитким 523 также могут быть назначены идентификаторы (ID) плиток. ID плитки представляет собой назначенный идентификатор, который можно использовать для того, чтобы отличить один тайл 523 от другого. В некоторых примерах вычисления могут использовать ID плиток вместо индексов плиток. Кроме того, в некоторых примерах ID плиток могут быть назначены те же значения, что и индексам плиток. Индексы и/или ID плиток могут сигнализироваться для указания групп плиток, содержащих плитки 523. Например, индексы и/или ID плиток могут использоваться для сопоставления данных изображения, ассоциированных с тайлом 523, в надлежащей позиции для отображения. Группа плиток представляет собой связанный с ней набор плиток 523, которые могут быть отдельно извлечены и кодированы, например, для поддержки отображения интересующей области и/или для поддержки параллельной обработки. Плитки 523 в группе плиток могут быть кодированы без ссылки на плитки 523 вне группы плиток. Каждый тайл 523 может быть назначен соответствующей группе плиток, и, таким образом, изображение может содержать множество групп плиток.
Плитки 523 дополнительно делятся на единицы дерева кодирования (CTU). CTU дополнительно делятся на блоки кодирования на основе деревьев кодирования. Затем блоки кодирования можно кодировать/декодировать в соответствии с механизмами предсказания.
На фиг.6A-6E показан примерный механизм 600 для создания трека 610 экстрактора (также известного как объединенный битовый поток) для объединения подызображений, имеющих несколько разрешений, из разных битовых поток в единое изображение для использования в приложениях виртуальной реальности (VR). Механизм 600 может использоваться для поддержки примерного варианта использования способа 100. Например, механизм 600 может использоваться для выработки битового потока 500 для передачи из системы 200 кодирования/декодирования и/или кодера 300 в систему 200 кодирования/декодирования и/или декодер 400. В качестве конкретного примера, механизм 600 может использоваться для использования в сочетании с VR, всенаправленным медиаформатом (OMAF), видео с углом обзора 360 градусов и т.д.
В VR пользователю отображается только часть видео. Например, видео VR может быть снято таким образом, чтобы включать в себя сферу, окружающую пользователя. Пользователь может использовать наголовной дисплей (HMD) для просмотра VR-видео. Пользователь может направить HMD на интересующую его область. Пользователю отображается интересующая область, а другие видеоданные отбрасываются. Таким образом, пользователь в любой момент может просмотреть только выбранную им часть VR-видео. Этот подход имитирует восприятие пользователя и, следовательно, заставляет пользователя воспринимать виртуальную среду таким способом, который имитирует реальную среду. Одна из проблем, связанная с этим подходом, состоит в том, что все VR-видео может быть передано пользователю, но фактически используется только текущая область просмотра видео, а остальная часть отбрасывается. Чтобы повысить эффективность передачи сигналов для потоковых приложений, текущее окно просмотра пользователя может передаваться с более высоким первым разрешением, и другие окна просмотра могут передаваться с более низким вторым разрешением. Таким образом, области просмотра, которые, вероятно, будут отброшены, занимают меньшую полосу пропускания, чем области просмотра, которые, вероятно, будут просматриваться пользователем. В случае, если пользователь выбирает новое окно просмотра, содержание с более низким разрешением может отображаться до тех пор, пока декодер не сможет запросить передачу другого текущего окна просмотра с более высоким первым разрешением. Механизм 600 можно использовать для создания трека 610 экстрактора, как показано на фиг.6E, для поддержки этой функции. Трек 610 экстрактора представляет собой трек данных изображения, который инкапсулирует изображение (например, изображение 521) с множеством разрешений для использования, как описано выше.
Механизм 600 кодирует одно и тот же видеосодержание с первым разрешением 611 и вторым разрешением 612, как показано на фиг.6А и 6В, соответственно. В качестве конкретного примера, первое разрешение 611 может быть представлять собой 5120×2560 выборок яркости, и второе разрешение 612 может быть представлять собой 2560×1280 выборок яркости. Изображения видео могут быть разделены на плитки 601 с первым разрешением 611 и плитки 603 со вторым разрешением 612, соответственно. Используемые в данном документе плитки могут называться подызображениями. В показанном примере каждый тайл 601 и 603 разделен на сетку 4x2. Кроме того, MCTS может быть закодирован для каждой позиции плиток 601 и 603. Каждое из изображений с первым разрешением 611 и вторым разрешением 612 приводит к последовательности MCTS, описывающей видео во времени с соответствующим разрешением. Каждая кодированная последовательность MCTS сохраняется как трек подызображения или трек плитки. Затем механизм 600 может использовать изображения для создания сегментов для поддержки адаптивного выбора MCTS области просмотра. Например, рассматривается каждый диапазон ориентаций просмотра, который вызывает различный выбор MCTS с высоким и низким разрешением. В проиллюстрированном примере получаются четыре плитки 601, содержащие MCTS с первым разрешением 611, и четыре плитки 603, содержащие MCTS со вторым разрешением 612.
Затем механизм 600 может создать трек 610 экстрактора для каждого возможного выбора MCTS, адаптированного к области просмотра. На фиг.6C и 6D показан пример выбора MCTS, адаптированного к области просмотра. В частности, набор выбранных плиток 605 и 607 выбирается при первом разрешении 611 и втором разрешении 612, соответственно. Выбранные плитки 605 и 607 показаны серым цветом. В показанном примере выбранные плитки 605 представляют собой плитки 601 с первым разрешением 611, которые должны быть показаны пользователю, и выбранные плитки 607 представляют собой плитки 603 со вторым разрешением 612, которые, вероятно, будут отброшены, но сохранены для поддержки отображения в случае, если пользователь выбирает новое окно просмотра. Затем выбранные плитки 605 и 607 объединяются в одно изображение, содержащее данные изображения как с первым разрешением 611, так и со вторым разрешением 612. Такие изображения объединяются для создания трека 610 экстрактора. В целях иллюстрации на фиг.6E показано отдельное изображение из соответствующего трека 610 экстрактора. Как показано, изображение на треке 610 экстрактора содержит выбранные плитки 605 и 607 из первого разрешения 611 и второго разрешения 612. Как отмечалось выше, на фиг.6C-6E показан одиночный выбор MCTS, адаптированный к области просмотра. Чтобы предоставить пользователю возможность выбора любого окна просмотра, трек 610 экстрактора должен быть создан для каждой возможной комбинации выбранных плиток 605 и 607.
В показанном примере каждый выбор плиток 603, инкапсулирующих содержание из битового потока со вторым разрешением 612, содержит два среза. RegionWisePackingBox может быть включен в трек 610 экстрактора для создания сопоставления между упакованным изображением и проецируемым изображением в формате равнопромежуточной проекции (ERP). В представленном примере битовые потоки, выделенные из треков 610 экстрактора, имеют разрешение 3200×2560. Следовательно, декодер с поддержкой четырех тысяч выборок (4K) может декодировать содержание, в котором область просмотра извлекается из кодированного битового потока с разрешением пять тысяч выборок 5K (5120×2560).
Как показано на фиг.6C, выбранные плитки 605 (показаны серым цветом) с первым разрешением 611 имеют следующие идентификаторы плиток: 10, 11, 14 и 15. Используемые в данном документе идентификаторы плиток также могут называться идентификаторами подызображений. Выбранные плитки 607 со вторым разрешением 612 имеют следующие идентификаторы: 1, 5, 4 и 8. Таким образом, трек 610 экстрактора содержит следующие идентификаторы плиток: 10, 11, 14, 15, 1, 5, 4 и 8. Идентификаторы плиток используются для идентификации конкретных плиток изображения с использованием индекса подызображения, который может упоминаться в данном документе как сопоставление ID подызображений.
На фиг.7A-7E показан примерный механизм 700 для создания трека 710 экстрактора для объединения подызображений с несколькими разрешениями из разных битовых потоков в единое изображение для использования в приложениях виртуальной реальности, когда пользователь изменил окна просмотра относительно окна просмотра, которое было выбрано для фиг.6А-6Е. То есть на фиг.7A-7E показано то, как создается новый трек 710 экстрактора при изменении ориентации просмотра в CVS, которая включает в себя трек 610 экстрактора и трек 710 экстрактора.
Как показано на фиг.7A-7B, изображения видео были разделены на плитки 701 с первым разрешением 711 и плитки 703 со вторым разрешением 712, соответственно. Однако имело место изменение ориентации просмотра в механизме 700 по сравнению с механизмом 600. Таким образом, как показано на фиг.7C-7D, выбранные плитки 705 (показаны серым цветом) с первым разрешением 711 теперь имеют следующие идентификаторы плиток: 9, 10, 13 и 14, и выбранные плитки 707 со вторым разрешением 712 теперь имеют следующие идентификаторы плиток: 3, 4, 7 и 8. Таким образом, трек 710 экстрактора содержит следующие идентификаторы плиток: 3, 4, 7, 8, 9, 10, 13 и 14 из-за изменения ориентации просмотра.
Когда передаваемая CVS включает в себя постоянный набор подызображений, то соответствующие ID подызображений остаются в SPS (при этом все остальные удаляются). Когда происходит слияние (например, для формирования одного из треков 610 или 710 экстрактора), ID подызображений перемещаются в PPS. В любом случае флаг устанавливается в битовый поток для того, чтобы указать то, где в настоящее время находятся ID подызображений.
Обычно, когда происходит изменение ориентации просмотра, должны отправляться новые изображения IRAP. Изображение IRAP представляет собой кодированное изображение, для которого все единицы NAL VCL имеют одинаковое значение типа единицы NAL. Изображение IRAP обеспечивает следующие две важные функции/преимущества. Во-первых, наличие изображения IRAP указывает то, что процесс декодирования может начинаться с этого изображения. Эта функциональность позволяет использовать функцию произвольного доступа, при которой процесс декодирования начинается с этой позиции в битовом потоке, не обязательно в начале битового потока, если в этой позиции присутствует изображение IRAP. Во-вторых, наличие IRAP-изображения обновляет процесс декодирования, так что кодированное изображение, начинающееся с IRAP-изображения, за исключением пропускающих произвольный доступ ведущих изображений (RASL), кодируется без какой-либо ссылки на предыдущие изображения. Следовательно, наличие изображения IRAP в битовом потоке предотвратит распространение любой ошибки, которая может произойти во время декодирования кодированных изображений перед изображением IRAP, на изображение IRAP и те изображения, которые следуют за изображением IRAP в порядке декодирования.
Несмотря на то, что изображения IRAP обеспечивают важные функциональные возможности, они снижают эффективность сжатия. Наличие изображения IRAP вызывает всплеск битовой скорости. Это снижение эффективности сжатия связано с двумя причинами. Во-первых, так как изображение IRAP является внутрикадрово предсказанным изображением, для представления самого изображения потребуется относительно больше битов по сравнению с другими изображениями (например, начальными изображениями, задними изображениями), которые являются межкадрово предсказанными изображениями. Во-вторых, так как присутствие изображения IRAP нарушает временное предсказание (это связано с тем, что декодер будет обновлять процесс декодирования, в котором одним из действий процесса декодирования для этого является удаление предыдущих опорных изображений в буфере декодированных изображений (DPB)), изображение IRAP приводит к тому, что кодирование изображений, которые следуют за изображением IRAP в порядке декодирования, будет менее эффективным (то есть для представления требуется больше битов), так как они имеют меньше опорных изображений для их кодирования с межкадровым предсказанием.
В варианте осуществления изображение IRAP упоминается как изображение с чистым произвольным доступом (CRA) или как изображение с мгновенным обновлением декодера (IDR) с изображением, декодируемым с произвольным доступом (RADL). В HEVC изображения IDR, изображения CRA и изображения с доступом с разорванной ссылкой (BLA) считаются изображениями IRAP. Для VVC во время 12-ой конференции JVET в октябре 2018 года было решено использовать изображения IDR и CRA в качестве изображений IRAP. В варианте осуществления изображения с доступом с разорванной ссылкой (BLA) и постепенным обновлением декодера (GDR) также могут рассматриваться как изображения IRAP. Процесс декодирования кодированной видеопоследовательности всегда начинается с изображения IRAP.
В отличие от передачи новых IRAP-изображений, как описано выше, лучшим подходом является продолжение передачи любых плиток (также называемых подызображениями), совместно используемых между треком 610 экстрактора и треком 710 экстрактора. То есть продолжается отправка плиток, имеющих следующие ID плиток: 4, 8, 10 и 14, так как эти плитки находятся как на треке 610 экстрактора, так и на треке 710 экстрактора. При этом новые изображения IRAP необходимо отправлять только для тех плиток на треке 710 экстрактора, которые также не находились на треке 610 экстрактора. То есть новые изображения IRAP необходимо отправлять только для плиток, имеющих следующие ID плиток: 1, 5, 9 и 13, тогда, когда изменилась ориентация просмотра. Однако изменение ID подызображений в CVS может вызвать проблемы в сигнализации.
Для того, чтобы решить по меньшей мере проблему сигнализации, указатель (например, флаг) сигнализируется в битовом потоке для указания того, может ли ID плитки (также известный как ID подызображения) для каждого плитки (или подызображения) изменяться в CVS. Такой флаг может сигнализироваться в SPS или в PPS. В дополнение к сигнализации того, может ли измениться ID плитки в CVS, флаг также может предоставлять другие функции.
В одном подходе ID подызображений сигнализируются либо в синтаксисе SPS (когда указано, что ID подызображения для каждого подызображения не изменяется в CVS), либо в синтаксисе PPS (когда указано, что ID подызображения для каждого подызображения может изменяться в CVS). В одном варианте осуществления ID подызображения никогда не сигнализируются как в синтаксисе SPS, так и в синтаксисе PPS.
В другом подходе ID подызображений всегда сигнализируются в синтаксисе SPS, и когда флаг указывает то, что ID подызображения для каждого подызображения может изменяться в CVS, значения ID подызображений, сигнализируемые в SPS, могут быть переопределены ID подызображений, сигнализируемыми в синтаксисе PPS.
В еще одном подходе ID подызображений не сигнализируются в синтаксисе SPS, а только в синтаксисе PPS, и указатель того, может ли ID подызображения для каждого подызображения изменяться в CVS, также сигнализируется только в синтаксисе PPS.
В этом подходе другая информация о подызображениях, такая как позиция и размер каждого подызображения, длина ID подызображений в битах, а также флаги subpic_treated_as_pic_flag [ i ] и loop_filter_across_subpic_enabled_flag [ i ], как в последнем проекте спецификации VVC, могут также сигнализироваться в PPS вместо SPS, но все они являются одинаковыми для всех PPS, на которые ссылаются кодированные изображения в CVS.
Когда позиции и размеры подызображений сигнализируются в PPS, вместо того, чтобы сигнализироваться по аналогии с последней спецификацией проекта VVC, они могут сигнализироваться на основе срезов, включенных в каждое подызображение. Например, для каждого подызображения может сигнализироваться индекс среза или ID среза, расположенный в верхнем левом углу подызображения, и индекс или ID среза, расположенный в правом нижнем углу подызображения, для получения позиции и размера подызображения, при этом сигнализация может быть основана на дельте, и в некоторых конкретных случаях можно избежать сигнализации индекса или ID среза или его дельты, и значение получается, например, аналогично тому, как индексы верхнего левого и правого нижнего элементарных блоков сигнализируются для прямоугольных срезов в последней спецификации проекта VVC.
В данном варианте осуществления ID подызображения сигнализируются следующим образом.
В синтаксисе SPS в случае, когда указано то, что количество подызображений в каждом изображении в CVS больше 1, применяется следующее.
Флаг (например, назначенный subpicture_ids_signalled_in_sps_flag или sps_subpic_id_mapping_present_flag) сигнализируется в SPS. В варианте осуществления флаг имеет следующую семантику: subpicture_ids_signalled_in_sps_flag, равный 1, указывает то, что ID подызображений передаются в SPS, по одному для каждого подызображения, и что значение ID подызображения для каждого конкретного подызображения не изменяется в CVS. Флаг subpicture_ids_signalled_in_sps_flag, равный 0, указывает то, что ID подызображений не передаются в SPS, и вместо этого передаются в PPS, и значение ID подызображения для каждого конкретного подызображения может изменяться в CVS. Когда subpicture_ids_signalled_in_sps_flag равен 1, ID подызображения сигнализируется для каждого подызображения в SPS.
В синтаксисе PPS флаг (например, назначенный subpicture_ids_signalled_in_pps_flag или pps_subpic_id_mapping_present_flag) сигнализируется в PPS. Этот флаг имеет следующую семантику: subpicture_ids_signalled_in_pps_flag, равный 1, указывает то, что ID подызображений передаются в PPS, по одному для каждого подызображения, и значение ID подызображения для каждого конкретного подызображения может изменяться в CVS. Флаг subpicture_ids_signalled_in_pps_flag, равный 0, указывает то, что ID подызображений не передаются в PPS, и вместо этого передаются в SPS, и значение ID подызображения для каждого конкретного подызображения не изменяется в CVS.
В варианте осуществления значение subpicture_ids_signalled_in_pps_flag должно быть равно 1 – subpicture_ids_signalled_in_sps_flag. Когда значение subpicture_ids_signalled_in_pps_flag равно 1, ID подызображения сигнализируется для каждого подызображения в PPS.
В синтаксисе заголовка плитки ID подызображения сигнализируется независимо от количества подызображений, указанного SPS, на который делается ссылка.
В качестве альтернативы, когда количество подызображений в каждом изображении больше 1, синтаксис SPS всегда включает в себя ID подызображений, по одному для каждого подызображения, и синтаксис SPS также включает в себя флаг, указывающий то, могут ли быть переопределены ID подызображений с помощью ID подызображений, указанных в синтаксисе PPS, и может ли изменяться значение ID подызображения для каждого конкретного изображения в CVS. Переопределение ID подызображения может быть выполнено либо всегда для всех ID подызображения, либо только для выбранного подмножества всех ID подызображений.
На фиг.8 показан вариант осуществления способа 800 декодирования, реализуемого видеодекодером (например, видеодекодером 400). Способ 800 может выполняться после того, как декодированный битовый поток был напрямую или косвенно принят из видеокодера (например, видеокодера 300). Способ 800 позволяет улучшить процесс декодирования, обеспечивая эффективную сигнализацию ID подызображений, даже тогда, когда ID подызображений изменяются в пределах CVS в сценариях применения, включающих в себя как извлечение битовых подпотоков, так и слияние битовых подпотоков. Это позволяет уменьшить избыточность и повысить эффективность кодирования. Таким образом, при кодировании видео кодер/декодер (также называемый как «кодек») улучшен по сравнению с существующими кодеками. С практической точки зрения, улучшенный процесс кодирования видео предлагает пользователю более высокий уровень пользовательского восприятия при отправке, получении и/или просмотре видео.
На этапе 802 видеодекодер принимает битовый видеопоток (например, битовый поток 500), включающий в себя SPS (например, SPS 510), PPS (например, PPS 512) и множество подызображений (например, плитки 605 и 607), ассоциированных с сопоставлением 575 идентификатора (ID) подызображения. Как отмечалось выше, сопоставление 575 ID подызображения является сопоставлением ID подызображений с конкретными подызображениями посредством индекса подызображения (например, ID 8 подызображения соответствует индексу 8 подызображения, который идентифицирует конкретное подызображение из множества подызображений). В одном варианте осуществления SPS 510 содержит флаг 565 SPS. В одном варианте осуществления PPS 512 содержит флаг 567 PPS.
На этапе 804 видеодекодер определяет то, имеет ли флаг 565 SPS первое значение или второе значение. Флаг 565 SPS, имеющий первое значение, указывает то, что сопоставление 575 ID подызображения включено в SPS 510, и флаг 565 SPS, имеющий второе значение, указывает то, что сопоставление 575 ID подызображения сигнализируется в PPS 512.
Когда флаг 565 SPS имеет второе значение, на этапе 806 видеодекодер определяет то, имеет ли флаг 567 PPS первое значение или второе значение. Флаг 567 PPS, имеющий первое значение, указывает то, что сопоставление 575 ID подызображения включено в PPS 512, и флаг 567 PPS, имеющий второе значение, указывает то, что сопоставление 575 ID подызображения не сигнализируется в PPS 512.
В варианте осуществления флаг 656 SPS имеет первое значение, когда флаг 567 PPS имеет второе значение. В варианте осуществления флаг 565 SPS имеет второе значение, когда флаг 567 PPS имеет первое значение. В варианте осуществления первое значение равно единице, и второе значение равно нулю.
В одном варианте осуществления SPS 510 содержит второй флаг 569 SPS. Второй флаг 569 SPS указывает то, сигнализируется ли сопоставление 575 подызображения явным образом в SPS 510 или PPS 512. В варианте осуществления битовый поток 500 дополнительно содержит флаг 571 изменения CVS. Флаг 571 изменения CVS указывает то, может ли сопоставление 575 ID подызображения измениться в CVS 590 битового потока 500. В варианте осуществления флаг 571 изменения CVS включен в SPS 510, PPS 512 или другой набор параметров или заголовок в битовом потоке 500.
На этапе 808 видеодекодер получает сопоставление 575 ID подызображения из SPS 510, когда флаг SPS 565 имеет первое значение, и из PPS 512, когда флаг SPS имеет второе значение, и/или когда флаг 567 PPS имеет первое значение. В варианте осуществления битовый поток содержит объединенный битовый поток. В варианте осуществления сопоставление 575 ID подызображения было изменено в CVS 590 битового потока 500.
На этапе 810 видеодекодер декодирует множество подызображений с использованием сопоставления 575 ID подызображения. После декодирования множество подызображений можно использовать для выработки или получения изображения или видеопоследовательности для сопоставления пользователю на экране дисплея или на экране электронного устройства (например, смартфона, планшетного компьютера, ноутбука, персонального компьютера и т.д.).
На фиг.9 показан вариант осуществления способа 900 кодирования битового видеопотока, реализуемого видеокодером (например, видеокодером 300). Способ 900 может быть выполнен тогда, когда изображение (например, из видео) должно быть кодировано в битовом видеопотоке и затем передано в видеодекодер (например, видеодекодер 400). Способ 900 позволяет улучшить процесс кодирования, обеспечивая эффективную сигнализацию ID подызображений, даже тогда, когда ID подызображений изменяются в пределах CVS в сценариях применения, включающих в себя как извлечение битовых подпотоков, так и слияние битовых подпотоков. Это позволяет уменьшить избыточность и повысить эффективность кодирования. Таким образом, при кодировании видео кодер/декодер (также называемый как «кодек») улучшен по сравнению с существующими кодеками. С практической точки зрения, улучшенный процесс кодирования видео предлагает пользователю более высокий уровень пользовательского восприятия при отправке, получении и/или просмотре видео.
На этапе 902 видеокодер кодирует битовый поток, включающий в себя SPS (например, SPS 510), PPS (например, PPS 512) и множество подызображений (например, плитки 605 и 607), ассоциированных с сопоставлением идентификатора (ID) подызображения. Как отмечалось выше, сопоставление 575 ID подызображения является сопоставлением ID подызображений с конкретными подызображениями посредством индекса подызображения (например, ID 8 подызображения соответствует индексу 8 подызображения, который идентифицирует конкретное подызображение из множества подызображений). В варианте осуществления SPS 510 содержит флаг 565 SPS, и PPS 512 содержит флаг 567 PPS.
На этапе 904 видеокодер устанавливает флаг 565 SPS на первое значение, когда сопоставление 575 ID подызображения включено в SPS 510, и на второе значение, когда сопоставление 575 ID подызображения сигнализируется в PPS 512.
На этапе 906 видеокодер устанавливает флаг 567 PPS на первое значение, когда сопоставление 575 ID подызображения включено в PPS 512, и на второе значение, когда сопоставление 575 ID подызображения не сигнализируется в PPS 512.
В варианте осуществления флаг 565 SPS имеет первое значение, когда флаг 567 PPS имеет второе значение. В варианте осуществления флаг 565 SPS имеет второе значение, когда флаг 567 PPS имеет первое значение. В варианте осуществления первое значение равно единице, и второе значение равно нулю.
В варианте осуществления SPS 510 содержит второй флаг 569 SPS. Второй флаг 569 SPS указывает то, сигнализируется ли сопоставление 575 ID подызображения явным образом в SPS 510 или PPS 512. В варианте осуществления битовый поток 500 дополнительно содержит флаг 571 изменения CVS. Флаг 571 изменения CVS указывает то, может ли сопоставление 575 ID подызображения измениться в CVS 590 битового потока 500. В варианте осуществления флаг 571 изменения CVS включен в SPS 510, PPS 512 или другой набор параметров или заголовок в битовом потоке 500.
На этапе 908 видеокодер сохраняет битовый поток для передачи в декодер. Битовый поток может храниться в памяти до тех пор, пока битовый видео поток не будет передан в видеодекодер. После приема видеодекодером кодированный битовый видеопоток может быть декодирован (например, как описано выше) для выработки или получения изображения или видеопоследовательности для отображения пользователю на экране дисплея или на экране электронного устройства (например, смартфона, планшетного компьютера, ноутбука, персонального компьютера и т.д.).
В одном варианте осуществления ID подызображения сигнализируются следующим образом.
Синтаксис SPS не включает в себя сигнализацию ID подызображения.
В синтаксисе PPS сигнализируется значение, указывающее количество подызображений, которое должно быть одинаковым для всех PPS, на которые ссылаются кодированные изображения в CVS, и когда указанное количество подызображений больше 1, применяется следующее:
Флаг, например, названный subpicture_id_unchanging_in_cvs_flag, сигнализируется в PPS со следующей семантикой: subpicture_id_unchanging_in_cvs_flag, равный 1, указывает то, что ID подызображения для каждого конкретного подызображения, сигнализируемого в PPS, не изменяется в CVS. subpicture_id_unchanging_in_cvs_flag, равный 0, указывает то, что ID подызображения для каждой конкретной подызображения, сигнализируемой в PPS, может изменяться в CVS.
Значение, указывающее количество подызображений, передается в PPS. Указанное количество подызображений должно быть одинаковым для всех PPS, на которые ссылаются кодированные изображения в CVS.
ID подызображения сигнализируется для каждого подызображения в PPS. Когда значение subpicture_id_unchanging_in_cvs_flag равно 1, ID подызображения для каждого конкретного подызображения должен быть одинаковым для всех PPS, на которые ссылаются кодированные изображения в CVS.
В синтаксисе заголовка среза ID подызображения сигнализируется независимо от количества подызображений, указанного SPS, на который делается ссылка.
Кроме того, следует также понимать, что этапы примерных способов, изложенных в данном документе, не обязательно должны выполняться в описанном порядке, и порядок этапов таких способов следует рассматривать только как примерный. Аналогичным образом, в такие способы могут быть включены дополнительные этапы, а некоторые этапы могут быть исключены или объединены в способах, соответствующих различным вариантам осуществления настоящего раскрытия.
На фиг.10 показано схематичное представление устройства 1000 для кодирования видео (например, видеокодера 300 или видеодекодера 400) в соответствии с вариантом осуществления раскрытия. Устройство 1000 для кодирования видео подходит для реализации раскрытых вариантов осуществления, как описано в данном документе. Устройство 1000 для кодирования видео содержит входные порты 1010 и блоки 1020 приемника (Rx) для приема данных; процессор, логический блок или центральный процессор (CPU) 1030 для обработки данных; блоки 1040 передатчика (Tx) и выходные порты 1050 для передачи данных; и память 1060 для хранения данных. Устройство 1000 для кодирования видео может также содержать оптико-электрические (OE) компоненты и электрооптические (EO) компоненты, подключенные к входным портам 1010, блокам 1020 приемника, блокам 1040 передатчика и выходным портам 1050 для вывода или ввода оптических или электрических сигналов.
Процессор 1030 реализован аппаратно и программно. Процессор 1030 может быть реализован в виде одной или нескольких микросхем CPU, ядер (например, в виде многоядерного процессора), программируемых пользователем вентильных матриц (FPGA), специализированных интегральных схем (ASIC) и процессоров цифровых сигналов (DSP). Процессор 1030 взаимодействует с входными портами 1010, блоками 1020 приемника, блоками 1040 передатчика выходными портами 1050 и памятью 1060. Процессор 1030 содержит модуль 1070 кодирования. Модуль 1070 кодирования реализует раскрытые варианты осуществления, описанные выше. Например, модуль 1070 кодирования реализует, обрабатывает, подготавливает или выполняет различные функции кодека. Таким образом, включение модуля 1070 кодирования обеспечивает существенное улучшение функциональных возможностей устройства 1000 для кодирования видео и обеспечивает переход устройства 1000 для кодирования видео в другое состояние. В качестве альтернативы, модуль 1070 кодирования реализован как инструкции, хранящиеся в памяти 1060 и исполняемые процессором 1030.
Устройство 1000 для кодирования видео может также включать в себя устройства 1080 ввода и/или вывода (I/O) для передачи данных пользователю и от пользователя. Устройства 1080 ввода/вывода могут включать в себя устройства вывода, такие как дисплей для отображения видеоданных, динамики для вывода аудиоданных и т.д. Устройства 1080 ввода/вывода также могут включать в себя устройства ввода, такие как клавиатура, мышь, шаровой манипулятор и т.д, и/или соответствующие интерфейсы для взаимодействия с такими устройствами вывода.
Память 1060 содержит один или несколько дисков, ленточных накопителей и твердотельных накопителей и может использоваться в качестве устройства хранения данных при переполнении для хранения программ, когда такие программы выбираются для исполнения и хранения инструкций и данных, которые считываются во время исполнения программы. Память 1060 может быть энергозависимой и/или энергонезависимой и может представлять собой постоянную память (RAM), оперативную память (ОЗУ), троичную память с адресацией по содержимому (ТСАМ) и/или статическую оперативную память (SRAM).
На фиг.11 показано схематичное представление варианта осуществления средства 1100 кодирования. В варианте осуществления средство 1100 кодирования реализовано в виде устройства 1102 для кодирования видео (например, видеокодера 300 или видеодекодера 400). Устройство 1102 для кодирования видео включает в себя средство 1101 приема. Средство 1101 приема выполнено с возможностью приема изображения для кодирования или приема битового потока для декодирования. Устройство 1102 для кодирования видео включает в себя средство 1107 передачи, подключенное к средству 1101 приема. Средство 1107 передачи выполнено с возможностью передачи битового потока в декодер или передачи декодированного изображения в средство отображения (например, в одно из устройств 1080 ввода/вывода).
Устройство 1102 для кодирования видео включает в себя средство 1103 хранения. Средство 1103 хранения подключено по меньшей мере к одному из: средства 1101 приема или средства 1107 передачи. Средство 1103 хранения выполнено с возможностью хранения инструкций. Устройство 1102 для кодирования видео также включает в себя средство 1105 обработки. Средство 1105 обработки подключено к средству 1103 хранения. Средство 1105 обработки выполнено с возможностью исполнения инструкций, хранящихся в средстве 1103 хранения, для выполнения способов, раскрытых в данном документе.
Несмотря на то, что в настоящем раскрытии было представлено несколько вариантов осуществления, должно быть понятно, что раскрытые системы и способы могут быть воплощены в многих других конкретных формах без отклонения от сущности или объема настоящего раскрытия. Настоящие примеры следует рассматривать как иллюстративные, а не ограничительные, и примеры не имеют намерения ограничивать изобретение деталями, приведенными в данном документе. Например, различные элементы или компоненты могут быть объединены или интегрированы в другую систему, или некоторые функции могут быть опущены или не реализованы.
В дополнение к этому, технологии, системы, подсистемы и способы, описанные и проиллюстрированные в различных вариантах осуществления как дискретные или отдельные, могут быть объединены или интегрированы с другими системами, компонентами, технологиями или способами, что не выходит за рамки объема настоящего раскрытия. Другие примеры изменений, замен и модификаций могут быть установлены специалистом в данной области техники и могут быть осуществлены без отклонения от сущности и объема, раскрытых в данном документе.
Изобретение относится к кодированию и декодированию изображений. Технический результат заключается в повышении эффективности кодирования и декодирования изображений. Такой результат обеспечивается за счет того, что осуществляют прием битового потока, включающего в себя SPS, PPS и подызображения, ассоциированные с сопоставлением ID подызображения. Определение выполняется относительно того, имеет ли флаг SPS первое или второе значение. Флаг SPS, имеющий первое значение, указывает то, что сопоставление ID подызображений сигнализируется в SPS, и второе значение указывает то, что сопоставление ID подызображений сигнализируется в PPS. Сопоставление ID подызображений получается из SPS, когда флаг SPS имеет первое значение, и из PPS, когда флаг SPS имеет второе значение, или флаг PPS имеет первое значение. 9 н. и 23 з.п. ф-лы, 19 ил.
1. Способ декодирования изображения, реализуемый декодером, содержащий этапы, на которых:
принимают, с помощью декодера, битовый поток, включающий в себя набор параметров последовательности (SPS), набор параметров изображения (PPS) и множество подызображений, ассоциированных с сопоставлением идентификатора (ID) подызображения, причем SPS включает в себя флаг SPS;
определяют, с помощью декодера, имеет ли флаг SPS первое значение или второе значение, причем флаг SPS, имеющий первое значение, указывает, что сопоставление ID подызображений сигнализируется в SPS, а флаг SPS, имеющий второе значение, указывает, что сопоставление ID подызображений сигнализируется в PPS;
получают, с помощью декодера, сопоставление ID подызображений из SPS, когда флаг SPS имеет первое значение, и из PPS, когда флаг SPS имеет второе значение; и
декодируют, с помощью декодера, множество подызображений с использованием сопоставления ID подызображений.
2. Способ декодирования изображения по п. 1, в котором PPS включает в себя флаг PPS, дополнительно содержащий этапы, на которых:
определяют, с помощью декодера, имеет ли флаг PPS первое значение или второе значение, причем флаг PPS, имеющий первое значение, указывает, что сопоставление ID подызображений сигнализируется в PPS, а флаг PPS, имеющий второе значение, указывает, что сопоставление ID подызображений не сигнализируется в PPS; и
получают, с помощью декодера, сопоставление ID подызображений из PPS, когда флаг PPS имеет первое значение.
3. Способ декодирования изображения по п. 2, в котором флаг SPS имеет первое значение, когда флаг PPS имеет второе значение, и флаг SPS имеет второе значение, когда флаг PPS имеет первое значение.
4. Способ декодирования изображения по любому из пп. 1-3, в котором первое значение равно единице, а второе значение равно нулю.
5. Способ декодирования изображения по любому из пп. 1-4, в котором SPS включает в себя второй флаг SPS, причем второй флаг SPS указывает, сигнализируется ли сопоставление ID подызображений явным образом в SPS или PPS.
6. Способ декодирования изображения по любому из пп. 1-5, в котором битовый поток дополнительно содержит флаг изменения кодированной видеопоследовательности (CVS), причем флаг изменения CVS указывает то, разрешено ли изменение сопоставления ID подызображений в кодированной видеопоследовательности (CVS) битового потока.
7. Способ декодирования изображения по п. 6, в котором битовый поток содержит объединенный битовый поток, а сопоставление ID подызображений изменено в CVS битового потока.
8. Способ кодирования изображения, реализуемый кодером, содержащий этапы, на которых:
кодируют, с помощью кодера, битовый поток, включающий в себя набор параметров последовательности (SPS), набор параметров изображения (PPS) и множество подызображений, ассоциированных с сопоставлением идентификатора (ID) подызображения, причем SPS включает в себя флаг SPS;
устанавливают, с помощью кодера, флаг SPS в первое значение, когда сопоставление ID подызображений сигнализируется в SPS, и во второе значение, когда сопоставление ID подызображений сигнализируется в PPS; и
сохраняют, с помощью кодера, битовый поток для передачи на декодер.
9. Способ кодирования изображения по п. 8, дополнительно содержащий этап, на котором устанавливаю, с помощью кодера, флаг PPS в PPS в первое значение, когда сопоставление ID подызображений сигнализируется в PPS, и во второе значение, когда сопоставление ID подызображений не сигнализируется в PPS.
10. Способ кодирования изображения по п. 9, в котором флаг SPS имеет первое значение, когда флаг PPS имеет второе значение, и флаг SPS имеет второе значение, когда флаг PPS имеет первое значение.
11. Способ кодирования изображения по любому из пп. 8-10, в котором первое значение равно единице, а второе значение равно нулю.
12. Способ кодирования изображения по любому из пп. 8-11, в котором SPS включает в себя второй флаг SPS, причем второй флаг SPS указывает, сигнализируется ли сопоставление ID подызображения явным образом в SPS или PPS.
13. Способ кодирования изображения по любому из пп. 8-12, в котором битовый поток дополнительно содержит флаг изменения кодированной видеопоследовательности (CVS), причем флаг изменения CVS указывает, может ли измениться сопоставление ID подызображений в кодированной видеопоследовательности (CVS) битового потока.
14. Способ кодирования изображения по п. 13, в котором битовый поток содержит объединенный битовый поток, а сопоставление ID подызображений изменено в CVS битового потока.
15. Устройство декодирования изображения, содержащее:
приемник, выполненный с возможностью приема битового потока, включающего в себя набор параметров последовательности (SPS), набор параметров изображения (PPS) и множество подызображений, ассоциированных с сопоставлением идентификатора (ID) подызображения, причем SPS включает в себя флаг SPS;
память, соединенную с приемником, причем память хранит инструкции; и
процессор, соединенный с памятью, причем процессор выполнен с возможностью исполнения инструкций, вызывающих выполнение, устройством декодирования:
определения, имеет ли флаг SPS первое значение или второе значение, причем флаг SPS, имеющий первое значение, указывает, что сопоставление ID подызображений сигнализируется в SPS, а флаг SPS, имеющий второе значение, указывает, что сопоставление ID подызображений сигнализируется в PPS;
получения сопоставления ID подызображений из SPS, когда флаг SPS имеет первое значение, и из PPS, когда флаг SPS имеет второе значение; и
декодирования множества подызображений с использованием сопоставления ID подызображений.
16. Устройство декодирования изображения по п. 15, в котором PPS включает в себя флаг PPS, и процессор дополнительно выполнен с возможностью:
определения того, имеет ли флаг PPS первое значение или второе значение, причем флаг PPS, имеющий первое значение, указывает то, что сопоставление ID подызображений сигнализируется в PPS, и флаг PPS, имеющий второе значение, указывает то, что сопоставление ID подызображений не сигнализируется в PPS; и
получения сопоставления ID подызображений из PPS, когда флаг PPS имеет первое значение.
17. Устройство декодирования изображения по п. 16, в котором флаг SPS имеет первое значение, когда флаг PPS имеет второе значение, и флаг SPS имеет второе значение, когда флаг PPS имеет первое значение, при этом первое значение равно единице, и второе значение равно нулю.
18. Устройство декодирования изображения по любому из пп. 15-17, в котором SPS включает в себя второй флаг SPS, причем второй флаг SPS указывает, сигнализируется ли сопоставление ID подызображения явным образом в SPS или PPS.
19. Устройство декодирования изображения по любому из пп. 15-18, в котором битовый поток дополнительно содержит флаг изменения кодированной видеопоследовательности (CVS), причем флаг изменения CVS указывает, может ли измениться сопоставление ID подызображений в кодированной видеопоследовательности (CVS) битового потока.
20. Устройство декодирования изображения по п. 19, в котором битовый поток содержит объединенный битовый поток, а сопоставление ID подызображений изменено в CVS битового потока.
21. Устройство кодирования изображения, содержащее:
память, хранящую инструкции;
процессор, ассоциированный с памятью, причем процессор выполнен с возможностью реализации инструкций, вызывающих выполнение, устройством кодирования:
кодирования битового потока, включающего в себя набор параметров последовательности (SPS), набор параметров изображения (PPS) и множество подызображений, ассоциированных с сопоставлением идентификатора (ID) подызображения, причем SPS включает в себя флаг SPS;
установки флага SPS в первое значение, когда сопоставление ID подызображений сигнализируется в SPS, и во второе значение, когда сопоставление ID подызображений сигнализируется в PPS;
установки флага PPS в PPS в первое значение, когда сопоставление ID подызображений сигнализируется в PPS, и во второе значение, когда сопоставление ID подызображений не сигнализируется в PPS; и
передатчик, соединенный с процессором, причем передатчик выполнен с возможностью передачи битового потока на видеодекодер.
22. Устройство кодирования изображения по п. 21, в котором флаг SPS имеет первое значение, когда флаг PPS имеет второе значение, и флаг SPS имеет второе значение, когда флаг PPS имеет первое значение.
23. Устройство кодирования изображения по п. 21 или 22, в котором первое значение равно единице, а второе значение равно нулю.
24. Устройство кодирования изображения по любому из пп. 21-23, в котором битовый поток дополнительно содержит флаг изменения кодированной видеопоследовательности (CVS), причем флаг изменения CVS указывает, может ли измениться сопоставление ID подызображений в кодированной видеопоследовательности (CVS) битового потока.
25. Устройство кодирования изображения по любому из пп. 21-24, в котором ID PPS указывает значение второго ID PPS для используемого PPS, а второй ID PPS идентифицирует PPS для ссылки посредством синтаксических элементов.
26. Устройство кодирования изображения по п. 24, в котором битовый поток содержит объединенный битовый поток, а сопоставление ID подызображений изменено в CVS битового потока.
27. Устройство кодирования изображения, содержащее:
приемник, выполненный с возможностью приема изображения для кодирования;
передатчик, соединенный с приемником, причем передатчик выполнен с возможностью передачи битового потока на декодер;
память, соединенную по меньшей мере с одним из: приемника или передатчика, причем память выполнена с возможностью хранения инструкций; и
процессор, соединенный с памятью, причем процессор выполнен с возможностью исполнения инструкций, хранящихся в памяти, для реализации способа кодирования изображения по любому из пп. 8-14.
28. Устройство декодирования изображения, содержащее:
приемник, выполненный с возможностью приема битового потока для декодирования;
передатчик, соединенный с приемником, причем передатчик выполнен с возможностью передачи декодированного изображения на дисплей;
память, соединенную по меньшей мере с одним из: приемника или передатчика, причем память выполнена с возможностью хранения инструкций; и
процессор, соединенный с памятью, причем процессор выполнен с возможностью исполнения инструкций, хранящихся в памяти, для реализации способа декодирования изображения по любому из пп. 1-7.
29. Устройство декодирования изображения по п. 28, дополнительно содержащее дисплей, выполненный с возможностью отображения декодированного изображения.
30. Система кодирования и декодирования изображения, содержащая:
кодер; и
декодер, ассоциированный с кодером, причем кодер включает в себя устройство кодирования изображения по любому из пп. 21-26, а декодер включает в себя устройство декодирования изображения по любому из пп. 15-20.
31. Средство кодирования изображения, содержащее:
средство приема, выполненное с возможностью приема изображения для кодирования;
средство передачи, соединенное со средством приема, причем средство передачи выполнено с возможностью передачи битового потока на средство декодирования;
средство хранения, соединенное по меньшей мере с одним из: средства приема или средства передачи, причем средство хранения выполнено с возможностью хранения инструкций; и
средство обработки, соединенное со средством хранения, причем средство обработки выполнено с возможностью исполнения инструкций, хранящихся в средстве хранения, для выполнения способа кодирования изображения по любому из пп. 8-14.
32. Средство декодирования изображения, содержащее:
средство приема, выполненное с возможностью приема битового потока для декодирования;
средство передачи, соединенное со средством приема, причем средство передачи выполнено с возможностью передачи декодированного изображения на средство отображения;
средство хранения, соединенное по меньшей мере с одним из: средства приема или средства передачи, причем средство хранения выполнено с возможностью хранения инструкций; и
средство обработки, соединенное со средством хранения, причем средство обработки выполнено с возможностью исполнения инструкций, хранящихся в средстве хранения, для выполнения способа декодирования изображения по любому из пп. 1-7.
US 20150195577 A1, 09.07.2015 | |||
CHEN et al.: "Signalling subpicture coded video sequence", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 27 March 2019 (2019-03-27), XP030202797 | |||
WO 2014047582 A1, 27.03.2014 | |||
US 20130202051 A1, 08.08.2013 | |||
ФЛАГ УРОВНЯ ПОСЛЕДОВАТЕЛЬНОСТИ ДЛЯ ПАРАМЕТРОВ БУФЕРА КОДИРОВАННЫХ НА УРОВНЕ СУБ-КАРТИНОК КАРТИНОК | 2013 |
|
RU2641475C2 |
Авторы
Даты
2024-10-01—Публикация
2020-09-15—Подача