Кодирование единиц nal sei для кодирования видео

Иллюстрации

Показать все

Изобретение относится к технологиям обработки данных видео. Техническим результатом является повышение эффективности кодирования/декодирования данных видео. Предложен способ декодирования данных видео. Способ содержит этап, на котором осуществляют декодирование значения типа единицы уровня абстракции сети, NAL, для единицы NAL дополнительной информации расширения, SEI, потока битов. При этом значение типа единицы NAL для единицы NAL SEI указывает, содержит ли единица NAL единицу NAL SEI префикса, включающую в себя сообщение SEI префикса, или единицу NAL SEI суффикса, включающую в себя сообщение SEI суффикса. Далее, осуществляют декодирование данных видео потока битов на основании того, является ли единица NAL SEI единицей NAL SEI префикса, при этом единицы NAL SEI префикса могут не следовать за последней единицей NAL уровня кодирования видео, VCL, в единице доступа в порядке декодирования. 6 н. и 8 з.п. ф-лы, 10 ил., 8 табл.

Реферат

СВЯЗАННЫЕ ЗАЯВКИ

[0001] Настоящая заявка испрашивает приоритет предварительной заявки на патент США №61/670,066, поданной 10 июля 2012, которая тем самым полностью включена по ссылке в настоящее описание.

ОБЛАСТЬ ТЕХНИКИ

[0002] Настоящее раскрытие в целом относится к обработке данных видео и, более подробно, к картинкам произвольного доступа, используемым в данных видео.

УРОВЕНЬ ТЕХНИКИ

[0003] Цифровые возможности видео могут быть включены в широкий диапазон устройств, включающую в себя цифровые телевизоры, цифровые системы прямого вещания, беспроводные системы вещания, персональные цифровые помощники (PDA), портативные или настольные компьютеры, планшетные компьютеры, считыватели электронных книг, цифровые камеры, цифровые устройства регистрации, цифровые медиа плееры, видео игровые устройства, пульты видеоигр, сотовые или спутниковые радиотелефоны, так называемые "смартфоны," устройства организации видео телеконференций, устройства потоковой передачи видео и т.п. Цифровые видео устройства реализуют способы кодирования видео, такие как описанные в стандартах, определенных посредством ITU-T H.261, ISO/IEC MPEG-1 Visual, ITU-T H.262, ISO/IEC MPEG-2 Visual, ITU-T H.263, ITU-T H.264/MPEG-4, Часть 10, Advanced Video Coding (AVC), стандарта высокоэффективного кодирования видео (HEVC), развивающегося в настоящее время, и расширениях таких стандартов. Видео устройства могут передавать, принимать, кодировать, декодировать и/или сохранять цифровую видео информацию более эффективно, реализуя такие способы кодирования видео.

[0004] Способы сжатия видео выполняют пространственное (внутри картинки) предсказание и/или временное (между картинками) предсказание, чтобы уменьшить или удалить избыточность, присущую видео последовательностям. Для основанного на блоках кодирования видео вырезка видео (то есть, видео кадр или часть видео кадра) может быть разделена на блоки видео, которые могут также упоминаться как макроблоки, блоки дерева, единицы дерева кодирования (CTU), блоки дерева кодирования (CTBs), единицы кодирования (CUs) и/или узлы кодирования. Видео блоки во внутренне кодированной (I) вырезке картинки кодируют, используя пространственное предсказание относительно опорных выборок в соседних блоках в той же самой картинке. Видео блоки во внешне кодированной (P или B) вырезке картинки могут использовать пространственное предсказание относительно опорных выборок в соседних блоках в той же самой картинке или временное предсказание относительно опорных выборок в других опорных картинках. Картинки могут упоминаться как кадры, и опорные картинки могут упоминаться как опорные кадры.

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

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

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

