Сигнализация размера выходного изображения для передискретизации опорного изображения

Изобретение относится к средствам для кодирования видео. Технический результат заключается в повышении эффективности кодирования видео. Получают входной битовый поток, содержащий метаданные и видеоданные. Выполняют декодирование видеоданных. Определяют, содержат ли метаданные по меньшей мере один флаг, сигнализирующий по меньшей мере об одном компоненте размера изображения для по меньшей мере одного изображения видеоданных. Если определено, что метаданные содержат упомянутый по меньшей мере один флаг, передают в устройство отображения сигнализацию для отображения упомянутого по меньшей мере одного изображения из видеоданных в соответствии с упомянутым по меньшей мере одним флагом. Упомянутый по меньшей мере один флаг указывает, следует ли отображать упомянутое по меньшей мере одно изображение с размером изображения в соответствии со значением упомянутого компонента, которое заранее установлено и указано посредством метаданных. 3 н. и 9 з.п. ф-лы, 13 ил.

 

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННУЮ ЗАЯВКУ

[1] По настоящей заявке испрашивается приоритет согласно предварительной заявке на выдачу патента США №62/955,514, поданной 31 декабря 2019 года, и заявке на выдачу патента США №17/063253, поданной 5 октября 2020 года, которые полностью включены в настоящее описание.

ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ

1. Область техники

[2] Настоящее изобретение направлено на сигнализацию информации о постоянном размере изображения, например, в информации об использовании видео (VUI, video usage information), при этом, согласно примерам осуществления изобретения, такая информация может указывать, помимо другой информации, описанной в данном документе, управляемый размер выходного изображения для отображения, с одним или более обрезанными выходными изображениями или без них, которые имеют любое из одного или более различных значений ширины и высоты для обработки, такой как передискретизация опорного изображения (RPR, reference picture resampling).

2. Уровень техники

[3] В проекте спецификации универсального кодирования видеоданных (VVC, versatile video coding) JVET-P2001 (новая редакция JVET-Q0041) RPR может разрешать изменение одного или более пространственных разрешений декодированного изображения. В зависимости от ширины и высоты изображения и значений смещения окна обрезки, сигнализируемых в наборе параметров изображения (PPS, picture parameter set), каждое выходное изображение может иметь размер изображения, отличный от размера других выходных изображений. Однако недостаток такого решения заключается в требовании, чтобы устройство отображения, например, в качестве постобработки, имело возможность изменять масштаб выходных изображений до постоянного размера изображения для обеспечения соответствия разрешению дисплея устройства отображения.

[4] Такая постобработка ранее возлагалась на каждое устройство отображения и. следовательно, ограничивала технические возможности управления предварительной обработкой вывода изображения в устройстве отображения, например возможности управления разрешением дисплея устройства отображения. Например, в некоторых сценариях предоставления контента поставщик контента из-за технических ограничений лишался возможности предоставления потребляемого видеоконтента или по меньшей мере вывода видеоконтента с определенным разрешением и даже не мог указать лучшее или рекомендуемое разрешение для отображения, в соответствии, например, с намерением режиссера.

[5] Кроме того, даже JVET-N0052 отказался от сигнализации (постоянного) размера выходного изображения в SPS, чтобы оставить такой процесс или процессы, как постобработка, вне процесса декодирования.

[6] Поэтому существует потребность в техническом решении таких проблем.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

[7] Чтобы удовлетворить одно или более различных требований, которые несут в себе, например, намерение режиссера и оставляют свободу отображения для постобработки, авторы изобретения предлагают технические решения, включающие сигнализацию любого постоянного размера выходного изображения в VUI, например, в виде информативных метаданных. Согласно вариантам осуществления изобретения, устройство конечного пользователя может по-прежнему выбрать разрешение отображаемого изображения, а также может опционально принять предложение режиссера.

[8] Предлагаются способ и устройство, содержащее память, сконфигурированную для хранения компьютерного программного кода, и процессор или процессоры, сконфигурированные для доступа к компьютерному программному коду и работы в соответствии с инструкциями компьютерного программного кода. Компьютерный программный код включает код получения, сконфигурированный для обеспечения выполнения, по меньшей мере одним процессором, получения входного битового потока, содержащего метаданные и видеоданные, код декодирования, сконфигурированный для обеспечения выполнения, по меньшей мере одним процессором, декодирования видеоданных, код определения, сконфигурированный для обеспечения выполнения, по меньшей мере одним процессором, определения, содержат ли метаданные по меньшей мере один флаг, сигнализирующий по меньшей мере об одном компоненте размера изображения для по меньшей мере одного изображения видеоданных, и код сигнализации, сконфигурированный для обеспечения передачи сигнализации, по меньшей мере одним процессором, если определено, что метаданные содержат упомянутый по меньшей мере один флаг, в устройство отображения для отображения по меньшей мере одного изображения из видеоданных в соответствии с упомянутым по меньшей мере одним флагом.

[9] Согласно примерам осуществления изобретения видеоданные кодированы в формате универсального кодирования видеоданных (VVC).

[10] Согласно примерам осуществления изобретения упомянутый по меньшей мере один флаг указывает, следует ли отображать упомянутое по меньшей мере одно изображение с размером изображения в соответствии со значением упомянутого компонента, которое заранее установлено и указано посредством метаданных.

[11] Согласно примерам осуществления изобретения упомянутый компонент включает ширину и/или высоту упомянутого по меньшей мере одного изображения.

[12] Согласно примерам осуществления изобретения ширина и/или высота упомянутого по меньшей мере одного изображения представлена в единицах отсчетов яркости.

[13] Согласно примерам осуществления изобретения, код определения также сконфигурирован для обеспечения выполнения, по меньшей мере одним процессором, в ответ на определение того, что метаданные содержат упомянутый по меньшей мере один флаг, определения, содержат ли метаданные значение ширины, определяющее ширину в отношении множества изображений, включающего упомянутое по меньшей мере одно изображение, и содержат ли метаданные значение высоты, определяющее высоту в отношении множества изображений, при этом согласно примерам осуществления изобретения по меньшей мере одно значение упомянутого компонента включает ширину и/или высоту.

[14] Согласно примерам осуществления изобретения, код сигнализации также сконфигурирован для обеспечения, по меньшей мере одним процессором, сигнализации, в ответ на определение того, что метаданные содержат значение ширины и/или значение высоты, для поддержания, по меньшей мере в одном процессе последующей передискретизации, упомянутого значения ширины и/или значения высоты для отображения по меньшей мере одного изображения устройством отображения.

[15] Согласно примерам осуществления изобретения, код сигнализации также сконфигурирован для обеспечения, по меньшей мере одним процессором, сигнализации, в ответ на определение того, что в метаданных отсутствует значение ширины, для поддержания, по меньшей мере в одном процессе последующей передискретизации, значения ширины равным высоте, указанной посредством набора параметров последовательности видеоданных.

[16] Согласно примерам осуществления изобретения, код сигнализации также сконфигурирован для обеспечения, по меньшей мере одним процессором, сигнализации, в ответ на определение того, что в метаданных отсутствует значение высоты, для поддержания, по меньшей мере в одном процессе последующей передискретизации, значения высоты равным высоте, указанной посредством набора параметров последовательности видеоданных.

[17] Согласно примерам осуществления изобретения видеоданные содержат упомянутый по меньшей мере один флаг в виде параметра информации об использовании видео (VUI, video usage information).

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[18] Дополнительные особенности, характер и различные преимущества настоящего изобретения будут понятны из последующего подробного описания и прилагаемых чертежей.

[19] Фиг. 1-9В - схематические иллюстрации диаграмм в соответствии с вариантами осуществления изобретения.

[20] Фиг. 10 - упрощенная структурная схема в соответствии с вариантами осуществления изобретения.

[21] Фиг. 11 представляет собой упрощенную иллюстрацию в соответствии с вариантами осуществления изобретения.

[22] Фиг. 12 представляет собой схематическое изображение диаграммы в соответствии с вариантами осуществления изобретения.

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

[23] Предлагаемые функции, обсуждаемые ниже, можно использовать по отдельности или комбинировать в любом порядке. Кроме того, варианты осуществления изобретения могут быть реализованы схемами обработки (например, одним или более процессорами или одной или более интегральными схемами). В одном примере один или более процессоров исполняют программу, которая хранится на машиночитаемом носителе.