[0007] В одном примере способ декодирования данных видео включает в себя декапсулирование вырезки картинки точки произвольного доступа (RAP) потока битов из единицы уровня абстракции сети (NAL), в котором единица NAL включает в себя значение типа единицы NAL, которое указывает, имеет ли картинка RAP тип, который может иметь ассоциированные начальные картинки, и является ли картинка RAP картинкой мгновенного обновления декодера (IDR) или картинкой чистого произвольного доступа (CRA), определение может ли картинка RAP иметь ассоциированные начальные картинки на основании значения типа единицы NAL; и декодирование данных видео потока битов после картинки RAP на основании определения того, может ли картинка RAP иметь ассоциированные начальные картинки.

[0008] В другом примере устройства для декодирования данных видео, причем устройство содержит процессор, сконфигурированный декапсулировать вырезки картинки точки произвольного доступа (RAP) потока битов из единицы уровня абстракции сети (NAL), при этом единица NAL включает в себя значение типа единицы NAL, которое указывает, имеет ли картинка RAP тип, который может иметь ассоциированные начальные картинки, и является ли картинка RAP картинкой мгновенного обновления декодера (IDR) или картинкой чистого произвольного доступа (CRA), определять, может ли картинка RAP иметь ассоциированные начальные картинки на основании значения типа единицы NAL, и декодировать видео данные потока битов после картинки RAP на основании определения того, может ли картинка RAP иметь ассоциированные начальные картинки.

[0009] В другом примере устройство для декодирования данных видео включает в себя средство для декапсулирования вырезки картинки точки произвольного доступа (RAP) потока битов из единицы уровня абстракции сети (NAL), в котором единица NAL включает в себя значение типа единицы NAL, которое указывает, имеет ли картинка RAP тип, который может иметь ассоциированные начальные картинки, и является ли картинка RAP картинкой мгновенного обновления декодера (IDR) или картинкой чистого произвольного доступа (CRA), средство для определения, может ли картинка RAP иметь ассоциированные начальные картинки на основании значения типа единицы NAL, и средство для декодирования данных видео потока битов после картинки RAP на основании определения того, может ли картинка RAP иметь ассоциированные начальные картинки.

[0010] В другом примере считываемый компьютером запоминающий носитель имеет сохраненные на нем инструкции, которые, когда выполняются, вынуждают процессор декапсулировать вырезки картинки точки произвольного доступа (RAP) потока битов из единицы уровня абстракции сети (NAL), в котором единица NAL включает в себя значение типа единицы NAL, которое указывает, имеет ли картинка RAP тип, который может иметь ассоциированные начальные картинки, и является ли картинка RAP картинкой мгновенного обновления декодера (IDR) или картинкой чистого произвольного доступа (CRA), определять, может ли картинка RAP иметь ассоциированные начальные картинки, на основании значения типа единицы NAL, и декодировать видео данные потока битов после картинки RAP на основании определения того, может ли картинка RAP иметь ассоциированные начальные картинки.

[0011] В другом примере способ генерирования потока битов, включающего в себя данные видео, причем способ содержит определение, имеет ли картинка точки произвольного доступа (RAP) тип, который может иметь ассоциированные начальные картинки, и содержит ли картинка RAP картинку мгновенного обновления декодера (IDR) или картинку чистого произвольного доступа (CRA), инкапсуляцию вырезки картинки RAP в единицу уровня абстракции сети (NAL), в котором единица NAL включает в себя значение типа единицы NAL, которое указывает, имеет ли картинка RAP тип, который может иметь ассоциированные начальные картинки, и генерирование потока битов, включающего в себя эту единицу NAL.

[0012] В другом примере устройство для генерирования потока битов, включающего в себя видео данные, включает в себя процессор, сконфигурированный, чтобы определить, имеет ли картинка точки произвольного доступа (RAP) тип, который может иметь ассоциированные начальные картинки, и содержит ли картинка RAP картинку мгновенного обновления декодера (IDR) или картинку чистого произвольного доступа (CRA), инкапсулировать вырезку картинки RAP в единицу уровня абстракции сети (NAL), в котором единица NAL включает в себя значение типа единицы NAL, которое указывает, имеет ли картинка RAP тип, который может иметь ассоциированные начальные картинки, и генерировать поток битов, включающий в себя единицу NAL.