[24] На фиг. 1 показана упрощенная структурная схема системы связи 100 согласно варианту осуществления настоящего изобретения. Система 100 связи может включать по меньшей мере два терминала 102 и 103, соединенных между собой через сеть 105. Для однонаправленной передачи данных первый терминал 103 может кодировать видеоданные в локальном местоположении для передачи на другой терминал 102 через сеть 105. Второй терминал 102 может принимать кодированные видеоданные другого терминала из сети 105, декодировать кодированные данные и отображать восстановленные видеоданные. Однонаправленная передача данных может быть свойственна приложениям служб массовой информации и т.п.

[25] Фиг. 1 иллюстрирует вторую пару терминалов 101 и 104, поддерживающих двунаправленную передачу кодированных видеоданных, которая может происходить, например, во время видеоконференций. Для двунаправленной передачи данных каждый терминал 101 и 104 может кодировать видеоданные, снятые в локальном местоположении, для передачи другому терминалу по сети 105. Каждый терминал 101 и 104 также может принимать кодированные видеоданные, передаваемые другим терминалом, декодировать кодированные данные и отображать восстановленные видеоданные на локальном устройстве отображения.

[26] На фиг. 1, терминалы 101, 102, 103 и 104 могут быть проиллюстрированы как серверы, персональные компьютеры и смартфоны, но это не ограничивает принципы настоящего изобретения. Варианты осуществления настоящего изобретения находят применение для портативных компьютеров, планшетных компьютеров, медиаплееров и/или оборудования, используемого для видеоконференцсвязи. Сеть 105 представляет любое количество сетей, которые переносят кодированные видеоданные между терминалами 101, 102, 103 и 104, включая, например, проводные и/или беспроводные сети связи. Сеть 105 связи позволяет обмениваться данными в режиме канальной коммутации и/или пакетной коммутации. Примеры сетей включают телекоммуникационные сети, локальные сети, глобальные сети и/или интернет. В целях настоящего рассмотрения, архитектура и топология сети 105 могут не иметь отношения к настоящему изобретению, если конкретно не указаны ниже.

[27] На фиг. 2 показано, в качестве примера применения настоящего изобретения, размещение видеокодера и видеодекодера в окружении потоковой передачи. Настоящее изобретение может быть в равной степени применимо к другим применениям обработки видеоданных, включая, например, видеоконференцсвязь, цифровое телевидение, хранение сжатого видео на цифровых носителях, в том числе CD, DVD, карте памяти и т.п.

[28] Система потоковой передачи может включать подсистему 203 захвата, которая может включать источник 201 видеоданных, например цифровую камеру, создающую, например, несжатый поток 213 отсчетов видеоданных. Этот поток 213 отсчетов может быть показан как имеющий большой объем данных по сравнению с битовыми потоками кодированных видеоданных и может быть обработан кодером 202, соединенным с камерой 201. Кодер 202 может включать в себя оборудование, программное обеспечение или их комбинацию для обеспечения или реализации аспектов настоящего изобретения, как более подробно описано ниже. Битовый поток 204 кодированных видеоданных, который может быть показан как имеющий меньший объем данных по сравнению с потоком отсчетов, может быть сохранен на сервере 205 потоковой передачи для дальнейшего использования. Один или более клиентов 212 и 207 потоковой передачи могут получить доступ к серверу 205 потоковой передачи для извлечения копий 208 и 206 битового потока 204 кодированных видеоданных. Клиент 212 может включать в себя видеодекодер 211, декодирующий входящую копию битового потока 208 кодированных видеоданных и создающий исходящий поток 210 отсчетов видеоданных, который может быть отображен на дисплее 209 или другом устройстве визуализации (не показано). В некоторых системах потоковой передачи битовые потоки 204, 206 и 208 видеоданных могут кодироваться в соответствии с определенными стандартами кодирования/сжатия видеоданных. Примеры этих стандартов были упомянуты выше и будут описаны далее.

[29] На фиг. 3 показана функциональная схема видеодекодера 300 согласно варианту осуществления настоящего изобретения.

[30] Приемник 302 может принимать одну или более кодированных видеопоследовательностей для декодирования декодером 300, в том же или другом варианте осуществления изобретения, по одной кодированной видеопоследовательности за раз, при этом декодирование каждой кодированной видеопоследовательности не зависит от других кодированных видеопоследовательностей. Кодированная видеопоследовательность может приниматься из канала 301, который может быть аппаратной/программной линией связи с запоминающим устройством, где хранятся кодированные видеоданные. Приемник 302 может принимать кодированные видеоданные с другими данными, например, кодированными аудиоданными и/или вспомогательными потоками данных, которые могут перенаправляться на соответствующие использующие их объекты (не показаны). Приемник 302 может отделять кодированную видеопоследовательность от других данных. Для борьбы с джиггером сети между приемником 302 и энтропийным декодером / анализатором 304 (далее "анализатором") может быть подключена буферная память 303. Когда приемник 302 принимает данные от устройства хранения/перенаправления с достаточной полосой и управляемостью или из изосинхронной сети, буферная память 303 может быть не нужна или может быть мала. Для использования в пакетных сетях наилучшей попытки, таких как интернет, может потребоваться буфер 303, который может быть сравнительно большим и может предпочтительно иметь адаптивный размер.

[31] Видеодекодер 300 может включать анализатор 304 для реконструкции символов 313 из энтропийно-кодированной видеопоследовательности. Категории этих символов включают информацию, используемую для управления работой декодера 300, и, возможно, информацию для управления устройством визуализации, например дисплеем 312, который не является неотъемлемой частью декодера, но может быть подключен к нему. Информация управления для устройств(а) визуализации может представлять собой сообщения информации дополнительного улучшения (SEI, Supplemental Enhancement Information) или фрагменты набора параметров информации об использовании видео (не показаны). Анализатор 304 может анализировать/энтропийно декодировать принятую кодированную видеопоследовательность. Кодирование видеопоследовательности может осуществляться в соответствии с технологией или стандартом видео кодирования и может следовать принципам, известным специалисту в данной области техники, включая кодирование с переменной длиной серии, кодирование Хаффмана, арифметическое кодирование с контекстной чувствительностью или без нее и т.д. Анализатор 304 может извлекать из кодированной видеопоследовательности набор параметров подгруппы для по меньшей мере одной из подгрупп пикселей в видеодекодере на основе по меньшей мере одного параметра, соответствующего группе. Подгруппы могут включать группы изображений (GOP, Groups of Pictures), изображения, тайлы, слайсы, макроблоки, единицы кодирования (CTU, Coding Unit), единицы кодирования (CU, Coding Unit), блоки, единицы преобразования (TU, Transform Unit), единицы предсказания (PU, Prediction Unit) и т.д. Энтропийный декодер / анализатор также может извлекать из кодированной видеопоследовательности информацию, например, коэффициенты преобразования, значения параметров квантователя, векторы движения и т.д.

[32] Анализатор 304 может выполнять операцию энтропийного декодирования / анализа видеопоследовательности, полученной из буфера 303, для создания символов 313. Анализатор 304 может принимать кодированные данные и выборочно декодировать определенные символы 313. Кроме того, анализатор 304 может определять, должны ли конкретные символы 313 подаваться в модуль 306 предсказания с компенсацией движения, модуль 305 масштабирования / обратного преобразования, модуль 307 внутреннего предсказания или контурный фильтр 311.

[33] Для реконструкции символов 313 могут использоваться несколько различных модулей в зависимости от типа кодированного видеоизображения или его частей (например: изображения с внутренним и внешним кодированием, блоки с внутренним и внешним кодированием) и других факторов. Какие модули и как используются, может определяться информацией управления подгруппами, полученной из кодированной видеопоследовательности анализатором 304. Поток такой информации управления подгруппами между анализатором 304 и модулями для простоты в дальнейшем не показан.

[34] Помимо ранее упомянутых функциональных модулей, видеодекодер 300 может принципиально разделяться на несколько функциональных модулей, как описано ниже. В практической реализации в условиях коммерческих ограничений многие из этих модулей тесно взаимодействуют друг с другом и могут, по меньшей мере частично, встраиваться один в другой. Однако в целях описания настоящего изобретения уместно принципиальное разделение на перечисленные ниже функциональные модули.