[0013] В другом примере устройство для генерирования потока битов, включающего в себя видео данные, включает в себя средство для определения, имеет ли картинка точки произвольного доступа (RAP) тип, который может иметь ассоциированные начальные картинки и является ли картинка RAP картинкой мгновенного обновления декодера (IDR) или картинкой чистого произвольного доступа (CRA), средство для инкапсуляции вырезки картинки RAP в единице уровня абстракции сети (NAL), в котором единица NAL включает в себя значение типа единицы NAL, которое указывает, имеет ли картинка RAP тип, который может иметь ассоциированные начальные картинки, и средство для генерирования потока битов, включающего в себя единицу NAL.

[0014] В другом примере считываемый компьютером запоминающий носитель имеет сохраненные на нем инструкции, которые, когда выполняются, вынуждают процессор определить, имеет ли картинка точки произвольного доступа (RAP) тип, который может иметь ассоциированные начальные картинки и содержит ли картинка RAP картинку мгновенного обновления декодера (IDR) или картинку чистого произвольного доступа (CRA), инкапсулировать вырезку картинки RAP в единице уровня абстракции сети (NAL), в котором единица NAL включает в себя значение типа единицы NAL, которое указывает, имеет ли картинка RAP тип, который может иметь ассоциированные начальные картинки, и генерирует поток битов, включающую в себя единицу NAL.

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

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

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

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

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

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

[0021] В другом примере устройство для генерирования потока битов, включающего в себя видео данные, включает в себя средство для определения, является ли сообщение дополнительной информации расширения (SEI) сообщением SEI префикса или сообщением SEI суффикса, при этом сообщение SEI включает в себя данные, относящиеся к закодированным данным видео, средство для инкапсулирования сообщения SEI в единице NAL SEI, при этом единица NAL SEI включает в себя значение типа единицы NAL, которое указывает, является ли единица NAL SEI единицей NAL SEI префикса или единицей NAL SEI суффикса, и является ли сообщение SEI сообщением SEI префикса или сообщением SEI суффикса, и средство для генерирования потока битов, включающего в себя по меньшей мере упомянутую единицу NAL SEI.

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

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

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

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

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

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

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

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

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

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

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

[0032] Фиг. 1 является концептуальной диаграммой, иллюстрирующей последовательность видео, закодированную согласно способам кодирования видео с предсказанием.

[0033] Фиг. 2 является концептуальной диаграммой, иллюстрирующей пример закодированной последовательности видео.

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

[0035] Фиг. 4 является блок-схемой, иллюстрирующей примерный блок инкапсуляции, который может реализовать способы, описанные в настоящем раскрытии.

[0036] Фиг. 5 является последовательностью операций, иллюстрирующей пример генерирования единиц NAL VCL согласно способам настоящего раскрытия.

[0037] Фиг. 6 является последовательностью операций, иллюстрирующей пример генерирования единицы NAL не-VCL согласно способам настоящего раскрытия.

[0038] Фиг. 7 является последовательностью операций, иллюстрирующей пример сигнализации значения дельты времени представления.

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

[0040] Фиг. 9 является последовательностью операций, иллюстрирующей пример определения значения дельты времени представления.

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

ПОДРОБНОЕ ОПИСАНИЕ

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

[0043] Цифровые видео устройства реализуют способы сжатия видео, чтобы закодировать и декодировать цифровую информацию видео более эффективно. Способы сжатия видео могут быть определены согласно стандарту кодирования видео, такому как AVC или HEVC. Стандарт ITU-T H.264/MPEG-4 (AVC) был сформулирован Группой Экспертов по Кодированию видео ITU-T (VCEG) вместе с ISO/IEC группой экспертов по движущимся изображениям (MPEG) как продукт коллективного товарищества, известного как Объединенная Команда Видео (JVT). Стандарт H.264 описан в ITU-T Recommendation H.264, Advanced Video Coding for generic audiovisual services, Группой по изучению ITU-T, и датированной мартом 2005, который может быть упомянут здесь как стандарт H.264 или спецификация H.264, или стандарт H.264/AVC или спецификация Объединенная Команда Видео (JVT) продолжает развивать расширения к H.264/MPEG-4 AVC.