[35] Первым модулем является модуль 305 масштабирования / обратного преобразования. Модуль 305 масштабирования / обратного преобразования принимает квантованный коэффициент преобразования, а также информацию управления, включающую используемое преобразование, размер блока, коэффициент квантования, матрицы масштабирования квантования и т.д. в качестве символа(ов) 313 от анализатора 304. Он может выводить блоки, содержащие значения отсчетов, которые можно вводить в агрегатор 310.

[36] В ряде случаев выходные отсчеты модуля 305 масштабирования / обратного преобразования могут относиться к блоку с внутренним кодированием, то есть к блоку, который не использует предсказанную информацию из ранее реконструированных изображений, но может использовать предсказанную информацию из ранее реконструированных частей текущего изображения. Такая предсказанная информация может обеспечиваться модулем 307 внутреннего предсказания изображения. В ряде случаев модуль 307 внутреннего предсказания изображения формирует блок такого же размера и формы, как у блока, подлежащего реконструкции, с использованием информации уже реконструированного окружения, извлеченной из текущего (частично реконструированного) изображения 309. Агрегатор 310 в ряде случаев добавляет, для каждого отсчета, информацию предсказания, сформированную модулем 307 внутреннего предсказания, в информацию выходных отсчетов, предоставленную модулем 305 масштабирования / обратного преобразования.

[37] В других случаях выходные отсчеты модуля 305 масштабирования / обратного преобразования могут относиться к блоку с внутренним кодированием, возможно, с компенсацией движения. В таком случае модуль 306 предсказания с компенсацией движения может осуществлять доступ к памяти 308 опорных изображений для извлечения отсчетов, используемых для предсказания. После применения компенсации движения к извлеченным отсчетам в соответствии с символами 313, относящимися к блоку, эти отсчеты могут добавляться агрегатором 310 к выходному сигналу модуля масштабирования / обратного преобразования (в этом случае называемому отсчетами остатка или сигналом остатка) для формирования информации выходных отсчетов. Адреса в памяти опорных изображений, откуда модуль предсказания с компенсацией движения извлекает отсчеты для предсказания, могут управляться векторами движения, доступными модулю предсказания с компенсацией движения, в форме символов 313, которые могут иметь, например, компоненты X, Y и компоненты опорного изображения. Компенсация движения также может включать интерполяцию значений отсчетов, извлеченных из памяти опорных изображений, когда используются точные векторы движения подотсчетов, механизмы предсказания векторов движения и т.д.

[38] К выходным отсчетам агрегатора 310 можно применять различные методы контурной фильтрации в модуле 311 контурного фильтра. Технологии сжатия видеоданных могут включать технологии контурного фильтра под управлением с помощью параметров, включенных в битовый поток кодированных видеоданных и доступных модулю 311 контурного фильтра в качестве символов 313 от анализатора 304, но также могут реагировать на метаинформацию, полученную в ходе декодирования предыдущих (в порядке декодирования) частей кодированного изображения или кодированной видеопоследовательности, а также реагировать на ранее реконструированные и подвергнутые контурной фильтрации значения отсчетов.

[39] Модуль 311 контурного фильтра может выдавать поток отсчетов, который может поступать на устройство 312 визуализации, а также сохраняться в памяти 557 опорных изображений для использования в будущем внешнем предсказании изображения.

[40] Некоторые кодированные изображения, будучи полностью реконструированы, могут использоваться в качестве опорных изображений для будущего предсказания. Например, когда кодированное изображение полностью реконструировано и идентифицировано как опорное изображение (например, анализатором 304), текущее опорное изображение 309 может становиться частью буферной памяти 308 опорных изображений, и может повторно выделяться свежая память для текущего изображения до начала реконструкции следующего кодированного изображения.

[41] Видеодекодер 300 может осуществлять операции декодирования согласно заранее заданной технологии сжатия видеоданных, задокументированной в стандарте, таком как Рекомендация МСЭ-Т Н.265. Кодированная видеопоследовательность может соответствовать синтаксису, заданному используемой технологией или используемым стандартом сжатия видеоданных, в том смысле, что кодированная видеопоследовательность может придерживаться синтаксиса технологии или стандарта сжатия видеоданных, указанного в документе технологии сжатия видеоданных или в стандарте и, в частности, в документе, касающемся профилей. Также для согласованности может быть необходимо, чтобы сложность кодированной видеопоследовательности оставалась в границах, заданных уровнем технологии или стандарта сжатия видеоданных. В ряде случаев, уровни ограничивают максимальный размер изображения, максимальную частоту кадров, максимальную частоту отсчетов для реконструкции (измеряемую, например, в мегаотсчетах в секунду), максимальный размер опорного изображения и т.д. Пределы, установленные уровнями, в ряде случаев могут дополнительно ограничиваться спецификациями гипотетического эталонного декодера (HRD, Hypothetical Reference Decoder) и метаданными для управления буфером HRD, сигнализируемыми в кодированной видеопоследовательности.

[42] Согласно варианту осуществления изобретения, приемник 302 может принимать дополнительные (избыточные) данные с кодированными видеоданными. Дополнительные данные могут быть включены как часть кодированной(ых) видеопоследовательности(ей). Дополнительные данные могут использоваться видеодекодером 300 для правильного декодирования данных и/или более точной реконструкции исходных видеоданных. Дополнительные данные могут представлять собой, например, временные уровни улучшения, пространственные уровни улучшения или уровни улучшения отношения "сигнал/шум" (SNR, signal noise ratio), избыточные слайсы, избыточные изображения, коды прямой коррекции ошибок и т.д.

[43] На фиг. 4 показана функциональная схема видеокодера 400 согласно варианту осуществления настоящего изобретения.

[44] Кодер 400 может принимать отсчеты видеоданных от источника 401 видеоданных (который не входит в состав кодера), который может захватывать видеоизображение(я), подлежащее(ие) кодированию видеокодером 400.

[45] Источник 401 видеоданных может обеспечивать исходную видеопоследовательность, подлежащую кодированию видеокодером (303), в форме потока отсчетов цифровых видеоданных любой подходящей битовой глубины (например: 8 битов, 10 битов, 12 битов, …), любого цветового пространства (например, ВТ.601 Y CrCb, RGB, …) и любой подходящей структуры дискретизации (например, Y CrCb 4:2:0, Y CrCb 4:4:4). В системе службы массовой информации источником 401 видеоданных может быть запоминающее устройство, где хранится ранее подготовленное видео. В системе видеоконференцсвязи источником 401 видеоданных может быть камера, которая захватывает информацию локального изображения в виде видеопоследовательности. Видеоданные могут предоставляться как множество отдельных изображений, которые создают ощущение движения при наблюдении в последовательности. Сами изображения могут быть организованы как пространственный массив пикселей, где каждый пиксель может содержать один или более отсчетов в зависимости от используемой структуры дискретизации, цветового пространства и т.д. Специалисту в данной области техники нетрудно понять соотношение между пикселями и отсчетами. Последующее описание посвящено отсчетам.

[46] Согласно варианту осуществления изобретения, кодер 400 может кодировать и сжимать изображения исходной видеопоследовательности в кодированную видеопоследовательность 410 в реальном времени или с учетом любых других временных ограничений, налагаемых применением. Установление надлежащей скорости кодирования является одной из функций контроллера 402. Контроллер управляет другими функциональными модулями, как описано ниже, и функционально подключен к ним. Подключение для простоты не показано. Параметры, установленные контроллером, могут включать параметры, связанные с регулировкой частоты (пропуск изображения, квантователь, значение лямбда, применяемое в методах оптимизации "скорость-искажения", и т.д.), размер изображения, организацию групп изображений (GOP, group of pictures), максимальную зону поиска вектора движения и т.д. Специалисту в данной области техники понятно, что контроллер 402 может иметь другие подходящие функции, относящиеся к видеокодеру 400, оптимизированному для конкретной конструкции системы.

[47] Некоторые видеокодеры могут работать в "контуре кодирования", как понятно специалисту в данной области техники. В качестве очень упрощенного описания, например, контур кодирования может включать кодирующую часть кодера 402 (называемую здесь "кодером источника") (отвечающую за создание символов, например, потока символов на основе входного изображения, подлежащего кодированию, и опорного(ых) изображения(ий)) и (локальный) декодер 406, встроенный в кодер 400, который реконструирует символы для создания данных отсчетов, которые бы создал (удаленный) декодер (поскольку любое сжатие символов в битовый поток кодированных видеоданных происходит без потерь в технологиях сжатия видеоданных, рассматриваемых в данном описании). Реконструированный поток отсчетов поступает в память 405 опорных изображений. Поскольку декодирование потока символов приводит к результатам, с точностью до бита, которые не зависят от положения (локального или удаленного) декодера, содержимое буфера опорных изображений также будет одинаковым с точностью до бита для локального кодера и удаленного кодера. Другими словами, часть предсказания кодера "видит" в качестве отсчетов опорного изображения точно такие же значения отсчетов, как "видел" бы декодер при использовании предсказания в ходе декодирования. Этот фундаментальный принцип синхронизма опорного изображения (и, в итоге, дрейф, если синхронизм не удается поддерживать, например, вследствие канальных ошибок) хорошо известен специалисту в данной области техники.

[48] "Локальный" декодер 406 может действовать таким же образом, как "удаленный" декодер 300, подробно описанный выше со ссылкой на фиг. 3. Однако, опять же, согласно фиг. 4, поскольку символы доступны, и кодирование/декодирование символов в кодированную видеопоследовательность энтропийным кодером 408 и анализатором 304 может осуществляться без потерь, части энтропийного декодирования декодера 300, включающие канал 301, приемник 302, буфер 303 и анализатор 304, могут быть не полностью реализованы в локальном декодере 406.

[49] При этом можно сделать вывод, что любая технология декодирования, присутствующая в декодере, за исключением анализа/энтропийного декодирования, также обязательно должна присутствовать по существу в идентичной функциональной форме в соответствующем кодере. Описание технологий кодирования может быть сокращено, поскольку они являются обратными подробно описанным технологиям декодирования. Лишь в некоторых областях требуется более подробное описание, которое приведено ниже.

[50] В ходе работы кодер 403 источника может осуществлять кодирование с предсказанием и компенсацией движения, при котором входной кадр кодируется с предсказанием на основе одного или более ранее кодированных кадров из видеопоследовательности, указанных как "опорные кадры". Таким образом, механизм 407 кодирования кодирует разности между блоками пикселей входного кадра и блоками пикселей опорного кадра(ов), который(ые) может(ут) выбираться в качестве ссылки(ок) предсказания на входной кадр.

[51] Локальный видеодекодер 406 может декодировать кодированные видеоданные кадров, которые могут быть указаны как опорные кадры, на основе символов, созданных кодером 403 источника. Операции механизма 407 кодирования могут быть преимущественно способами с потерями. Когда кодированные видеоданные могут декодироваться в видеодекодере (не показан на фиг. 4), реконструированная видеопоследовательность обычно может представлять собой копию исходной видеопоследовательности с некоторыми ошибками. Локальный видеодекодер 406 дублирует процессы декодирования, которые могут осуществляться видеодекодером на опорных кадрах, и может обеспечивать сохранение реконструированных опорных кадров в кэш-памяти 405 опорных изображений. Таким образом, кодер 400 может локально сохранять копии реконструированных опорных кадров, имеющие такое же содержимое, как реконструированные опорные кадры, которые будут получены удаленным видеодекодером (в отсутствие ошибок передачи).

[52] Предсказатель 404 может осуществлять поиски предсказания для механизма 407 кодирования. Таким образом, для нового кадра, подлежащего кодированию, предсказатель 404 может искать в памяти 405 опорных изображений данные отсчетов (в качестве кандидатов на роль опорных блоков пикселей) или конкретные метаданные, например, векторы движения опорного изображения, формы блоков и т.д., которые могут служить надлежащей ссылкой для предсказания новых изображений. Предсказатель 404 может работать на основе "блоки отсчетов × блоки пикселей" для нахождения надлежащих ссылок для предсказания. В ряде случаев, согласно результатам поиска, полученным предсказателем 404, входное изображение может иметь ссылки для предсказания, извлеченные из множества опорных изображений, хранящихся в памяти 405 опорных изображений.

[53] Контроллер 402 может управлять операциями кодирования видеокодера 403, включая, например, установление параметров, а также параметров подгруппы, используемых для кодирования видеоданных.

[54] Выходной сигнал всех вышеупомянутых функциональных модулей может подвергаться энтропийному кодированию в энтропийном кодере 408. Энтропийный кодер переводит символы, сформированные различными функциональными модулями, в кодированную видеопоследовательность путем сжатия символов без потерь согласно, например, технологиям, известным специалисту в данной области техники, например, согласно кодированию Хаффмана, кодированию с переменной длиной серии, арифметическому кодированию и т.д.

[55] Передатчик 409 может буферизовать кодированную(ые) видеопоследовательность(и), созданную(ые) энтропийным кодером 408, для подготовки к передаче через канал 411 связи, который может быть аппаратной/программной линией связи с запоминающим устройством, где хранятся кодированные видеоданные. Передатчик 409 может объединять кодированные видеоданные от видеокодера 403 с другими данными, подлежащими передаче, например, с кодированными аудиоданными и/или вспомогательными потоками данных (источники не показаны).

[56] Контроллер 402 может управлять работой кодера 400. В ходе кодирования контроллер 405 может назначать каждому кодированному изображению тот или иной тип кодированного изображения, который может определять методы кодирования, применимые к соответствующему изображению. Например, изображениям часто могут назначаться следующие типы кадров.

[57] Изображение с внутренним кодированием (I-изображение), которое можно кодировать и декодировать без использования какого-либо другого кадра в последовательности в качестве источника для предсказания. Некоторые видеокодеки допускают разные типы изображений с внутренним кодированием, включая, например, изображения в формате независимого обновления декодера (IDR, Independent Decoder Refresh). Специалисту в данной области техники известны разновидности I-изображений и их соответствующие варианты применения и особенности.

[58] Изображение с предсказанием (Р-изображение), которое можно кодировать и декодировать с использованием внутреннего предсказания или внешнего предсказания с использованием не более одного вектора движения и опорного индекса для предсказания значений отсчетов каждого блока.

[59] Изображение с двунаправленным предсказанием (В-изображение), которое можно кодировать и декодировать с использованием внутреннего предсказания или внешнего предсказания с использованием не более двух векторов движения и опорных индексов для предсказания значений отсчетов каждого блока. Аналогично, изображения с множеством предсказаний могут использовать более двух опорных изображений и соответствующие метаданные для реконструкции одного блока.

[60] Исходные изображения обычно допускают пространственное разделение на множество блоков отсчетов (например, блоки 4×4, 8×8, 4×8 или 16×16 отсчетов каждый) и кодирование на поблочной основе (блок за блоком). Блоки могут кодироваться с предсказанием со ссылкой на другие (ранее кодированные) блоки, определенные назначением кодирования, применяемым к соответствующим изображениям этих блоков. Например, блоки I-изображений могут кодироваться без предсказания или с предсказанием со ссылкой на ранее кодированные блоки того же изображения (с пространственным предсказанием или внутренним предсказанием). Блоки пикселей Р-изображений могут кодироваться без предсказания, посредством пространственного предсказания или временного предсказания со ссылкой на одно ранее кодированное опорное изображение. Блоки В-изображений могут кодироваться без предсказания, посредством пространственного предсказания или временного предсказания со ссылкой на одно или два ранее кодированных опорных изображения.

[61] Видеокодер 400 может осуществлять операции кодирования согласно заранее заданной технологии или стандарту кодирования видеоданных, например, Рекомендации МСЭ-Т Н.265. В своей работе видеокодер 400 может осуществлять различные операции сжатия, в том числе операции кодирования с предсказанием, которые используют временную и пространственную избыточность во входной видеопоследовательности. Поэтому кодированные видеоданные могут соответствовать синтаксису, заданному используемой технологией или используемым стандартом кодирования видеоданных.

[62] Согласно варианту осуществления изобретения, передатчик 409 может передавать дополнительные данные с кодированными видеоданными. Кодер 403 источника может включать такие данные как часть кодированной видеопоследовательности. Дополнительные данные могут содержать временные/пространственные/SNR уровни улучшения, другие формы избыточных данных, например, избыточные изображения и слайсы, сообщения дополнительной информации улучшения (SEI), фрагменты набора параметров информации об использовании видео (VUI) и т.д.