[0044] Недавний рабочий проект (WD) HEVC, названный “HEVC Working Draft 7” или "WD7", описан в документе JCTVC-I1003_d5, Bross и др., “WD7: Working Draft 7 of High-Efficiency Video Coding (HEVC), Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 9th Meeting: Geneva, Switzerland, April 27, 2012 to May 7, 2012. Далее, другой недавний рабочий проект HEVC, Working Draft 9, описан в документе HCTVC-K1003_d7, Bross и др., “High Efficiency Video Coding (HEVC) Text Specification Draft 9,” Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 11th Meeting: Shanghai, CN, October, 2012. Разрабатываемый стандарт HEVC может также упоминаться как ISO/IEC 23008-HEVC, который предназначен, чтобы быть стандартным номером для предоставленной версии HEVC. В некоторых аспектах способы, описанные в настоящем раскрытии, могут быть применены к устройствам, которые в целом соответствуют H.264 и/или разрабатываемому стандарту HEVC. Хотя способы настоящего раскрытия описаны относительно стандарта H.264 и разрабатываемого стандарта HEVC, способы настоящего раскрытия в целом применимы к любому стандарту кодирования видео.

[0045] Последовательность видео типично включает в себя последовательность кадров видео, также называемых картинками. Примеры приложений видео, где последовательность видео кодируется и/или декодируется, включают в себя локальное воспроизведение, потоковую передачу, вещание, многоадресное вещание и диалоговые приложения. Диалоговые приложения включают в себя видео телефонию и видео конференц-связь и также упоминаются как приложения с низкой задержкой. Диалоговые приложения требуют относительно малой сквозной задержки всех систем, то есть, задержки между временем, когда видео кадр захвачен в первом цифровом видео устройстве, и временем, когда видео кадр показывается во втором цифровом видео устройстве. Типично приемлемая сквозная задержка диалоговых приложений должна составить меньше чем 400 миллисекунд, и сквозная задержка приблизительно 150 миллисекунд считается очень хорошей.

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

[0047] Группа картинок (GOP) обычно содержит последовательность из одной или более картинок, скомпонованных согласно порядку отображения. Согласно HEVC, видео кодер может разделить видео кадр или картинку в последовательность блоков видео одинакового размера. Блок видео может иметь компонент светимости (обозначенный как Y) и два компонента насыщенности цвета (обозначенные как U и V или Cb и Cr). Эти блоки видео могут также называться как наибольшие единицы кодирования (LCU), блоки дерева, или единицы блока дерева кодирования (CTUs). LCUs в HEVC могут очень походить на макроблоки предыдущих стандартов, такие как H.264/AVC. Однако, LCU не обязательно ограничен конкретным размером. Согласно HEVC, данные синтаксиса в пределах потока битов могут определить LCU согласно количеству горизонтальных и/или вертикальных выборок яркости. Например, LCU может быть определена как включающая в себя 64×64 или 32×32 выборок яркости. Далее, LCU может быть разделена во множественные единицы кодирования (CUs) согласно схеме деления квадродерева. Обычно, разделение квадродерева относится к рекурсивному разделению единиц CU на четыре суб-единицы CU. Данные синтаксиса, ассоциированные с закодированным потоком битов, могут определить максимальное количество раз, сколько LCU может быть разделена, называемой максимальной глубиной CU, и может также определить минимальный размер CU. Соответственно, поток битов может также определить наименьшую единицу кодирования (SCU). Например, SCU может быть определена как включающая в себя 8×8 выборок яркости.

[0048] Кроме того, согласно HEVC, видео кодер может разделить картинку на множество вырезок, при этом каждая из вырезок включает в себя целочисленное количество Единиц LCU. Вырезки могут быть I вырезками, P вырезками или B вырезками, где I, P и B определяют, как другие блоки видео используются для предсказания единиц CU. I вырезка предсказывается, используя режим внутреннего предсказания (например, от блоков видео в пределах того же самого кадра). Внутреннее кодирование полагается на пространственное предсказание, чтобы уменьшить или удалить пространственную избыточность в видео в пределах заданного видео кадра или картинки. P вырезка предсказывается, используя однонаправленный режим внешнего предсказания (например, от блока видео в предыдущем кадре). B вырезка предсказывается, используя двунаправленный режим внешнего предсказания (например, от блоков видео в пределах предыдущего кадра и последующего кадра). Внешнее кодирование полагается на временное предсказание, чтобы уменьшить или удалить временную избыточность в видео в пределах смежных кадров или картинок последовательности видео.

[0049] ФИГ. 1 является концептуальной диаграммой, иллюстрирующей последовательность видео, закодированную согласно способам предсказывающего кодирования видео. Как иллюстрировано на фиг. 1, видео последовательность 100 включает в себя картинки Pic1-Pic10. В концептуальной диаграмме согласно ФИГ. 1 картинки Pic1-Pic10 скомпонованы и последовательно пронумерованы согласно порядку, в котором они должны быть показаны. Как описано более подробно ниже, порядок отображения не обязательно соответствует порядку декодирования. Как иллюстрировано на фиг. 1, видео последовательность 100 включает в себя GOP1 и GOP2, где картинки Pic1-Pic5 включены в GOP1 и картинки Pic6-Pic10, включены в GOP2. ФИГ. 1 иллюстрирует, что Pic5 разделена на slice1 и slice2, где каждый из slice1 и slice2 включает в себя последовательные единицы LCU согласно растровому сканированию слева направо сверху вниз. Хотя не показано, другие картинки, иллюстрированные на фиг. 1, могут быть разделены на одну или более вырезок подобным способом. ФИГ. 1 также иллюстрирует понятие I вырезки, P вырезки или B вырезки относительно GOP2. Стрелки, ассоциированные с каждой из Pic6-Pic10 в GOP2, указывают, включает ли картинка в себя I вырезки, P вырезки или B вырезки на основании опорной картинки, обозначенной стрелками. На фиг. 1 картинки Pic6 и Pic9 представляют картинки, включающие в себя I картинки (то есть, ссылки непосредственно на саму картинку), картинки Pic7 и Pic10 представляют картинки, включающие в себя P вырезки (то есть, каждая ссылается на предыдущую картинку), и Pic8 представляет картинку, включающую в себя B вырезки (то есть, ссылается на предыдущее и последующую картинку).

[0050] В HEVC каждая из видео последовательности, GOP, картинки, вырезки и CU может быть ассоциирована с данными синтаксиса, которые описывают свойства кодирования видео. Например, вырезка включает в себя заголовок, который включает в себя элемент синтаксиса, который указывает, является ли вырезка I вырезкой, P вырезкой или B вырезкой. Далее, HEVC включает в себя понятие наборов параметров. Набор параметров является структурой синтаксиса, которая включает в себя элементы синтаксиса, которые позволяют видео декодеру восстанавливать видео последовательность. HEVC использует механизм иерархического набора параметров, где элементы синтаксиса включены в тип набора параметров на основании частоты, с которой элементы синтаксиса, как ожидают, будут изменяться. Механизм набора параметров в HEVC отделяет передачу нечасто изменяющейся информации от передачи закодированных данных блока. Далее, в некоторых применениях наборы параметров могут быть переданы "вне диапазона", то есть, не транспортированы вместе с блоками, содержащими закодированные видео данные. Передача вне диапазона типично является надежной.

[0051] В HEVC WD7 конкретный набор параметров идентифицируют, используя ID набора параметров. В HEVC WD7, ID набора параметров является беззнаковый целочисленный элемент синтаксиса Exp-Golomb-coded с первым левым битом. HEVC WD7 определяет следующие наборы параметров:

Набор параметров видео (VPS): VPS является синтаксической структурой, которая содержит элементы синтаксиса, которые применяются к нулю или более полностью закодированным видео последовательностям. То есть, VPS включает в себя элементы синтаксиса, которые, как ожидают, останутся неизменными для последовательности кадров (например, порядок картинок, количество опорных кадров и размер картинок). VPS идентифицируют, используя ID VPS. Набор параметров последовательности включает в себя ID VPS.