[63] На фиг. 5 показаны режимы внутреннего предсказания, используемые в HEVC и JEM. Для захвата произвольных направлений границ, представленных в естественном видео, количество режимов направленного внутреннего предсказания увеличено с 33, используемых в HEVC, до 65. Дополнительные режимы направленного предсказания в JEM поверх HEVC показаны пунктирными стрелками на фиг. 1(b), при этом планарный режим и режим DC остаются прежними. Эти более плотные режимы направленного внутреннего предсказания применяются для всех размеров блоков и для внутреннего предсказания как яркости, так и цветности. Как показано на фиг. 5, режимы направленного внутреннего предсказания, обозначенные пунктирными стрелками, которые связаны с нечетным индексом режима внутреннего предсказания, называются нечетными режимами внутреннего предсказания. Режимы направленного внутреннего предсказания, обозначенные сплошными стрелками, которые связаны с четным индексом режима внутреннего предсказания, называются четными режимами внутреннего предсказания. В этом описании режимы направленного внутреннего предсказания, обозначенные сплошными или пунктирными стрелками на фиг. 5, также называются угловыми режимами.

[64] В JEM всего 67 режимов внутреннего предсказания используются для внутреннего предсказания яркости. Для кодирования в режиме внутреннего предсказания создается список наиболее вероятных режимов (МРМ, most probable mode) размера 6 на основе режимов внутреннего предсказания соседних блоков. Если режим внутреннего предсказания не входит в список МРМ, сигнализируется флаг, указывающий, принадлежит ли режим внутреннего предсказания выбранным режимам. В JEM-3.0 есть 16 выбранных режимов, которые выбраны однородно как каждый четвертый угловой режим. В JVET-D0114 и JVET-G0060 получено 16 вторичных режимов МРМ вместо однородно выбранных режимов.

[65] На фиг. 6 показаны N опорных уровней, используемых для режимов направленного внутреннего предсказания. Есть блок 611, сегмент А 601, сегмент В 602, сегмент С 603, сегмент D 604, сегмент Е 605, сегмент F 606, первый опорный уровень 610, второй опорный уровень 609, третий опорный уровень 608 и четвертый опорный уровень 607.

[66] Как в HEVC, так и в JEM, а также в некоторых других стандартах, таких как H.264/AVC, опорные отсчеты, используемые для предсказания текущего блока, ограничены ближайшей опорной линией (строкой или столбцом). В способе внутреннего предсказания с несколькими опорными линиями количество возможных опорных линий (строк или столбцов) увеличивается с одной (то есть ближайшей) до N для режимов направленного внутреннего предсказания, где N является целым числом, большим или равным единице. На фиг. 2 в качестве примера используется блок предсказания (PU, prediction unit) размером 4×4 для иллюстрации концепции способа многострочного направленного внутреннего предсказания. Режим направленного внутреннего предсказания может произвольно выбрать один из N опорных уровней для формирования предсказателей. Другими словами, предсказатель р(х,у) формируется из одного из опорных отсчетов S1, S2, …, SN. Сигнализируется флаг, указывающий, какой опорный уровень выбран для режима направленного внутреннего предсказания. Если значение N установлено равным 1, способ направленного внутреннего предсказания такой же, как традиционный способ в JEM 2.0. На фиг. 6 опорные линии 610, 609, 608 и 607 состоят из шести сегментов 601, 602, 603, 604, 605 и 606 вместе с верхним левым опорным отсчетом. В этом документе опорный уровень также называется опорной линией. Координаты верхнего левого пикселя в текущем блоке равны (0, 0), а координаты верхнего левого пикселя в первой опорной линии равны (-1, -1).

[67] В JEM для компонента яркости соседние отсчеты, используемые для отсчетов с внутренним предсказанием, фильтруются перед процессом формирования. Фильтрация управляется заданным режимом внутреннего предсказания и размером блока преобразования. Если режим внутреннего предсказания - DC или размер блока преобразования равен 4×4, соседние отсчеты не фильтруются. Если расстояние между заданным режимом внутреннего предсказания и вертикальным режимом (или горизонтальным режимом) больше, чем заранее заданный порог, процесс фильтрации включается. Для фильтрации соседних отсчетов используются фильтр [1, 2, 1] и билинейные фильтры.

[68] Способ комбинации внутреннего предсказания в зависимости от позиции (PDPC, position dependent intra prediction combination) это способ внутреннего предсказания, который использует комбинацию нефильтрованных опорных отсчетов границы и внутреннего предсказания в стиле HEVC с отфильтрованными опорными отсчетами границы. Каждый отсчет предсказания pred[x][y], расположенный в (х, у), вычисляется следующим образом:

где Rx,-1,R-1,y представляют нефильтрованные опорные отсчеты, расположенные сверху и слева от текущего отсчета (х,у), соответственно, a R-1,-1 представляет нефильтрованный опорный отсчет, расположенный в верхнем левом углу текущего блока. Весовые коэффициенты рассчитываются следующим образом:

[69] Фиг. 7 иллюстрирует диаграмму 700 с весами PDPC в режиме DC (wL, wT, wTL) для позиций (0, 0) и (1, 0) внутри одного блока 4×4. Если PDPC применяется к режиму DC, планарному, горизонтальному и вертикальному режиму внутреннего предсказания, не требуются дополнительные фильтры границ, такие как фильтр границ режима DC HEVC или фильтры границ горизонтального/вертикального режима. Фиг. 7 иллюстрирует определение опорных отсчетов Rx,-1, R-1,y и R-1,-1 для PDPC, примененного к диагональному режиму сверху справа. Отсчет предсказания pred(x', у') расположен в (х', у') в блоке предсказания. Координата х опорного отсчета Rx,-1 определяется как х=х'+у'+1, а координата у опорного отсчета R-1,y аналогичным образом определяется как у=х '+у'+1.

[70] На фиг. 8 показана диаграмма 800 компенсации локальной освещенности (LIC, Local Illumination Compensation), которая основана на линейной модели изменений освещенности с использованием коэффициента масштабирования а и смещения b. Она включается или выключается адаптивно для каждой единицы кодирования (CU, coding unit), кодированной в режиме внешнего предсказания.

[71] Когда LIC применяется для единицы CU, используется метод наименьших квадратов ошибок для получения параметров а и b с использованием соседних отсчетов текущей единицы CU и их соответствующих опорных отсчетов. Более конкретно, как показано на фиг. 8, используются субдискретизированные (при субдискретизации 2:1) соседние отсчеты единицы CU и соответствующие отсчеты (идентифицированные информацией о движении текущей единицы CU или подъединицы CU) в опорном изображении. Параметры IC получают и применяют отдельно для каждого направления предсказания.

[72] Когда единица CU кодируется в режиме слияния, флаг LIC копируется из соседних блоков аналогично копированию информации о движении в режиме слияния; в противном случае для единицы CU сигнализируется флаг LIC для указания, применяется ли LIC или нет.

[73] На фиг. 9А показаны режимы 900 внутреннего предсказания, используемые в HEVC. В HEVC имеется всего 35 режимов внутреннего предсказания, среди которых режим 10 - горизонтальный режим, режим 26 - вертикальный режим, а режим 2, режим 18 и режим 34 - диагональные режимы. Режимы внутреннего предсказания сигнализируются посредством трех наиболее вероятных режимов (МРМ) и 32 оставшихся режимов.

[74] На фиг. 9 В показано, что в вариантах осуществления изобретения VVC всего 87 режимов внутреннего предсказания, где режим 18 - горизонтальный режим, режим 50 - вертикальный режим, а режим 2, режим 34 и режим 66 - диагональные режимы. Режимы -1~-10 и режимы 67~76 называются режимами широкоугольного внутреннего предсказания (WAIP, Wide-Angle Intra Prediction).

[75] Отсчет предсказания pred(x,y), расположенный в позиции (х, у), предсказывается с использованием режима внутреннего предсказания (DC, планарный, угловой) и линейной комбинации опорных отсчетов согласно выражению PDPC:

pred(x,y)=(wL×R-1,y+wT×Rx,-1-wTL×R-1,-1+(64-wL-wT+wTL)×pred(x,y)+32)>>6,

где Rx,-1, R-1,y представляют опорные отсчеты, расположенные сверху и слева от текущего отсчета (х, у), соответственно, a R-1,-1 представляет опорный отсчет, расположенный в верхнем левом углу текущего блока.

[76] Для режима DC веса рассчитываются следующим образом для блока с шириной и высотой:

wT=32>>((у<<1)>>nScale), wL=32>>((х<<1)>>nScale), wTL=(w>>4)+(wT>>4),