Набор параметров последовательности (SPS) - SPS является синтаксической структурой, которая включает в себя элементы синтаксиса, которые применяются к нулю или более полностью закодированным видео последовательностям. То есть, SPS включает в себя элементы синтаксиса, которые, как ожидают, останутся неизменными для последовательности кадров (например, порядок картинок, количество опорных кадров, и размер картинок). SPS идентифицируют, используя ID SPS. Набор параметров картинки включает в себя ID SPS.

Набор параметров картинки (PPS) - PPS является синтаксической структурой, которая включает в себя элементы синтаксиса, которые применяются к одной или более картинкам. То есть, PPS включает в себя элементы синтаксиса, которые могут изменяться от картинки к картинке в пределах последовательности (например, режим энтропийного кодирования, параметры квантования, и глубина в битах). Набор параметров PPS идентифицируют, используя ID PPS. Заголовок вырезки включает в себя ID PPS.

Адаптивный набор параметров (APS) - APS является синтаксической структурой, которая включает в себя элементы синтаксиса, которые применяются к одной или более картинкам. APS включает в себя элементы синтаксиса, которые, как ожидают, изменяются в пределах картинок последовательности (например, размер блока, и фильтрование удаления блочности). Набор APS идентифицируют, используя ID APS. Заголовок вырезки может включать в себя ID APS.

[0052] Согласно упомянутым определенным типам набора параметров в HEVC WD7, каждый SPS ссылается на ID VPS, каждый PPS ссылается на ID SPS, и каждый заголовок вырезки ссылается на ID PPS и, возможно, на ID APS. Нужно отметить, что в некоторых случаях линейное соотношение ссылки, включающие в себя ID VPS в SPS и ID SPS в PPS может быть неэффективным. Например, хотя VPS поддерживается в HEVC WD7, большинство параметров информации уровня последовательности все еще присутствует только в SPS. В дополнение к понятию наборов параметров, HEVC включает в себя понятие закодированных видео последовательностей и единиц доступа. Согласно HEVC WD7, закодированная видео последовательность и блок доступа определены следующим образом:

Закодированная видео последовательность: последовательность единиц доступа, которая состоит, в порядке декодирования, из единицы доступа CRA, которая является первой единицей доступа в потоке битов, единицы доступа IDR или единицы доступа BLA, сопровождаемой нулем или более единицами доступа не-IDR и не-BLA, включающими в себя все последующие единицы доступа вплоть до, но не включающими в себя любую последующую единицу доступа IDR или BLA [единицы доступа CRA, IDR и BLA, описаны подробно ниже].

Единица доступа: набор единиц NAL, которые являются последовательными в порядке декодирования и содержат одну закодированную картинку. В дополнение к единицам NAL закодированной вырезки закодированной картинки единица доступа может также содержать другие единицы NAL, не содержащие вырезки закодированной картинки. Декодирование единицы доступа всегда приводит к декодированной картинке.

[0053] Единица NAL относится к единице уровня абстракции сети. Таким образом, согласно HEVC, поток битов закодированных видео данных включает в себя последовательность единиц NAL. Единица доступа является набором единиц NAL, которые размещены последовательно в порядке декодирования и содержат точно одну закодированную картинку, и закодированная видео последовательность включает в себя последовательность единиц доступа, размещенных в порядке декодирования. ФИГ. 2 является концептуальной диаграммой, иллюстрирующей пример закодированной видео последовательности. ФИГ. 2 представляет пример закодированной видео последовательности 200, которая может соответствовать GOP2, иллюстрированной на фиг. 1. Как иллюстрировано на фиг. 2, закодированная видео последовательность 200 включает в себя единицу доступа, соответствующую каждой из Pic6-Pic10. Единицы доступа закодированной видео последовательности 200 размещены последовательно согласно порядку декодирования. Нужно отметить, что единица доступа, соответствующий Pic9, расположена перед единицей доступа, соответствующей Pic8. Таким образом, порядок декодирования не соответствует порядку отображения, иллюстрированному на фиг. 1. В этом примере это имее