где nScale=(log2(width)-2+log2(height)-2+2)>>2, wT обозначает весовой коэффициент для опорного отсчета, расположенного в опорной линии выше с той же горизонтальной координатой, wL обозначает весовой коэффициент для опорного отсчета, расположенного в левой опорной линии с той же вертикальной координатой, а wTL обозначает весовой коэффициент для верхнего левого опорного отсчета текущего блока, nScale указывает, насколько быстро весовые коэффициенты уменьшаются вдоль оси (wL уменьшается слева направо, a wT уменьшается сверху вниз), то есть скорость уменьшения весового коэффициента, и эта скорость одинакова вдоль оси х (слева направо) и оси у (сверху вниз) в текущем проекте. 32 обозначает начальные весовые коэффициенты для соседних отсчетов, причем исходный весовой коэффициент также является верхним (левым или верхним левым) весом, назначенным верхнему левому отсчету в текущем блоке СВ, и весовые коэффициенты соседних отсчетов в процессе PDPC должны быть равны или меньше этого начального весового коэффициента.

[77] Для планарного режима wTL=0, в то время как для горизонтального режима wTL=wT, а для вертикального режима wTL=wL. Веса PDPC могут быть вычислены только путем сложения и сдвига. Значение pred(x, у) можно вычислить за один шаг, используя формулу (1).

[78] Фиг. 10 представляет собой упрощенную структурную схему 1000 в соответствии с вариантами осуществления изобретения, в которой используется дополнительный контекст в сравнении с фиг. 3. Показаны входной битовый поток 1001, подаваемый в синтаксический анализатор 1001 видеоданных, и выходное изображение 1011 с одним или более разрешениями для отображения, сконфигурированными в зависимости от различных метаданных, включенных, например, во входной битовый поток 1001, которое может подаваться на один или более дисплеев.

[79] Как и в случае с подробно описанным анализатором 304, синтаксический анализатор 1002 видеоданных обеспечивает обработку, включая обработку метаданных, и предоставляет аналогичную информацию одному или более модулям 1003 деквантования / обратного преобразования, модулю (модулям) 1004 внутреннего предсказания и модулю 1005 внешнего предсказания (компенсации движения), аналогично соответствующим описанным модулям, показанным на фиг. 3. Агрегатор 1006 выдает согласно примерам осуществления изобретения выходные отсчеты, которые могут подвергаться различным методам контурной фильтрации в модуле 1007 контурного фильтра, как в случае контурного фильтра 311, например, в ответ на метаданные, описанные выше в отношении входного битового потока, которые также могут быть получены во время декодирования одной или более предыдущих (в порядке декодирования) частей кодированного изображения или кодированной видеопоследовательности, а также в ответ на ранее реконструированные и отфильтрованные контурным фильтром значения отсчетов.

[80] Здесь RPR может обеспечивать возможность изменения пространственного разрешения декодированного изображения, изображение за изображением, в кодированной видеопоследовательности (CVS, coded video sequence), и декодированное изображение, например, сохраненное в буфере 1008 декодированных изображений (DPB, decoded picture buffer), может выводиться для отображения через модуль 1010 повышающей дискретизации при преобразовании декодированного изображения в выходное изображение.

[81] Фиг. 11 представляет собой упрощенную иллюстрацию 1100 синтаксиса параметров VUI, причем описанные здесь флаги могут быть включены в такой параметр VUI в соответствии с вариантами осуществления изобретения, а также иллюстрирует один или более алгоритмов, касающихся рассмотрения примеров параметров VUI, которые могут использоваться совместно или по отдельности. Один или более таких параметров VUI представляют аспекты метаданных, описанных выше со ссылкой на фиг. 10, и позволяют удовлетворить одному или более различным требованиям, которые несут в себе, например, намерение режиссера, оставляя при этом свободу отображения при постобработке, путем сигнализации любого постоянного размера выходного изображения в VUI, например, в виде информативных метаданных. Согласно вариантам осуществления изобретения, устройство конечного пользователя может по-прежнему выбрать разрешение изображения для отображения, а также имеет возможность принять предложение режиссера, как описано в данном документе.

[82] Например, иллюстрация 1100 включает флаг constant_output_pic_size_flag, который, согласно примеру осуществления изобретения, когда равен 1, указывает на то. что любой процесс последующей передискретизации применяется к каждому обрезанному выходному изображению, так что каждое передискретизированное выходное изображение должно иметь постоянный размер изображения, заданный параметрами constant_output_pic_width_in_luma_samples и constant_output_pic_height_in_luma_samples. Напротив, согласно вариантам осуществления изобретения, значение constant_output_pic_size_flag, равное 0, указывает на то, что процесс последующей передискретизации может применяться или не применяться к каждому обрезанному выходному изображению.

[83] Кроме того, иллюстрация 1100 включает флаг guided_constant_output_pic_size_present_flag, который, когда равен 1, указывает на то, что в этой информации VUI присутствуют как параметр constant_output_pic_width_in_luma_samples, так и параметр constant_output_pic_height_in_luma_samples. Напротив, согласно вариантам осуществления изобретения, значение guided constant_output_pic_size_present_flag, равное 0, указывает на то, что оба или по меньшей мере один из параметров constant_output_pic_width_in_luma_samples и constant_output_pic_height_in_luma_samples не представлены в этой информации VUI.

[84] Кроме того, иллюстрация 1100 включает одно или более значений constant_output_pic_width_in_luma_samples, которые определяют ширину каждого выходного изображения после процесса последующей передискретизации в единицах отсчетов яркости. Напротив, значение constant_output_pic_width_in_luma_samples, в случае его отсутствия, предполагается равным pic_width_max_in_luma_samples в SPS.

[85] Кроме того, иллюстрация 110 включает одно или более значений constant_output_pic_height_in_luma_samples, которые определяют высоту каждого выходного изображения после процесса последующей передискретизации в единицах отсчетов яркости. Напротив, значение constant_output_pic_height, в случае его отсутствия, предполагается равным pic_height_max_in_luma_samples в SPS.

[86] Следовательно, согласно примерам осуществления изобретения, в ответ на определение того, что метаданные содержат упомянутый по меньшей мере один флаг, определяют, содержат ли метаданные значение ширины, определяющее ширину в отношении множества изображений, включающего упомянутое по меньшей мере одно изображение, и содержат ли метаданные значение высоты, определяющее высоту в отношении множества изображений. Кроме того, согласно примерам осуществления изобретения имеет место сигнализация в ответ на определение того, что метаданные содержат значение ширины и/или значение высоты, для поддержания, по меньшей мере в одном процессе последующей передискретизации, значения ширины и/или значения высоты для отображения по меньшей мере одного изображения устройством отображения, как описано в данном документе, а также имеет место сигнализация, в ответ на определение того, что в метаданных отсутствует значение ширины и/или значение высоты, для поддержания, по меньшей мере в одном процессе последующей передискретизации, одного или более соответствующего отсутствующего значения ширины и/или значения высоты равным или равными соответственно ширине и/или высоте, которые указаны посредством SPS видеоданных.

[87] Следовательно, согласно примерам осуществления изобретения, путем включения таких метаданных и обработки, описанной на фиг. 10, можно управлять отображением вывода, например разрешением, в соответствии с намерением, передаваемым вместе с входным битовым потоком 1001 в виде по меньшей мере части метаданных. Такая управляющая информация может быть включена в виде метаданных с выходным изображением 1011 и может направлять устройство постобработки либо только отображать выходное изображение 1011 с разрешением для отображения вывода, указанным в метаданных, когда значения флагов, показанных на фиг. 11, присутствуют и положительны, либо предоставить возможность устройству постобработки выбрать, например, с помощью выбора пользователя во время ввода данных или заранее заданного выбора, или выбора, заданного по умолчанию, отображать выходное изображение с разрешением, указанным в метаданных, как описано при значениях флага на фиг. 11, или отображать выходное изображение с иным разрешением, управляемым при постобработке выходного устройства отображения. Как описано в данном документе, такие указания могут быть предоставлены одним или более флагами, включенными в виде метаданных по меньшей мере с входным битовым потоком 1001 и/или выходным изображением 1011, выводимым на устройство отображения.

[88] Соответственно, с помощью описанных здесь вариантов осуществления изобретения указанные выше технические проблемы могут быть успешно решены благодаря одному или более из этих технических решений.

[89] Вышеописанные способы могут быть реализованы в виде компьютерного программного обеспечения, использующего машиночитаемые инструкции и физически хранящегося на одном или более машиночитаемых носителях, или посредством сконфигурированных одного или более аппаратных процессоров. Например, на фиг. 12 показана компьютерная система 1200, пригодная для осуществления некоторых вариантов осуществления изобретения.

[90] Компьютерное программное обеспечение может кодироваться с использованием любого подходящего машинного кода или компьютерного языка, который может подвергаться ассемблированию, компиляции, редактированию связей или аналогичной обработке для создания кода, содержащего инструкции, которые могут выполняться напрямую или посредством интерпретации, выполнения микрокода и т.п., компьютерными центральными процессорами (CPU, central processing units), графическими процессорами (GPU, Graphics Processing Units) и т.п.

[91] Инструкции могут выполняться на компьютерах различных типов или их компонентах, включая, например, персональные компьютеры, планшетные компьютеры, серверы, смартфоны, игровые устройства, устройства интернета вещей и т.п.

[92] Компоненты компьютерной системы 1200, показанные на фиг. 12, носят иллюстративный характер и не призваны налагать какое-либо ограничение на объем применения или функциональные возможности компьютерного программного обеспечения, реализующего варианты осуществления настоящего изобретения. Конфигурацию компонентов также не следует интерпретировать как имеющую какую-либо зависимость или требование в связи с любым компонентом или комбинацией компонентов, показанных в примере осуществления компьютерной системы 1200.

[93] Компьютерная система 1200 может включать некоторые устройства ввода с человеко-машинным интерфейсом. Такое устройство ввода может отвечать за ввод одним или более пользователями посредством, например, тактильного ввода (например, нажатий на клавиши, махов, движений информационной перчатки), аудио-ввода (например, голосового, хлопков), визуального ввода (например, жестов), обонятельного ввода (не показан). Устройства интерфейса также могут использоваться для захвата некоторых информационных носителей, не обязательно напрямую связанных с осознанным вводом человеком, например звука (например, речи, музыки, внешнего звука), изображений (например, отсканированных изображений, фотографических изображений, полученных от камеры неподвижных изображений), видео (например, двумерного видео, трехмерного видео, включая стереоскопическое видео).

[94] Входной человеко-машинный интерфейс устройства может включать одно или более из следующего (показано по одному): клавиатура 1201, мышь 1202. сенсорная панель 1203, сенсорный экран 1210, джойстик 1205, микрофон 1206, сканер 1208 и камера 1207.

[95] Компьютерная система 1200 также может включать в себя некоторые устройства вывода с человеко-машинным интерфейсом. Такие устройства вывода могут стимулировать органы чувств одного или более пользователей посредством, например, тактильного вывода, звука, света и запаха/вкуса. Такие устройства вывода могут включать устройства тактильного вывода (например, тактильной обратной связи посредством сенсорного экрана 1210 или джойстика 1205, а также устройства тактильной обратной связи, которые не служат устройствами ввода), устройства вывода аудио (например: динамики 1209, наушники (не показаны)), устройства визуального вывода (например, экраны 1210, в том числе экраны на электроннолучевых трубках (CRT, cathode ray tube), жидкокристаллические экраны (LCD, liquid-crystal display), плазменные экраны, экраны на органических светодиодах (OLED, organic light-emitting diode), каждый с возможностями сенсорного экранного ввода или без них, каждый с возможностями тактильной обратной связи или без них, некоторые из них способны к двумерному визуальному выводу или более чем трехмерному выводу посредством, например, стереографическому выводу, очки виртуальной реальности (не показаны), голографические дисплеи, дымовые баки (не показаны) и принтеры (не показаны).

[96] Компьютерная система 1200 также может включать доступные человеку запоминающие устройства и связанные с ними носители, например, оптические носители, включающие CD/DVD ROM/RW 1220 с носителями 1211 CD/DVD и т.п., карты 1222 флэш-памяти, сменный жесткий диск или твердотельный диск 1223, традиционные магнитные носители, например, ленту и магнитный диск (не показан), специализированные устройства на основе ROM/ASIC/PLD, например, защитные аппаратные ключи (не показаны) и т.п.

[97] Специалисты в данной области техники также должны понимать, что термин "машиночитаемые носители", используемый в связи с настоящим изобретением, не охватывает среды передачи, несущие волны или другие временные сигналы.

[98] Компьютерная система 1200 также может включать интерфейс 1299 к одной или более сетям 1298 связи. Сети 1298 могут быть, например, беспроводными, проводными, оптическими. Сети 1298 могут быть также локальными, глобальными, городскими, транспортными и промышленными, реального времени, допускающими задержку и т.д. Примеры сетей 1298 включают локальные сети, например, Ethernet, беспроводные сети LAN, сотовые сети, в том числе глобальные системы мобильной связи (GSM, global systems for mobile communications), сети поколений 3G, 4G и 5G, сети технологии долгосрочного развития (LTE, Long-Term Evolution) и т.п., глобальные цифровые сети проводного или беспроводного телевидения, в том числе кабельное телевидение, спутниковое телевидение и наземное телевещание, транспортные и промышленные сети, включающие CANBus и т.д. Некоторые сети 1298 обычно требуют внешних адаптеров сетевого интерфейса, которые подключены к некоторым портам данных общего назначения или периферийным шинам 1250 и 1251 (например, порты универсальной последовательной шины (USB, universal serial bus) компьютерной системы 1200); другие обычно встраиваются в ядро компьютерной системы 1200 путем подключения к системной шине, как описано ниже (например, интерфейс Ethernet в компьютерную систему PC или интерфейс сотовой сети в компьютерную систему смартфона). Используя любую из этих сетей 1298, компьютерная система 1200 может осуществлять связь с другими объектами. Такая связь может быть однонаправленной с возможностью только приема (например, телевещания), однонаправленной с возможностью только передачи (например, CANbus к некоторым устройствам CANbus) или двунаправленной, например, к другим компьютерным системам с использованием локальной или глобальной цифровой сети. Некоторые протоколы и стеки протоколов могут использоваться в каждой из этих сетей и вышеописанных сетевых интерфейсов.

[99] Вышеупомянутые устройства человеко-машинного интерфейса, доступные человеку запоминающие устройства и сетевые интерфейсы могут подключаться к ядру 1240 компьютерной системы 1200.

[100] Ядро 1240 может включать один или более центральных процессоров (CPU) 1241, графические процессоры (GPU) 1242, графические адаптера 1217, специализированные программируемые модули обработки в форме вентильных матриц, программируемых пользователем (FPGA, Field Programmable Gate Arrays) 1243, аппаратные ускорители 1244 для некоторых задач и т.д. Эти устройства, совместно с постоянной памятью (ROM) 1245, оперативной памятью 1246 (RAM), внутренним хранилищем данных большой емкости, например, внутренними жесткими дисками, недоступными пользователю, твердотельными накопителями (SSD, solid-state drives) и т.п. 1247, могут соединяться посредством системной шины 1248. В некоторых компьютерных системах системная шина 1248 может быть доступна в форме одного или более физических разъемов для обеспечения расширений за счет дополнительных процессоров CPU, GPU и т.п. Периферийные устройства могут подключаться либо напрямую к системной шине 1248 ядра, либо через периферийную шину 1251. Архитектуры периферийной шины включают шину соединения периферийных компонентов (PCI, peripheral component interconnect), USB и т.п.

[101] Устройства CPU 1241, GPU 1242, FPGA 1243 и ускорители 1244 могут выполнять некоторые инструкции, которые совместно могут составлять вышеупомянутый компьютерный код. Этот компьютерный код может храниться в памяти ROM 1245 или RAM 1246. Временные данные также могут храниться в памяти RAM 1246, тогда как постоянные данные могут храниться, например, во внутреннем хранилище 1247 данных большой емкости. Быстрое сохранение и извлечение из любого запоминающего устройства может обеспечиваться за счет использования кэшпамяти, которая может быть тесно связана с одним или более процессорами CPU 1241, GPU 1242, хранилищем 1247 данных большой емкости, памятью ROM 1245, RAM 1246 и т.п.

[102] На машиночитаемых носителях может храниться компьютерный код для осуществления различных выполняемых компьютером операций. Носители и компьютерный код могут быть специально созданы в целях настоящего изобретения или могут относиться к хорошо известным и доступным специалистам в области компьютерного программного обеспечения.

[103] В порядке примера, но не ограничения изобретения, компьютерная система, имеющая архитектуру 1200, и, в частности, ядро 1240 может обеспечивать функциональные возможности благодаря выполнению процессором(ами) (включающим(и) в себя CPU, GPU, FPGA, ускорители и т.п.) программного обеспечения, воплощенного в одном или более материальных машиночитаемых носителей. Такие машиночитаемые носители могут быть носителями, связанными с доступным пользователю хранилищем данных большой емкости, представленным выше, а также некоторым постоянным хранилищем ядра 1240, например, внутренним хранилищем 1247 данных большой емкости или ROM 1245. Программное обеспечение, реализующее различные варианты осуществления настоящего изобретения, может храниться в таких устройствах и выполняться ядром 1240. Машиночитаемый носитель может включать одно или более запоминающих устройств или микросхем, в соответствии с конкретными нуждами. Программное обеспечение может предписывать ядру 1240 и, в частности, его процессорам (включая CPU, GPU, FPGA и т.п.) выполнять конкретные способы или конкретные части описанных здесь конкретных способов, включая задание структур данных, хранящихся в памяти RAM 1246, и модификацию таких структур данных согласно способам, заданным программным обеспечением. Дополнительно или альтернативно, компьютерная система может обеспечивать функциональные возможности благодаря логике, зашитой или иным образом воплощенной в схеме (например, ускоритель 1244), которая может действовать вместо программного обеспечения или совместно с программным обеспечением для выполнения конкретных способов или конкретных частей описанных здесь конкретных способов. Ссылка на программное обеспечение может охватывать логику, и наоборот, когда это уместно. Ссылка на машиночитаемые носители может охватывать схему (например, интегральную схему (IC, integrated circuit)), где хранится программное обеспечение для выполнения, схему, воплощающую логику для выполнения, или обе схемы, когда это уместно. Настоящее изобретение охватывает любую подходящую комбинацию аппаратного и программного обеспечения.

[104] Хотя здесь были описаны некоторые варианты осуществления изобретения, возможны изменения, перестановки и различные эквивалентные замены в пределах объема изобретения. Таким образом, специалисты в данной области техники могут предложить многочисленные системы и способы, которые, хотя в явном виде здесь не показаны и не описаны, воплощают принципы изобретения и, таким образом, соответствуют его сущности и объему.

1. Способ декодирования видеоданных, выполняемый по меньшей мере одним процессором и включающий:

получение входного битового потока, содержащего метаданные и видеоданные;

декодирование видеоданных;

определение, содержат ли метаданные по меньшей мере один флаг, сигнализирующий по меньшей мере об одном компоненте размера изображения для по меньшей мере одного изображения видеоданных, и,

если определено, что метаданные содержат упомянутый по меньшей мере один флаг, передачу в устройство отображения сигнализации для отображения упомянутого по меньшей мере одного изображения из видеоданных в соответствии с упомянутым по меньшей мере одним флагом.

2. Способ по п. 1, в котором видеоданные кодированы в формате универсального кодирования видеоданных (VVC).

3. Способ по п. 1 или 2, в котором упомянутый по меньшей мере один флаг указывает, следует ли отображать упомянутое по меньшей мере одно изображение с размером изображения в соответствии со значением упомянутого компонента, которое заранее установлено и указано посредством метаданных.

4. Способ по п. 3, в котором упомянутый компонент включает ширину и/или высоту упомянутого по меньшей мере одного изображения.

5. Способ по п. 4, в котором ширина и/или высота упомянутого по меньшей мере одного изображения представлена в единицах отсчетов яркости.

6. Способ по п. 4 или 5, также включающий:

в ответ на определение того, что метаданные содержат упомянутый по меньшей мере один флаг, определение,

содержат ли метаданные значение ширины, определяющее ширину в отношении множества изображений, включающего упомянутое по меньшей мере одно изображение, и

содержат ли метаданные значение высоты, определяющее высоту в отношении множества изображений,

при этом по меньшей мере одно значение упомянутого компонента включает ширину и/или высоту.

7. Способ по п. 6, также включающий:

сигнализацию, в ответ на определение того, что метаданные содержат значение ширины и/или значение высоты, для поддержания, по меньшей мере в одном процессе последующей передискретизации, упомянутого значения ширины и/или значения высоты для отображения упомянутого по меньшей мере одного изображения устройством отображения.

8. Способ по п. 7, также включающий:

сигнализацию, в ответ на определение того, что в метаданных отсутствует значение ширины, для поддержания, по меньшей мере в одном процессе последующей передискретизации, значения ширины равным ширине, указанной посредством набора параметров последовательности видеоданных.

9. Способ по п. 7, также включающий:

сигнализацию, в ответ на определение того, что в метаданных отсутствует значение высоты, для поддержания, по меньшей мере в одном процессе последующей передискретизации, значения высоты равным высоте, указанной посредством набора параметров последовательности видеоданных.

10. Способ по любому из пп. 6-9, в котором видеоданные содержат упомянутый по меньшей мере один флаг в виде параметра информации об использовании видео (VUI).

11. Устройство для декодирования видеоданных, содержащее:

по меньшей мере одну память, сконфигурированную для хранения компьютерного программного кода;

по меньшей мере один процессор, сконфигурированный для доступа к компьютерному программному коду и работы в соответствии с инструкциями компьютерного программного кода для осуществления способа по любому из пп. 1-10.

12. Машиночитаемый носитель, хранящий программу, сконфигурированную для обеспечения осуществления компьютером способа по любому из пп. 1-10.



 

Похожие патенты:

Изобретение относится к способам и оборудованию для кодирования и декодирования видео и изображений с использованием сегментации на блоки. Техническим результатом является повышение эффективности сжатия при кодировании информации с сегментацией на блоки.

Группа изобретений относится к технологиям кодирования/декодирования трехмерных изображений. Техническим результатом является повышение эффективности кодирования/декодирования изображений посредством устранения зависимости от данных при определении информации движения.

Изобретение относится к области техники кодирования и декодирования изображения и/или видео, и в частности, к способу и аппаратуре для внутреннего предсказания. Техническим результатом является повышение эффективности кодирования.

Группа изобретений относится к технологиям кодирования и декодирования видео, а более конкретно - к извлечению выходного уровня в кодированном видеопотоке с несколькими уровнями. Техническим результатом является обеспечение снижения избыточности во входном видеосигнале путем сжатия.

Изобретение относится к средствам для кодирования видео. Технический результат заключается в повышении эффективности кодирования видео.

Изобретение относится к информационным технологиям, в частности к информационным системам, осуществляющим доставку медиаконтента в отдаленные места, имеющие ограничения емкости линии связи. Техническим результатом является обеспечение доставки контента в условиях ограниченной линии связи за счет того, что компонент API перенаправляет запрос от клиента на тот сервер-стример, который ближе всего к данной зоне нахождения клиента.

Изобретение относится к способам и устройствам для обработки и, в частности, декодирования изменений во времени кодирования динамического диапазона видеоизображений или способам кодирования расширенного динамического диапазона (high dynamic range, HDR). Техническим результатом является возможность обработки по-разному заданного HDR-видео из различных источников с различными параметрами кодирования.

Изобретение относится к технике кодирования и декодирования видеосигнала. Техническим результатом является повышение эффективности кодирования и декодирования идентификаторов тайлов.

Изобретение относится к технологиям кодирования/декодирования изображений. Техническим результатом является повышение эффективности квантования на основе информации разбиения блока и информации размера блока изображения.

Изобретение относится к средствам для обработки изображений. Технический результат заключается в повышении эффективности кодирования изображений за счет понижения объема памяти используемого для хранения временных векторов движения (MV) при обеспечении требуемой точности MV.

Группа изобретений относится к технологиям обработки данных и, в частности, к кодированию облака точек. Техническим результатом является уменьшение объема данных, необходимых для представления облака данных, с целью его более быстрой передачи или сокращения объема хранилища. Предложен способ кодирования облака точек, выполняемый процессором. Способ содержит этап, на котором принимают из битового потока данные, соответствующие облаку точек. Далее, согласно способу, получают из этих данных первый остаток предсказания первого компонента из множества компонентов атрибута, связанного с облаком точек, при этом данные, соответствующие облаку точек, кодируют на основании межкомпонентного предсказания с учетом корреляции между множеством компонентов. А также восстанавливают первый остаток предсказания. Далее определяют предсказанный второй остаток предсказания на основе восстановленного первого остатка предсказания и по меньшей мере одного параметра модели для межкомпонентного предсказания сигналов. 3 н. и 17 з.п. ф-лы, 10 ил.
Наверх