EA044734B1 - Кодирование видео, масштабируемое по частоте кадров - Google Patents

Кодирование видео, масштабируемое по частоте кадров Download PDF

Info

Publication number
EA044734B1
EA044734B1 EA202193226 EA044734B1 EA 044734 B1 EA044734 B1 EA 044734B1 EA 202193226 EA202193226 EA 202193226 EA 044734 B1 EA044734 B1 EA 044734B1
Authority
EA
Eurasian Patent Office
Prior art keywords
shutter
frame
time
frames
angle
Prior art date
Application number
EA202193226
Other languages
English (en)
Inventor
Робин АТКИНС
Пэн ИНЬ
Таожань Лу
Фанцзюнь Пу
Шон Томас МакКарти
Уолтер Дж. ХЬЮСЭК
Тао ЧЭНЬ
Гуань-Мин СУ
Original Assignee
Долби Лэборетериз Лайсенсинг Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Долби Лэборетериз Лайсенсинг Корпорейшн filed Critical Долби Лэборетериз Лайсенсинг Корпорейшн
Publication of EA044734B1 publication Critical patent/EA044734B1/ru

Links

Description

Перекрестные ссылки на родственные заявки
Настоящая заявка притязает на приоритет предварительной заявки на патент (США) № 62/816521, поданной 11 марта 2019 г., предварительной заявки на патент (США) № 62/850985, поданной 21 мая 2019 г., предварительной заявки на патент (США) № 62/883195, поданной 6 августа 2019 г., и предварительной заявки на патент (США) № 62/904744, поданной 24 сентября 2019 г., каждая из которых полностью содержится в данном документе по ссылке.
Область техники, к которой относится изобретение
Изобретение в общем относится к изображениям. Более конкретно вариант осуществления настоящего изобретения относится к кодированию видео, масштабируемому по частоте кадров.
Уровень техники
При использовании в изобретении термин динамический диапазон (DR) может относиться к способности зрительной системы человека (HVS) воспринимать диапазон интенсивности (например, яркость, сигнал яркости) в изображении, например, от самых темно-серых цветов (черных цветов) до самых ярких белых цветов (высоких светов). В этом смысле DR относится к связанной со сценой интенсивности. DR также может относиться к способности устройства отображения адекватно или приблизительно выполнять рендеринг диапазона интенсивности конкретной широты. В этом смысле DR относится к связанной со отображением интенсивности. Если конкретный смысл явно не указывается как имеющий конкретную значимость в любой точке в описании в изобретении, необходимо сделать вывод, что термин может использоваться в любом смысле, например, взаимозаменяемо.
При использовании в изобретении термин расширенный динамический диапазон (HDR) относится к DR-широте, которая охватывает 14-15 порядков величины зрительной системы человека (HVS). На практике DR, по которому человек может одновременно воспринимать обширную широту в диапазоне интенсивности, может в определенной степени усекаться относительно HDR.
На практике изображения содержат один или более цветовых компонентов (например, сигнал Y яркости и сигнал Cb и Cr цветности), при этом каждый цветовой компонент представляется посредством точности n битов в расчете на пиксел (например, n=8). При использовании линейного кодирования яркости изображения, в которых n<8 (например, цветные 24-битовые JPEG-изображения), считаются изображениями стандартного динамического диапазона (SDR), тогда как изображения, в которых n>8, могут считаться изображениями улучшенного динамического диапазона. HDR-изображения также могут сохраняться и распространяться с использованием высокоточных (например, 16-битовых) форматов с плавающей запятой, таких как OpenEXR-формат файлов, разработанный компанией Industrial Light and Magic.
В настоящее время распространение видеоконтента с расширенным динамическим диапазоном, такого как Dolby Vision от Dolby Laboratories или HDR10 в Blu-Ray, ограничено 4K-разрешением (например, 4096x2160 или 3840x2160 и т.п.) и 60 кадров в секунду (кадров/с) в силу характеристик многих устройств воспроизведения. В будущих версиях предполагается, что контент вплоть до 8K-разрешения (например, 7680x4320) и 120 кадров/с может быть доступным для распространения и воспроизведения. Желательно, если будущие типы контента будут совместимыми с существующими устройствами воспроизведения, чтобы упрощать экосистему HDR-контента для воспроизведения, такого как Dolby Vision. В идеале создатели контента должны иметь возможность приспосабливать и распространять будущие HDR-технологии без необходимости также извлекать и распространять специальные версии контента, которые являются совместимыми с существующими HDR-устройствами (такие как HDR10 или Dolby Vision). Авторы изобретения должны принимать во внимание здесь, что требуются улучшенные технологии для масштабируемого распространения видеоконтента, в частности HDR-контента.
Подходы, описанные в этом разделе, представляют собой подходы, которые могут рассматриваться, но не обязательно представляют собой подходы, которые заранее задуманы или рассмотрены. Следовательно, если не указано иное, не следует предполагать, что какой-либо из описанных в этом разделе подходов относится к предшествующему уровню техники просто в силу своего включения в этот раздел. Аналогично вопросы, идентифицированные относительно одного или более подходов, не должны предполагаться как распознанные в предшествующем уровне техники на основе этого раздела, если не указано иное.
Краткое описание чертежей
Вариант осуществления настоящего изобретения проиллюстрирован в качестве примера, а не в качестве ограничения, на прилагаемых чертежах, на которых аналогичные ссылки с номерами упоминаются как аналогичные элементы.
Фиг. 1 иллюстрирует примерный процесс для конвейера доставки видео.
Фиг. 2 иллюстрирует примерный процесс комбинирования последовательных исходных кадров, чтобы выполнять рендеринг целевой частоты кадров при целевом угле затвора согласно варианту осуществления этого изобретения.
Фиг. 3 иллюстрирует примерное представление входной последовательности с переменной входной частотой кадров и переменным углом затвора в контейнере с фиксированной частотой кадров согласно варианту осуществления этого изобретения.
- 1 044734
Фиг. 4 иллюстрирует примерное представление для временной масштабируемости при различных частотах кадров и углах затвора с обратной совместимостью согласно варианту осуществления этого изобретения.
Подробное описание примерных вариантов осуществления
Описываются примерные варианты осуществления, которые относятся к масштабируемости по частоте кадров для кодирования видео. В нижеприведенном описании для целей пояснения многие конкретные подробности излагаются для того, чтобы обеспечивать полное понимание различных вариантов осуществления настоящего изобретения. Тем не менее должно быть очевидным, что различные варианты осуществления настоящего изобретения могут осуществляться на практике без этих конкретных подробностей. В других случаях известные структуры и устройства не описываются исчерпывающе подробно, чтобы не допускать излишней неопределенности, затруднения понимания или усложнения вариантов осуществления настоящего изобретения.
Сущность изобретения
Примерные варианты осуществления, описанные в изобретении, относятся к масштабируемости по частоте кадров при кодировании видео. В варианте осуществления система с процессором принимает кодированный поток битов, содержащий кодированные видеокадры, при этом один или более кодированных кадров кодируются на первой частоте кадров и при первом угле затвора. Процессор принимает первый флаг, указывающий присутствие группы кодированных кадров, которые должны декодироваться на второй частоте кадров и при втором угле затвора, он осуществляет доступ из кодированного потока битов к значениям второй частоты кадров и второго угла затвора для группы кодированных кадров и формирует декодированные кадры на второй частоте кадров и при втором угле затвора на основе группы кодированных кадров, первой частоты кадров, первого угла затвора, второй частоты кадров и второго угла затвора.
Во втором варианте осуществления декодер с процессором принимает кодированный поток битов, содержащий группы кодированных видеокадров, при этом все кодированные видеокадры в кодированном потоке битов кодируются на первой частоте кадров;
принимает число N комбинированных кадров;
принимает значение для базовой частоты кадров;
осуществляет доступ к группе из N последовательных кодированных кадров, при этом i-й кодированный кадр в группе из N последовательных кодированных кадров, где i=1, 2, ..., N, представляет среднее вплоть до i входных видеокадров, кодированных в кодере на базовой частоте кадров и при i-м угле затвора, на основе первого угла затвора и первой частоты кадров;
осуществляет доступ из кодированного потока битов или из пользовательского ввода к значениям второй частоты кадров и второго угла затвора для декодирования группы из N последовательных кодированных кадров на второй частоте кадров и при втором угле затвора; и формирует декодированные кадры на второй частоте кадров и при втором угле затвора на основе группы из N последовательных кодированных кадров, первой частоты кадров, первого угла затвора, второй частоты кадров и второго угла затвора.
В третьем варианте осуществления структура кодированного видеопотока содержит секцию кодированных изображений, включающую в себя кодирование последовательности видеоизображений; и секцию сигнализации, включающую в себя кодирование следующего:
параметр на основе временной шкалы касательно интервала срабатывания затвора, указывающий число единиц времени, проходящих за одну секунду;
параметр на основе тактов синхросигнала касательно интервала срабатывания затвора, указывающий число единиц времени синхросигнала, работающего на частоте параметра на основе временной шкалы касательно интервала срабатывания затвора, при этом параметр на основе тактов синхросигнала касательно интервала срабатывания затвора, деленный на параметр на основе временной шкалы касательно интервала срабатывания затвора, указывает значение длительности экспозиции;
флаг длительности интервала срабатывания затвора, указывающий, является или нет информация длительности экспозиции фиксированной для всех временных подслоев в секции кодированных изображений, и если флаг длительности интервала срабатывания затвора указывает, что информация длительности экспозиции является фиксированной, то декодированная версия последовательности видеоизображений для всех временных подслоев в секции кодированных изображений декодируется посредством вычисления значения длительности экспозиции на основе параметра на основе временной шкалы касательно интервала срабатывания затвора и параметра на основе тактов синхросигнала касательно интервала срабатывания затвора, иначе секция сигнализации включает в себя один или более массивов параметров подслоя, при этом значения в одном или более массивов параметров подслоя, комбинированные с параметром на основе временной шкалы касательно интервала срабатывания затвора, используются для того, чтобы вычислять для каждого подслоя соответствующее значение длительности экспозиции в подслое для отображения
- 2 044734 декодированной версии временного подслоя последовательности видеоизображений.
Примерный конвейер обработки доставки видео.
Фиг. 1 иллюстрирует примерный процесс традиционного конвейера (100) доставки видео, показывающий различные стадии от видеозахвата до отображения видеоконтента. Последовательность видеокадров (102) захватывается или формируется с использованием блока (105) формирования изображений. Видеокадры (102) могут захватываться в цифровой форме (например, посредством цифровой камеры) или формироваться посредством компьютера (например, с использованием компьютерной анимации), чтобы предоставлять видеоданные (107). Альтернативно видеокадры (102) могут захватываться на пленке посредством пленочной камеры. Пленка преобразуется в цифровой формат, чтобы предоставлять видеоданные (107). В производственной фазе (110), видеоданные (107) редактируются, чтобы предоставлять производственный видеопоток (112).
Видеоданные производственного потока (112) затем предоставляются в процессор в блоке (115) для компоновочного видеомонтажа. Компоновочный видеомонтаж в блоке (115) может включать в себя регулирование или модификацию цветов или яркости в конкретных областях изображения, чтобы повышать качество изображений или достигать конкретного внешнего вида для изображения в соответствии с творческим намерением создателя видео. Это иногда называется цветовой синхронизацией или цветокоррекцией. Другое редактирование (например, выбор и упорядочение сцен, обрезка изображения, добавление машиногенерируемых визуальных спецэффектов, управление дрожанием или размытостью, управление частотой кадров и т.д.) может выполняться в блоке (115), чтобы давать в результате окончательную версию (117) производства для распространения. В ходе компоновки (115) видео видеоизображения просматриваются на опорном дисплее (125). После компоновки (115) видео, видеоданные конечного производства (117) могут доставляться в блок (120) кодирования для доставки в нисходящем направлении в устройства декодирования и воспроизведения, такие как телевизионные приемники, абонентские приставки, кинотеатры и т.п. В некоторых вариантах осуществления блок (120) кодирования может включать в себя аудио- и видеокодеры, такие как аудио- и видеокодеры, заданные посредством ATSC, DVB, DVD, Blu-Ray и других форматов доставки, чтобы формировать кодированный поток (122) битов. В приемном устройстве кодированный поток (122) битов декодируется посредством модуля (130) декодирования, чтобы формировать декодированный сигнал (132), представляющий идентичную или хорошую аппроксимацию сигнала (117). Приемное устройство может присоединяться к целевому дисплею (140), который может иметь совершенно другие характеристики по сравнению с опорным дисплеем (125). В этом случае блок (135) управления отображением может использоваться для того, чтобы привязывать динамический диапазон декодированного сигнала (132) к характеристикам целевого дисплея (140) посредством формирования сигнала, привязанного к дисплею (137).
Масштабируемое кодирование.
Масштабируемое кодирование уже составляет часть ряда числа стандартов кодирования видео, таких как MPEG-2, AVC и HEVC. В вариантах осуществления этого изобретения масштабируемое кодирование расширяется, чтобы повышать производительность и гибкость, в частности, поскольку оно относится к HDR-контенту очень высокого разрешения.
При использовании в изобретении термин угол затвора обозначает регулируемую настройку затвора, которая управляет пропорцией времени, когда пленка экспонируется на свету в течение каждого кадрового интервала. Например, в варианте осуществления угол затвора время экспозиции о кадровый интервал
Термин происходит из унаследованных механических вращающихся затворов; тем не менее современные цифровые камеры также могут регулировать свой затвор электронно. Кинематографисты могут использовать угол затвора для того, чтобы управлять величиной размытости или дрожания при движении, которая записывается в каждом кадре. Следует отметить, что вместо использования времени экспозиции можно также использовать альтернативные термины, такие как длительность экспозиции, интервал срабатывания затвора и скорость срабатывания затвора. Аналогично вместо использования кадрового интервала можно использовать термин длительность кадра. Альтернативно можно заменять кадровый интервал на 1/частота кадров. Значение времени экспозиции типично меньше или равно длительности кадра. Например, угол затвора в 180° указывает то, что время экспозиции составляет половину длительности кадра. В некоторых ситуациях время экспозиции может превышать длительность кадра кодированного видео, например, когда частота кодированных кадров составляет 120 кадров/с и частота кадров ассоциированного видеоконтента до кодирования и отображения составляет 60 кадров/с.
Рассмотрим без ограничения вариант осуществления, в котором исходный контент снимается (или формируется) на исходной частоте кадров (например, 120 кадров/с) с углом затвора в 360°. После этого в приемном устройстве можно выполнять рендеринг видеовывода на множестве частот кадров, равных или ниже исходной частоты кадров, посредством обоснованной комбинации исходных кадров, например, посредством усреднения или других известных в данной области техники операций.
Процесс комбинирования может выполняться с нелинейными кодированными сигналами (напри
- 3 044734 мер, с использованием гаммы, PQ или HLG), но наилучшее качество изображений получается посредством комбинирования кадров в область линейного света сначала, преобразования нелинейных кодированных сигналов в представления с помощью линейного света после этого, комбинирования преобразованных кадров и в завершение повторного кодирования вывода с нелинейной передаточной функцией. Этот процесс предоставляет более точное моделирование физической экспозиции камеры, чем комбинирование в нелинейной области.
В общих чертах процесс комбинирования кадров может быть выражаться с точки зрения исходной частоты кадров, целевой частоты кадров, целевого угла затвора и числа кадров, которые должны комбинироваться, следующим образом:
n_frames=(target_shutter_angle/360)*(original_frame_rate/target_frame_rate) (2) что является эквивалентным следующему:
target_shutter_angle=360*n_frames*(target_frame_rate/original_frame_rate) (3) где n_frames является числом комбинированных кадров, original_frame_rate является частотой кадров исходного контента, target_frame_rate является частотой кадров, которые должны подготавливаться посредством рендеринга (где target_frame_rate<original_frame_rate), и target_shutter_angle указывает величину требуемой размытости при движении.
В этом примере максимальное значение target_shutter_angle составляет 360° и соответствует максимальной размытости при движении. Минимальное значение target_shutter_angle может выражаться как 360*(target_frame_rate/original_frame_rate) и соответствует минимальной размытости при движении. Максимальное значение n_frames может выражаться как (original_frame_rate/target_frame_rate). Значения target_frame_rate и target_shutter_angle должны выбираться таким образом, что значение n_frames является ненулевым целым числом.
В частном случае, в котором исходная частота кадров составляет 120 кадров/с, уравнение (2) может перезаписываться следующим образом:
n_frames=target_shutter_angl е/(3 *target_frame_rate) (4) что является эквивалентным следующему: target_shutter_angle=3 *n_frames*target_frame_rate (5)
Взаимосвязи между значениями target_frame_rate, n_frames и target_shutter_angle показаны в табл. 1 для случая original_frame_rate=120 кадров/с. В табл. 1 NA указывает, что соответствующая комбинация целевой частоты кадров и числа комбинированных кадров не разрешается.
Таблица 1
Взаимосвязь целевой частоты кадров, числа комбинированных кадров и целевого угла затвора для исходной частоты кадров в 120 кадров/с
Целевая Число комбинированных кадров
частота 5 4 3 2 1
кадров (кадр/с) Целевой угол затвора (градусы)
24 360 288 216 144 72
30 NA 360 270 180 90
40 NA NA 360 240 120
60 NA NA NA 360 180
Фиг. 2 иллюстрирует примерный процесс комбинирования последовательных исходных кадров, чтобы выполнять рендеринг целевой частоты кадров при целевом угле затвора согласно варианту осуществления. С учетом входной последовательности (205) при 120 кадров/с и при угле затвора в 360° процесс формирует выходную видеопоследовательность (210) при 24 кадрах/с и при угле затвора в 216° посредством комбинирования трех входных кадров в наборе из пяти последовательных кадров (например, первых трех последовательных кадров) и отбрасывания двух других. Следует отметить, что в некоторых вариантах осуществления выходной кадр 01 (210) может формироваться посредством комбинирования альтернативных входных кадров (205), таких как кадры 1, 3 и 5 или кадры 2, 4 и 5 и т.п.; тем не менее предполагается, что комбинирование последовательных кадров должно давать в результате видеовывод лучшего качества.
Желательно поддерживать исходный контент с переменной частотой кадров, например, с тем чтобы управлять художественным и стилистическим эффектом. Также желательно, если переменная входная частота кадров исходного контента пакетируется в контейнере, который имеет фиксированную частоту кадров, чтобы упрощать производство, обмен и распространение контента. В качестве примера представляются три варианта осуществления в отношении того, как представлять видеоданные с переменной частотой кадров в контейнере для фиксированной частоты кадров. Для целей ясности и без ограничения нижеприведенные описания используют контейнер для фиксированных 120 кадров/с, но подходы могут
- 4 044734 легко расширяться на контейнер для альтернативной частоты кадров.
Первый вариант осуществления (переменная частота кадров)
Первый вариант осуществления представляет собой явное описание переменной (непостоянной) частоты кадров исходного контента, пакетированного в контейнере, имеющем постоянную частоту кадров. Например, исходный контент, который имеет различную скорость кадров, скажем, в 24, 30, 40, 60 или 120 кадров/с, для различных сцен, может пакетироваться в контейнере, имеющем постоянную частоту кадров в 120 кадров/с. Согласно этому примеру каждый входной кадр может дублироваться 5, 4, 3, 2 или 1 раз, чтобы пакетировать его в общий контейнер для 120 кадров/с.
Фиг. 3 иллюстрирует пример входной видеопоследовательности А с переменной частотой кадров и переменным углом затвора, которая представляется в кодированном потоке В битов с фиксированной частотой кадров. Затем в декодере декодер восстанавливает выходную видеопоследовательность С на требуемой частоте кадров и при требуемом угле затвора, которые могут изменяться в зависимости от сцены. Например, как проиллюстрировано на фиг. 3, чтобы конструировать последовательность В, некоторые входные кадры дублируются, некоторые кодируются как есть (без дублирования), а некоторые копируются четыре раза. Затем, чтобы конструировать последовательность С, любой кадр из каждого набора дублированных кадров выбирается, чтобы формировать выходные кадры, совпадающие с исходной частотой кадров и углом затвора.
В этом варианте осуществления метаданные вставляются в поток битов для того, чтобы указывать исходную (базовую) частоту кадров и угол затвора. Метаданные могут передаваться с использованием высокоуровневого синтаксиса, такого как набор параметров последовательности (SPS), набор параметров изображения (PPS), заголовок серии последовательных макроблоков или группы мозаичных фрагментов и т.п. Присутствие метаданных обеспечивает возможность кодерам и декодерам выполнять полезные функции, к примеру
а) кодер может игнорировать дублированные кадры, за счет этого увеличивая скорость кодирования и упрощая обработку; например, все единицы дерева кодирования (CTU) в дублированных кадрах могут кодироваться с использованием режима пропуска и опорного индекса 0 в списке 0 опорных кадров, который ссылается на декодированный кадр, из которого копируются дублированные кадры;
b) декодер может обходить декодирование дублированных кадров, за счет этого упрощая обработку; например, метаданные в потоке битов могут указывать, что кадр представляет собой копию ранее декодированного кадра, который декодер может воспроизводить посредством копирования и без декодирования нового кадра;
c) устройство воспроизведения может оптимизировать нисходящую обработку посредством указания базовой частоты кадров, например посредством регулирования алгоритмов преобразования частоты кадров или уменьшения уровня шума.
Этот вариант осуществления обеспечивает возможность конечному пользователю просматривать подготовленный посредством рендеринга контент на частотах кадров, намеченных создателями контента. Этот вариант осуществления не предоставляет обратную совместимость с устройствами, которые не поддерживают частоту кадров контейнера, например 120 кадров/с.
Табл. 2 и 3 иллюстрируют примерный синтаксис первичной байтовой последовательности данных (RBSB) для набора параметров последовательности и заголовка группы мозаичных фрагментов, в котором предложенные новые синтаксические элементы проиллюстрированы выделенным шрифтом. Оставшийся синтаксис соответствует синтаксису в предложенной спецификации универсального видеокодека (VVC) (ссылочный материал [2]).
В качестве примера в SPS (см. табл. 2) можно добавлять флаг для того, чтобы обеспечивать переменную частоту кадров.
sps_vfr_enabled_flag, равный 1, указывает, что кодированная видеопоследовательность (CVS) может содержать контент с переменной частотой кадров; sps_vfr_enabled_flag, равный 0, указывает, что CVS содержит контент с фиксированной частотой кадров.
В tile_group_header() (см. табл. 3) ti le_group_vrf_info_present_flag, равный 1, указывает, что синтаксические элементы tile_group_true_fr и tile_group_shutter_angle присутствуют в синтаксисе;
ti le_group_vrf_info_present_flag, равный 0, указывает, что синтаксические элементы tile_group_true_fr и tile_group_shutter_angle не присутствуют в синтаксисе.
Когда tile_group_vrf_info_present_flag не присутствует, он логически выводится равным 0.
tile_group_true_fr указывает истинную частоту кадров видеоданных, переносимых в этом потоке битов.
tile_group_shutter_angle указывает угол затвора, соответствующий истинной частоте кадров видеоданных, переносимых в этом потоке битов.
tile_group_skip_flag, равный 1, указывает, что текущая группа мозаичных фрагментов копируется из другой группы мозаичных фрагментов; tile_group_skip_flag, равный 0, указывает, что текущая группа мозаичных фрагментов не копируется из другой группы мозаичных фрагментов.
tile_group_copy_pic_order_cnt_lsb указывает номер в последовательности изображений по модулю
- 5 044734
MaxPicOrderCntLsb для ранее декодированного изображения, которое текущее изображение копирует от момента, когда tile_group_skip_flag задается равным 1.
Таблица 2
Примерный RBSP-синтаксис набора параметров для контента с переменной частотой кадров
seq_parameter_set_rbsp() { Дескриптор
spsmaxsublayersminus 1 u(3)
sps_reserved_zero_5bits u(5)
profile_tier_level(sps_max_sub_layers_minus 1)
sps_seq_parameter_set_id ue(v)
sp svfrenabl ed_fl ag u(l)
sp sexten si onfl ag u(l)
if(sps_extension_flag)
while(more_rbsp_data())
sp sextensi ondatafl ag u(l)
rbsp_trailing_bits()
}
Таблица 3
Пример синтаксиса заголовков групп мозаичных фрагментов с поддержкой контента с переменной частотой кадров
tile_group_header() { Дескриптор
ti 1 e_group_pi c_p aram eters et_i d ue(v)
if(NumTilesInPic>l) {
tilegroupaddress u(v)
numtilesintilegroupminus 1 } tilegrouptype til e group_pi cordercntl sb if(sps_vfr_enabled_flag) { tile_group_vfr_info_present_flag if(tile_group_vfr_info_present_flag) { tilegrouptruefr ti 1 egroupshutt er angl e ue(v) ue(v) u(v) u(l) u(9) u(9)
}
tilegroupskipflag u(l)
}
if(tile_group_skip_flag)
tilegroupcopy pi c order cnt l sb u(v)
else{
ALL OTHER TILEGROUPSYNTAX
}
if(num_ti 1 es_in_ti 1 e group mi nus 1 >0) {
offsetlenminus 1 ue(v)
for(i=0; i<num_tiles_in_tile_group_minusl; i++)
entry_point_offset_minusl [i] u(v)
}
- 6 044734
byte_alignment()
}
Второй вариант осуществления: контейнер для фиксированной частоты кадров.
Второй вариант осуществления предоставляет вариант использования, в котором рендеринг исходного контента, имеющего фиксированную частоту кадров и угол затвора, может выполняться посредством декодера на альтернативной частоте кадров и при переменном моделированном угле затвора, к примеру, как проиллюстрировано на фиг. 2. Например, в случае если исходный контент имеет частоту кадров в 120 кадров/с и угол затвора в 360° (что означает, что затвор является открытым в течение 1/120 с), декодер может выполнять рендеринг нескольких частот кадров, которые меньше или равны 120 кадрам/с. Например, как описано в табл. 1, чтобы декодировать 24 кадра/с с моделированным углом затвора в 216°, декодер может комбинировать три декодированных кадра и отображать при 24 кадрах/с. Табл. 4 подробно основывается на табл. 1 и иллюстрирует, как комбинировать различные числа кодированных кадров, чтобы выполнять рендеринг на выходных целевых частотах кадров и при требуемых целевых углах затвора. Комбинирование кадров может выполняться посредством простого усреднения пикселов, посредством взвешенного усреднения пикселов, при котором пикселам из определенного кадра могут присваиваться большие весовые коэффициенты, чем пикселам других кадров, и сумма всех весовых коэффициентов суммируется как единица, либо посредством других схем интерполяции с фильтрацией, известных в данной области техники. В табл. 4 функция Се(a, b) обозначает комбинацию кодированных кадров a-b, при этом комбинирование может выполняться посредством усреднения, усреднения со взвешиванием, фильтрации и т.п.
Таблица 4
Пример комбинирования входных кадров при 120 кадров/с для того, чтобы формировать выходные кадры при целевых значениях в кадрах/с и угла затвора
Вход. si s2 s3 s4 s5 s6 s7 s8 s9 S10
Кодир el е2 еЗ е4 е5 еб е7 е8 е9 еЮ
Декод ир. 120 кадро в/с
@360 el е2 еЗ е4 е5 еб е7 е8 е9 еЮ
Декод ир. 60 кадро в/с
@360 Се(1,2) Се(3,4) Се(5,6) Се(7,8) Се(9,10)
@180 el еЗ е5 е7 е9
Декод ир. 40 кадро в/с
@360 Се(1,3) Се(4,6) Се(7,9) Се(10,12)
@240 Се(1,2) Се(4,5) Се(7,8) Се(10,11)
@120 el е4 е7 еЮ
- 7 044734
Декод ир. 30 кадро в/с
@360 Се(1,4) Се(5,8) Се(9,12)
@270 С(1,3) Се(5,7) Се(9,11)
@180 Се(1,2) Се(5,6) Се(9,10)
@90 el е5 е9
Декод ир. 24 кадра/ с
@360 Се(1,5) Се(6,10)
@288 Се(1,4) Се(6,9)
@216 Се(1,3) Се(6,8)
@144 Се(1,2) Се(6,7)
@72 el еб
Когда значение целевого угла затвора меньше 360°, декодер может комбинировать различные наборы декодированных кадров. Например, из табл. 1 с учетом исходного потока в 120 кадров/с @360°, чтобы формировать поток при 40 кадрах/с и при угле затвора в 240°, декодер должен комбинировать два кадра из трех возможных кадров. Таким образом, он может комбинировать либо первый и второй кадры, либо второй и третий кадры. Выбор того, какие кадры следует комбинировать, может описываться с точки зрения фазы декодирования, выражаемой следующим образом:
decode_phase=decode_phase_idx*(360/n_frames) (6) где decode_phase_idx указывает индекс смещения в наборе последовательных кадров, имеющих значения индекса в [0, n_frames_max-1], где n_frames задается посредством уравнения (2), и n frame s_m ax=orig_fram e rate/target fram e rate (7)
В общем decode_phase_idx варьируется в пределах [0, n_frames_max-n_frames]. Например, для исходной последовательности при 120 кадров/с и угле затвора в 360°, для целевой частоты кадров в 40 кадров/с при угле затвора в 240° n_frames_max=120/40=3. Из уравнения (2) n_frames=2 в силу чего decode_phase_idx варьируется в пределах [0, 1]. Таким образом, decode_phase_idx=0 указывает выбор кадров с индексом 0 и 1 и decode_phase_idx=1 указывает выбор кадров с индексом 1 и 2.
В этом варианте осуществления подготовленная посредством рендеринга переменная частота кадров, намеченная создателем контента, может сигнализироваться в качестве метаданных, таких как сообщение с дополнительной улучшающей информацией (SEI), либо в качестве информации применимости видео (VUI). В необязательном порядке подготовленная посредством рендеринга частота кадров может управляться посредством приемного устройства либо пользователем. Пример обмена SEI-сообщениями для преобразования частоты кадров, который указывает предпочтительную частоту кадров и угол затвора создателя контента, показывается в табл. 5. SEI-сообщение также может указывать то, выполняется либо нет комбинирование кадров в кодированной сигнальной области (например, гамма, PQ и т.д.) или в области линейного света. Следует отметить, что постобработка требует буфера кадров в дополнение к буферу изображений декодера (DPB). SEI-сообщение может указывать, сколько дополнительных буферов кадров требуется либо некоторый альтернативный способ для комбинирования кадров. Например, чтобы уменьшать сложность, кадры могут рекомбинироваться при уменьшенном пространственном разрешении.
Как проиллюстрировано в табл. 4 в определенных комбинациях частот кадров и углов затвора (например, при 30 кадров/с и 360° или при 24 кадрах/с и 288 или 360°) декодер, возможно, должен комбинировать более трех декодированных кадров, что увеличивает объем пространства буфера, требуемый посредством декодера. Чтобы уменьшать нагрузку в виде дополнительного пространства буфера в декодере, в некоторых вариантах осуществления определенные комбинации частот кадров и углов затвора могут быть запрещены для набора разрешенных параметров декодирования (например, посредством задания соответствующих профилей и уровней кодирования).
Если снова рассматривать в качестве примера случай воспроизведения при 24 кадрах/с, декодер
- 8 044734 может определять необходимость отображать идентичный кадр пять раз, так что он отображается на выходной частоте кадров в 120 кадров/с. Это является точно идентичным показу кадра один раз на выходной частоте кадров в 24 кадра/с. Преимущество поддержания постоянной выходной частоты кадров состоит в том, что отображение может выполняться на постоянной тактовой частоте, что гораздо упрощает все аппаратные средства. Если дисплей может динамически варьировать тактовую частоту, то может иметь больше смысла показывать кадр только однократно (в течение 1/24-й секунды) вместо повторения идентичного кадра пять раз (каждую 1/120-ю секунды). Первый подход может приводить к немного более высокому качеству изображений, к лучшей оптической эффективности или к лучшей эффективности по мощности. Аналогичные соображения также являются применимыми к другим частотам кадров.
Табл. 5 иллюстрирует пример синтаксиса обмена SEI-сообщениями для преобразования частоты кадров согласно варианту осуществления.
Таблица 5
Пример синтаксиса SEI-сообщений для обеспечения преобразования частоты кадров
framerateconversion(payloadSize) { Дескриптор
framerate_conversion_cancel flag u(l)
if(!frame conversion cancel flag) {
baseframerate u(9)
baseshutterangle u(9)
decode _phase_idx_present_flag u(l)
if(decode_phase_idx_present_flag) {
decode_phase_idx u(3)
1
conversiondomainidc u(l)
numframebuffer u(3)
framerate_conversion_persistence_flag u(l)
1
1
frame_rate_conversion_cancel_flag, равный 1, указывает, что SEI-сообщение отменяет сохраняемость любого предыдущего SEI-сообщения для преобразования частоты кадров в порядке вывода; frame_rate_conversion_cancel_flag, равный 0, указывает, что следует информация преобразования частоты кадров.
base_frame_rate указывает требуемую частоту кадров.
base_shutter_angle указывает требуемый угол затвора.
decode_phase_idx_present_flag, равный 1, указывает, что информация фазы декодирования присутствует; decode_phase_idx_present_flag, равный 0, указывает, что информация фазы декодирования не присутствует.
decode_phase_idx указывает индекс смещения в наборе последовательных кадров, имеющих значения индекса 0, ..., (n_frames_max-l), где n_frames_max=120/base_frame_rate. Значение decode_phase_idx должно составлять в диапазоне 0, ..., (n_frames_max-n_frames), где n_frames=base_shutter_angle/(3*base_frame_rate). Когда decode_phase_idx не присутствует, он логически выводится равным 0.
conversion_domain_idc, равный 0, указывает, что комбинирование кадров выполняется в линейной области; conversion_domain_idc, равный 1, указывает, что комбинирование кадров выполняется в нелинейной области.
num_frame_buffers указывает дополнительное число буферов кадров (без подсчета DPB).
frame_rate_conversion_persistence_flag указывает сохраняемость SEI-сообщения для преобразования частоты кадров для текущего слоя; frame_rate_conversion_persistence_flag, равный 0, указывает, что SEIсообщение для преобразования частоты кадров применяется к текущему декодированному изображению только. Пусть picA представляет собой текущее изображение; frame_rate_conversion_persistence_flag, равный 1, указывает, что SEI-сообщение для преобразования частоты кадров сохраняется для текущего слоя в порядке вывода до тех пор, пока одно или более из следующих условий не являются истинными:
новая кодированная послойная видеопоследовательность (CLVS) текущего слоя начинается;
поток битов завершается;
изображение picB в текущем слое в единице доступа, содержащей SEI-сообщение для преобразования частоты кадров, которое является применимым к текущему слою, выводится, для которого PicOrderCnt(picB) превышает PicOrderCnt(picA), где PicOrderCnt(picB) и PicOrderCnt(picA) являются значениями PicOrderCntVal для picB и picA, соответственно, сразу после активации процесса декодирования для номера в последовательности изображений для picB.
-9044734
Третий вариант осуществления: ввод, кодированный при нескольких углах затвора.
Третий вариант осуществления представляет собой схему кодирования, которая обеспечивает возможность извлечения частот субкадров из потока битов, за счет этого поддерживая обратную совместимость. В HEVC, это достигается посредством временной масштабируемости. Масштабируемость во временном слое обеспечивается посредством назначения различных значений синтаксическому элементу temporal_id для декодированных кадров. Поток битов в силу этого может извлекаться просто на основе значений temporal_id. Тем не менее HEVC-подход ко временной масштабируемости не обеспечивает рендеринг выходных частот кадров с различными углами затвора. Например, базовая частота кадров в 60 кадров/с, извлеченная из оригинала в 120 кадров/с, всегда должна иметь угол затвора в 180°.
В ATSC 3.0, описывается альтернативный способ, в котором кадры при 60 кадров/с, имеющие углы затвора в 360°, эмулируются в качестве среднего взвешенного двух кадров при 120 кадров/с. Эмулированным кадрам при 60 кадров/с назначается значение temporal_id 0, и оно комбинируется с назначаемым значением temporal_id переменных исходных кадров при 120 кадров/с 1. Когда 60 кадров/с требуются, декодер должен декодировать только кадры с temporal_id 0. Когда 120 кадров/с требуются, декодер может вычитать каждый кадр с temporal_id=1 (т.е. кадр при 120 кадров/с) из масштабированной версии каждого соответствующего кадра с temporal_id=0 (т.е. эмулированного кадра при 60 кадров/с), чтобы восстанавливать соответствующий исходный кадр при 120 кадров/с, который не передан явно, за счет этого воссоздавая все исходные кадры при 120 кадров/с.
В вариантах осуществления этого изобретения, описывается новый алгоритм, который поддерживает несколько целевых частот кадров и целевых углов затвора таким способом, который является обратно совместимым (ВС). Предложение состоит в том, чтобы предварительно обрабатывать исходный контент при 120 кадров/с на базовой частоте кадров при нескольких углах затвора. Затем в декодере другие частоты кадров при различных других углах затвора могут просто извлекаться. ATSC 3.0-подход может рассматриваться в качестве частного случая предложенной схемы, в котором кадры с temporal_id=0 переносят кадры при 60fps@ угле затвора в 360 и кадры с temporal_id=1 переносят кадры при 60fps@ угле затвора в 180.
В качестве первого примера, как проиллюстрировано на фиг. 4, рассмотрим входную последовательность при 120 кадров/с и при угле затвора в 360, которая используется для того, чтобы кодировать последовательность с помощью частоты кадров базового слоя в 40 кадров/с и углов затвора в 120, 240 и 360°. В этой схеме кодер вычисляет новые кадры посредством комбинирования вплоть трех исходных входных кадров. Например, кодированный кадр 2 (En-2), представляющий ввод при 40 кадрах/с и 240°, формируется посредством комбинирования входных кадров 1 и 2, и кодированный кадр 3 (En-3), представляющий ввод при 40 кадрах/с и 360°, формируется посредством комбинирования кадра En-2 со входным кадром 3. В декодере, чтобы восстанавливать входную последовательность, декодированный кадр 2 (Dec-2) формируется посредством вычитания кадра En-1 из кадра En-2, и декодированный кадр 3 (Dec-3) формируется посредством вычитания кадра En-2 из кадра En-3. Три декодированных кадра представляют вывод на базовой частоте кадров в 120 кадров/с и при угле затвора в 360°. Дополнительные частоты кадров и углы затвора могут быть экстраполированы с использованием декодированных кадров, как проиллюстрировано в табл. 6. В табл. 6, функция Cs(a, b) обозначает комбинацию входных кадров а-b, при этом комбинирование может выполняться посредством усреднения, усреднения со взвешиванием, фильтрации и т.п.
Таблица 6
Пример комбинирования кадров с базовой линией в 40 кадров/с
Входные кадры 120 кадров/с @360 si s2 s3 s4 s5 s6 s7 s8 s9
Кодирова иные кадры 120 кадров/с el= -si e2= Cs(l,2) e3= Cs(l,3) e4=s4 e5= Cs(4,5) e6= Cs(4,6) e7=s7 e8= Cs(7,8) e9 = Cs(7,9)
- 10 044734
Декодир ованн. 120 кадров/с
@360 е1= -si e2-el= -s2 e3-e2= s3 e4=s4
Декодир
ованн. 60 кадров/с
@360 е2 e3-e2+e4 =Cs(3,4)
@180 el e3-e2=s3
Декодир ованн. 40 кадров/с
@360 e3=Cs(l,3) e6
@240 e2=Cs(l,2) e5
@120 el=sl e4
Декодир ованн. 30 кадров/с
@360 e3+e4=Cs(l,4)
@270 e3=Cs(l,3)
@180 e2=Cs(l,2)
@90 el
Декодир ованн. 24 кадра/с
@360 e3+e5=Cs(l,5)
@288 e3+e4=Cs(l,4)
@216 e3=Cs(l,3)
@144 e2=Cs(l,2)
@72 el=sl
e5-e4= s5 e6- e4=s6 e7=s7 e8-e7= s8 e9-e8 =s9
e6-e4=Cs(5,6) e8=Cs(7,8) e9- e8+el0
e5-e4=s5 e7 e9-e8
e9
e8
e7
e6-e4+e8=Cs(5,8) e9- e8+el2
e6-e5+e7=Cs(5,7) e9- e8+ell
e6-e4=Cs(5,6) e9- e8+el0
e5-e4=s5 e9-e8
еб-е5+е9+е 10=Cs(6,10)
e6-e5+e9=Cs(6,9)
e6-e5+e8=Cs(6,8)
e6-e5+e7=Cs(6,7)
e6-e5=s6
Преимущество этого подхода состоит в том, что, как проиллюстрировано в табл. 6, все версии при 40 кадров/с могут декодироваться без дальнейшей обработки. Другое преимущество состоит в том, что другие частоты кадров могут извлекаться при различных углах затвора. Например, рассмотрим декодирование декодера при 30 кадров/с и при угле затвора в 360. Из табл. 4 вывод соответствует последовательности кадров, сформированных посредством Ce(1,4)=Cs(1,4), Cs(5,8), Cs(9,12) и т.п., которая совпадает с последовательностью декодирования, также проиллюстрированной в табл. 6; тем не менее в табл. 6, Cs(5,8)=e6-e4+e8. В варианте осуществления таблицы поиска (LUT) могут использоваться для того, чтобы задавать то, как декодированные кадры должны комбинироваться, чтобы формировать выходную последовательность на указанной выходной частоте кадров и при эмулированном угле затвора.
В другом примере предлагается комбинировать вплоть до пяти кадров в кодере, чтобы упрощать
- 11 044734 извлечение базового слоя при 24 кадрах/с под углами затвора в 72, 144, 216, 288 и 360°, как показано ниже. Это требуется для киноконтента, который лучше всего представляется при 24 кадрах/с на унаследованных телевизионных приемниках.
Таблица 7
Пример комбинирования кадров с базовой линией в 24 кадра/с
Входи ые кадры 120 кадров /с @360 si s2 s3 s4 s5 s6 s7 s8 s9
Кодир. кадры el -si e2=Cs (1,2) e3=Cs(l,3) e4=Cs(l,4) e5=Cs(l,5) e6= s6 e7=Cs (6,7) e8=Cs (6,8) e9=Cs (6,9)
Декод ирован и. 120 кадров /с
@360 el e2-el e3-e2 e4-e3 e5-e4 e6 e7-e6 e8-e7 e9-e8
Декод ирован н. 60 кадров /с
@360 e2 e4-e2 e5-e4+e6 e8-e6 el0-e8
@180 el e3-e2 e5-e4 e7-e6 e9-e8
Декод ирован н. 40 кадров /с
@360 e3 e5-e3+e6 e9-e6
@240 e2 e5-e3 e8-e6
@120 el е4-еЗ e7-e6
- 12 044734
Декод ирован н. 30 кадров /с
@360 е4 е5-е4+е8 е10- е8+е1 2
@270 еЗ е5-е4+е7 е10- е8+е1 1
@180 е2 е5-е4+еб е10-е8
@90 el е5-е4 е9-е8
Декод ирован н. 24 кадра/ с
@360 е5 е10
@288 е4 е9
@216 еЗ е8
@144 е2 е7
@72 el еб
Как проиллюстрировано в табл. 7, если частота кадров декодирования совпадает с базовой частотой кадров (24 кадра/с), то в каждой группе из пяти кадров (например, e1 в е5) декодер может просто выбирать один кадр при требуемом угле затвора (например, е2 для угла затвора в 144°). Чтобы декодировать на другой частоте кадров и при конкретном угле затвора, декодер должен определять, как надлежащим образом комбинировать (скажем, посредством суммирования или вычитания) декодированные кадры. Например, чтобы декодировать при 30 кадров/с и при угле затвора в 180°, могут выполняться следующие этапы:
a) декодер может рассматривать гипотетическую передачу кодера при 120 кадров/с и при 360° без учета для обратной совместимости, после этого, из табл. 1, декодер должен комбинировать 2 из 4 кадров, чтобы формировать выходную последовательность на требуемой частоте кадров и при требуемом угле затвора; например, как проиллюстрировано в табл. 4, последовательность включает в себя Ce(1,2)=Avg(s1,s2), Ce(5,6)=Avg(s5,s6) и т.п., где Avg(s1,s2) может обозначать усреднение кадров s1 и s2;
b) при условии, что по определению кодированные кадры могут выражаться как e1=s1, e2=Avg(s1,s2), e3=Avg(s1,s3) и т.п., можно легко извлекать, что последовательность кадров на этапе а) также может выражаться следующим образом:
Ce(1,2)=Avg(s1,s2)=e2;
Ce(5,6)=Avg(s5,s6)=Avg(s1,s5)-Avg(s1,s4)+s6=e5-e4+e6 и т.д.
Как указано выше, надлежащая комбинация декодированных кадров может предварительно вычисляться и быть доступной в качестве LUT.
Преимущество предложенного способа состоит в том, что он предоставляет возможности как для создателей контента, так и для пользователей; т.е. он обеспечивает режиссерский/редакционный выбор и пользовательский выбор. Например, предварительная обработка контента в кодере предоставляет возможность создания базовой частоты кадров с различными углами затвора. Каждому углу затвора может назначаться значение temporal_id в диапазоне [0, (n_frames-l)], где n_frames имеет значение, равное 120, деленное на базовую частоту кадров. (Например, для базовой частоты кадров в 24 кадра/с, temporal_id находится в диапазоне [0,4].) Выбор может осуществляться таким образом, чтобы оптимизировать эффективность сжатия, либо по эстетическим причинам. В некоторых вариантах использования, скажем, для по потоковой передаче поверх сетей, несколько потоков битов с различными базовыми слоями могут кодироваться и сохраняться и предлагаться пользователям для выбора.
Во втором примере раскрытых способов могут поддерживаться несколько обратно совместимых
- 13 044734 частот кадров. В идеале можно хотеть иметь возможность декодировать при 24 кадрах/с, чтобы получать базовый слой при 24 кадрах/с, при 30 кадрах в секунду, чтобы получать последовательность при 30 кадров/с, при 60 кадрах/с, чтобы получать последовательность при 60 кадров/с, и т.п. Если целевой угол затвора не указывается, рекомендуется целевой угол затвора по умолчанию, из этих углов затвора, допустимых для исходных и целевых частот кадров, максимально близких к 180°. Например, для значений, проиллюстрированных в табл. 7, предпочтительные целевые углы затвора для кадров/с в 120, 60, 40, 30 и 24 составляют 360, 180, 120, 180 и 216°.
Из вышеприведенных примеров можно отметить, что выбор того, как кодировать контент, может оказывать влияние на сложность декодирования конкретных частот кадров базового слоя. Один вариант осуществления этого изобретения заключается в том, чтобы адаптивно выбирать схему кодирования на основе требуемой частоты кадров базового слоя. Для киноконтента она может составлять 24 кадра/с, например, в то время как для спорта она может составлять 60 кадров/с.
Примерный синтаксис для ВС-варианта осуществления настоящего изобретения показывается ниже и в табл. 8 и 9.
В SPS (табл. 8) добавляются два синтаксических элемента: sps_hfr_BC_enabled_flag и sps_base_frame_rate (если sps_hfr_BC_enabled_flag задается равным 1).
sps_hfr_BC_enabled_flag, равный 1, указывает, что высокая частота кадров с обратной совместимостью обеспечивается в кодированной видеопоследовательности (CVS); sps_hfr_BC_enabled_flag, равный 0, указывает, что высокая частота кадров с обратной совместимостью не обеспечивается в CVS.
sps_base_frame_rate указывает базовую частоту кадров для текущей CVS.
В заголовке группы мозаичных фрагментов, если sps_hfr_BC_enabled_flag задается равным 1, синтаксис number_avg_frames отправляется в потоке битов.
number_avg_frames указывает число кадров на наибольшей частоте кадров (например, 120 кадров/с), которые комбинируются, чтобы формировать текущее изображение на базовой частоте кадров.
Примерный RBSP-синтаксис для ввода при различных углах : seq_parameter_set_rbsp() { spsmaxsublayersminus 1 sps_reserved_zero_5bits profile_tier_level(sps_max_sub_layers_minus 1) sps_seq_parameter_set_id sp s_hfr_B Cenabl edfl ag if(sps_hfr_BC_enabled_flag) { spsbaseframerate } Таблица 8 затвора Дескриптор u(3) u(5) ue(v) u(l) u(l) u(9)
sp sexten si onfl ag u(l)
if(sps_extension flag)
while(more_rbsp_data())
sp sextensi ondatafl ag u(l)
rb sptrail i ng_bits()
}
- 14 044734
Таблица 9
Примерный RBSB-синтаксис набора параметров изображения для ввода при различных углах затвора
pic_parameter_set_rbsp() { Дескриптор
pp s _р i с _parameter_set_i d ue(v)
pps_seq_parameter_set_id ue(v)
if(sps_hfr_BC_enabled flag)
numberavgframes
se(v)
rbsp_trailing_bits()
}
Варьирования второго варианта осуществления (фиксированная частота кадров).
HEVC-стандарт кодирования (H-265) (ссылочный материал [1]) и разрабатываемый стандарт универсального кодирования видео (обычно называемый VVC, см. ссылочный материал [2]) задают синтаксический элемент, pic_struct, который указывает, должно либо нет изображение отображаться в качестве кадра или в качестве одного или более полей и должно либо нет повторяться декодированное изображение. Копия табл. D.2 Интерпретация pic_struct из HEVC предоставляется для простоты ссылки в приложении.
Важно отметить, что авторы изобретения должны принимать во внимание, что существующий синтаксический элемент pic_struct может поддерживать только конкретный поднабор частот кадров контента, когда при использовании контейнера для фиксированной частоты кадров в 60 кадров/с, существующий pic_struct синтаксис, когда fixed_pic_rate_within_cvs_flag равен 1, может поддерживать 30 кадров/с посредством использования удвоения кадров и 24 кадра/с посредством использования удвоения кадров и утроения кадров в переменной комбинации для каждого второго кадра. Тем не менее при использовании контейнера для фиксированной частоты кадров в 120 кадров/с текущий синтаксис pic_struct не может поддерживать частоты кадров ни в 24 кадра/с, ни в 30 кадров/с. Чтобы облегчить эту проблему, предлагаются два новых способа: один представляет собой расширение HEVC-версии, а другой нет.
Способ 1: pic_struct без обратной совместимости.
VVC по-прежнему разрабатывается, в силу чего можно проектировать синтаксис с максимальной свободой. В варианте осуществления в pic_struct предлагается удалять варианты для удвоения кадров и утроения кадров, использовать конкретное значение pic_struct для того, чтобы указывать произвольное повторение кадров, и добавлять новый синтаксический элемент, num_frame_repetition_minus2, который указывает число кадров для повторения. Пример предложенного синтаксиса описывается в следующих таблицах, при этом табл. 10 обозначает изменения для табл. D.2.3 в HEVC, и табл. 11 обозначает изменения табл. D.2, показанной в приложении.
Таблица 10
Примерный синтаксис SEI-сообщений по синхронизации изображений, способ 1
pic_timing(payloadSize) { Дескриптор
if(frame_field_info_present flag) {
pic_struct u(4)
if(pic_struct==7) u(4)
num_frame_repetition_minus2 u(4)
sourcescantype u(2)
duplicate flag u(l)
}
.... (аналогично оригиналу)
num_frame_repetition_minus2 плюс 2 указывает, что, когда fixed_pic_rate_within_cvs_flag равен 1, кадр должен отображаться num_frame_repetition_minus2 плюс 2 раз последовательно на дисплеях с интервалом обновления кадров, равным DpbOutputElementalInterval[n], как задано посредством уравнения Е-73.
- 15 044734
Таблица 11
Пример исправленного pic _struct согласно способу 1
Значение Указываемое отображение изображения Ограничения
0 (Построчный) кадр field_seq_flag должен быть равен 0
1 Верхнее поле fieldseqflag должен быть равен 1
2 Нижнее поле fieldseqflag должен быть равен 1
3 Верхнее поле, нижнее поле, в этом порядке field_seq_flag должен быть равен 0
4 Нижнее поле, верхнее поле, в этом порядке field_seq_flag должен быть равен 0
5 Верхнее поле, нижнее поле, повторенное верхнее поле, в этом порядке field_seq_flag должен быть равен 0
6 Нижнее поле, верхнее поле, повторенное нижнее поле, в этом порядке field_seq_flag должен быть равен 0
7 Повторение кадров field_seq_flag должен быть равен 0 fixed_pic_rate_within_cvs_flag должен быть равен 1
8 Верхнее поле, спаренное с предыдущим нижним полем в порядке вывода field seq flag должен быть равен 1
9 Нижнее поле, спаренное с предыдущим верхним полем в порядке вывода field seq flag должен быть равен 1
10 Верхнее поле, спаренное со следующим нижним полем в порядке вывода field seq flag должен быть равен 1
И Нижнее поле, спаренное со следующим верхним полем в порядке вывода field seq flag должен быть равен 1
Способ 2: Расширенная версия HEVC-версии pic_struct.
AVC- и HEVC-декодеры уже развертываются, в силу этого может требоваться просто расширять существующий pic_struct синтаксис без удаления старых вариантов. В варианте осуществления добавляются новый pic_struct=13, значение расширения повторения кадров и новый синтаксический элемент, num_frame_repetition_minus4. Пример предложенного синтаксиса описывается в табл. 12 и 13. Для значений pic_struct 0-12 предложенный синтаксис является идентичным с синтаксисом в табл. D.2 (как показано в приложении), в силу чего эти значения опускаются для простоты.
Таблица 12
Примерный синтаксис SEI-сообщений по синхронизации изображений, способ 2
pictiming(payloadSize) { Дескриптор
if(frame_field_info_present_flag) {
picstruct u(4)
if(pic_stmct==13) u(4)
- 16 044734
num_frame_repetition_minus4 u(4)
source_scan_type u(2)
duplicate flag u(l)
}
... (аналогично оригиналу)
num_frame_repetition_minus4 плюс 4 указывает, что, когда fixed_pic_rate_within_cvs_flag равен 1, кадр должен отображаться num_frame_repetition_minus4 плюс 4 раз последовательно на дисплеях с интервалом обновления кадров, равным DpbOutputElementalInterval[n], как задано посредством уравнения Е-73.
Таблица 13
Пример исправленного pic_struct, способ 2
Значение Указываемое отображение изображения Ограничения
0-12 Аналогично таблице D.2 Аналогично таблице D.2
13 Расширение повторения кадров field_seq_flag должен быть равен 0 fixed_pic_rate_within_cvs_flag должен быть равен 1
В HEVC параметр frame_field_info_present_flag присутствует в информации применимости видео (VUI), но синтаксические элементы pic_struct, source_scan_type и duplicate_flag находятся в SEI-сообщении pic_timing(). В варианте осуществления предлагается перемещать все связанные синтаксические элементы в VUI вместе с frame_field_info_present_flag. Пример предложенного синтаксиса проиллюстрирован в табл. 14.
Таблица 14
Примерный синтаксис VUI-параметров с поддержкой исправленного синтаксического элемента pic_struct
vui_parameters() { Дескриптор
u(l)
fieldseqflag u(l)
frame_field_info_present_flag u(l)
if(frame_field_info_present flag) {
picstruct u(4)
source_scan_type u(2)
duplicateflag u(l)
}
}
Альтернативное сигнализирование информации угла затвора.
При решении проблем, связанных с переменной частотой кадров, желательно идентифицировать как требуемую частоту кадров, так и требуемый угол затвора. В предшествующих стандартах кодирования видео, информация применимости видео (VUI) предоставляет существенную информацию для надлежащего отображения видеоконтента, такую как соотношение сторон, первичные цвета, субдискретизация сигнала цветности и т.д. VUI также может предоставлять информацию частоты кадров, если фиксированная частота изображений задается равной 1; тем не менее отсутствует поддержка информации угла затвора. Варианты осуществления обеспечивают возможность использования различных углов затвора для различных временных слоев, и декодер может использовать информацию угла затвора для того, чтобы улучшать конечный внешний вид на дисплее.
Например, HEVC поддерживает временные подслои, которые по существу используют технологии отбрасывания кадров, чтобы проходить от более высокой частоты кадров к более низкой частотой кадров. Главная проблема с этим состоит в том, что эффективный угол затвора уменьшается с каждым отбрасыванием кадров. В качестве примера, 60 кадров/с могут извлекаться из видео в 120 кадров/с посредством отбрасывания каждого второго кадра; 30 кадров/с могут извлекаться посредством отбрасывания 3 из 4 кадров; и 24 кадра/с могут извлекаться посредством отбрасывания 4 из 5 кадров. При условии полного затвора в 360° для 120 Гц? с простым отбрасыванием кадров, углы затвора для 60 кадров/с, 30 кадров/с и 24 кадров/с равны 180, 90 и 72° соответственно [3]. Опыт показывает, что углы затвора ниже 180° в общем являются недопустимыми, в частности, с частотами кадров ниже 50 Гц. Посредством предос- 17 044734 тавления информации угла затвора, например, если требуется то, что дисплей формирует кинематографический эффект из видео при 120 Гц с уменьшенным углом затвора для каждого временного слоя, интеллектуальные технологии могут применяться для того, чтобы улучшать конечный внешний вид.
В другом примере можно хотеть поддерживать другой временной слой (скажем, субпоток битов в 60 кадров/с внутри потока битов в 120 кадров/с) с идентичным углом затвора. В таком случае главная проблема состоит в том, что, когда видео в 120 кадров/с отображается при 120 Гц, четные/нечетные кадры имеют различный эффективный угол затвора. Если дисплей имеет связанную информацию, интеллектуальные технологии могут применяться для того, чтобы улучшать конечный внешний вид. Пример предложенного синтаксиса показывается в табл. 15, в которой синтаксическая таблица VUI-параметров Е.2.1 в HEVC (ссылочный материал [1]) модифицируется, чтобы поддерживать информацию угла затвора так, как отмечено. Следует отметить, что в другом варианте осуществления вместо выражения синтаксиса shutter_angle в абсолютных градусах он альтернативно может выражаться как отношение частоты кадров к скорости срабатывания затвора (см. уравнение (1)).
Таблица 15
Примерный синтаксис VUI-параметров с поддержкой угла затвора_____
vui_parameters() { Дескриптор
vui_timing_info_present flag u(l)
if(vui_timing_info_present flag) {
vui numunitsintick u(32)
vuitimescale u(32)
vui_poc_proportional_to_timing flag u(l)
if(sps_poc_proportional_to_timing flag)
vui _num_ticks_poc_diff_one_minusl ue(v)
vui_hrd_parameters_present flag u(l)
if(vcl_hrd_parameters_present flag)
hrd_parameters( 1, sps max subj ayersminus 1)
}
vui_shutter_angle_info_present_flag u(l)
if(vui_shutter_angles_info_present flag) {
fixedshutteranglewithincvsflag u(l)
if(fixed_shutter_angle_with_cvs_flag)
fixedshutterangle u(9)
else {
for(i=0; i<=vps_max_sub_layers_minusl; i++) {
subl ay ershutterangl e [i ] u(9)
}
}
}
vui_shutter_angle_info_present_flag, равный 1, указывает, что информация угла затвора присутствует в синтаксической структуре vui_parameters(); vui_shutter_angle_info_present_flag, равный 0, указывает, что информация угла затвора не присутствует в синтаксической структуре vui_parameters().
fixed_shutter_angle_within_cvs_flag, равный 1, указывает, что информация угла затвора является идентичной для всех временных подслоев в CVS; fixed_shutter_angle_within_cvs_flag, равный 0, указывает, что информация угла затвора может не быть идентичной для всех временных подслоев в CVS.
fixed_shutter_angle указывает угол затвора в градусах в CVS. Значение fixed_shutter_angle должно составлять в диапазоне от 0 до 360°.
sub_layer_shutter_angle[i] указывает угол затвора в градусах, когда HighestTid равен i. Значение sub_layer_shutter_angle[i] должно составлять в диапазоне от 0 до 360°.
Постепенное обновление частоты кадров в кодированной видеопоследовательности (CVS).
Эксперименты демонстрируют, что для HDR-контента, отображаемого на HDR-дисплее, чтобы воспринимать идентичное дрожание при движении в качестве воспроизведения в стандартном динами- 18 044734 ческом диапазоне (SDR) на дисплее на 100 нит, частота кадров должна увеличиваться на основе яркости контента. В большинстве стандартов (AVC, HEVC, VVC и т.д.), частота видеокадров может указываться в VUI (содержащейся в SPS) с использованием синтаксических элементов vui_time_scale, vui_num_units_in_tick и elemental_duration_in_tc_minusl [temporal_id_max], например, как показано в нижеприведенной табл. 16 (см. раздел Е.2.1 в ссылочном материале [1]).
Таблица 16
Синтаксические VUI-элементы, которые указывают частоту кад] ров в HEVC
vui_parameters() { Дескриптор
vui_timing_info_present flag u(l)
if(vui_timing_info_present_flag) {
vuinumunitsintick u(32)
vuitimescale u(32)
vui_poc_proportional_to_timing flag u(l)
if(sps_poc_proportional_to_timing flag)
vui_num_ticks_poc_diff_one_minusl ue(v)
vui_hrd_parameters_present flag u(l)
if(vcl_hrd_parameters_present_flag)
hrd_parameters( 1, sps max subj ayersminus 1)
}
Как пояснено в ссылочном материале [1] переменная ClockTick извлекается следующим образом и называется тактом синхросигнала:
ClockTick=vui numunitsintick -г vuitimescale picture_duration=ClockTick*(elemental_duration_in_tc_minusl[i]+l) frame_rate= 1 /pi cdurati on.
Тем не менее частота кадров может изменяться только в конкретные моменты времени, например, в HEVC, только в кадрах на основе внутренней точки произвольного доступа (IRAP) или в начале новой CVS. Для HDR-воспроизведения, когда возникает случай постепенного появления или постепенного исчезновения, поскольку яркость изображения изменяется покадрово, может возникать необходимость изменять частоту кадров или длительность изображения для каждого изображения. Чтобы обеспечивать возможность обновления частоты кадров или длительности изображения в любой момент времени (даже на покадровой основе), в варианте осуществления предлагается новое SEI-сообщение для частоты с постепенным обновлением, как показано в табл. 17.
Таблица 17
Примерный синтаксис для того, чтобы поддерживать частоту кадров с постепенным обновлением при обмене SEI-сообщениями
gradualrefreshrate(payloadSize) { Дескриптор
numunitsintick u(32)
timescale u(32)
}
Определение нового синтаксиса num_units_in_tick является идентичным vui_num_units_in_tick, и определение time_scale является идентичным определению vui_time_scale.
num_units_in_tick является числом единиц времени синхросигнала, работающего на частоте time_scale Гц, которая соответствует одному приращению (называемому тактом синхросигнала) счетчика тактов синхросигнала; num_units_in_tick должен превышать 0. Такт синхросигнала в единицах секунд равен частному num_units_in_tick, деленному на time_scale. Например, когда частота изображений видеосигнала составляет 25 Гц, time_scale может быть равен 27000000, и num_units_in_tick может быть равен 1080000, и в силу этого такт синхросигнала может быть равен 0,04 с.
time_scale является числом единиц времени, которые проходят за 1 с. Например, система временных координат, которая измеряет время с использованием синхросигнала в 27 МГц, имеет time_scale в 27000000. Значение time_scale должно превышать 0.
Временная длительность изображения для изображения, которое использует SEI-сообщение gradual_refresh_rate, задается следующим образом:
picture_duration=num_units_in_tick+time_scale
- 19044734
Сигнализирование информации угла затвора через обмен SEI-сообщениями.
Как пояснено выше, табл. 15 предоставляет пример синтаксиса VUI-параметров с поддержкой угла затвора. В качестве примера и без ограничения табл. 18 перечисляет идентичные синтаксические элементы, но теперь в качестве части SEI-сообщения для информации угла затвора. Следует отметить, что обмен SEI-сообщениями используется только в качестве примера и аналогичный обмен сообщениями может конструироваться в других слоях высокоуровневого синтаксиса, таких как набор параметров последовательности (SPS), набор параметров изображения (PPS), заголовок серии последовательных макроблоков или группы мозаичных фрагментов и т.п.
Таблица 18
Примерный синтаксис SEI-сообщений для информации угла затвора
shutterangleinformation(payloadSize) { Дескриптор
fixed shutter angle within cvs flag u(l)
if(fixed_shutter_angle_within_cvs_flag)
fixedshutterangle u(9)
else {
for(i=0; i<=sps_max_sub_layers_minusl; i++)
subl ay ershutterangl e [i ] u(9)
}
}
Угол затвора типично выражается в градусах от 0 до 360°. Например, угол затвора в 180° указывает, что длительность экспозиции составляет 1/2 от длительности кадра. Угол затвора может выражаться следующим образом: shutter_angle=frame_rate*360*shutter_speed, где shutterspeed является длительностью экспозиции и frame_rate является инверсией длительности кадра; frame_rate для данного временного подслоя Tid может указываться посредством num_units_in_tick, time_scale, elemental_duration_in_tc_minusl[Tid]. Например, когда fixed_pic_rate_within_cvs_flag [Tid] равен 1, frame_rate=time_scale/(num_units_in_tick!|i(elemental_duration_in_tc_minus 1 [Tid]+1))
В некоторых вариантах осуществления, значение угла затвора (например, fixed_shutter_angle) может не быть целым числом, например, оно может составлять 135,75°. Чтобы обеспечивать большую точность, в табл. 21 можно заменять u(9) (9 битов без знака) на u(16) или некоторую другую подходящую битовую глубину (например, 12, 14 или более 16 битов).
В некоторых вариантах осуществления может быть преимущественным выражать информацию угла затвора с точки зрения тактов синхросигнала. В VVC переменная ClockTick извлекается следующим образом:
ClockTick=num_units_in_tick time scale (8)
В таком случае можно выражать как длительность кадра, так и длительность экспозиции в качестве кратного или дробного относительно тактов синхросигнала:
exposure duration=fN* С1 о ckTi ck (9) frame_duration=fM*ClockTick (10) где fN и fM являются значениями с плавающей запятой, и fN<fM. В таком случае shutter_angl e=frame_rate* 3 60 * shutter_speed= =(l/frame_duration)*360*exposure_duration= (11) =(exposure_durati on *3 60)/frame_durati on= =(fN*aockTick*360)/(WPClockTick)= =(fN/fM) *3 60=(Numerator/Denominator) *3 60, где Numerator и Denominator являются целыми числами, аппроксимирующими отношение fN/fM.
Табл. 19 показывает пример обмена SEI-сообщениями, указываемого посредством уравнения (11). В этом примере угол затвора должен превышать 0 для камеры реального мира.
- 20 044734
Таблица 19
Примерный обмен SEI-сообщениями для информации угла затвора на основе тактов синхросигнала
shutterangleinformation(payloadSize) { Дескриптор
fixedshutteranglewithincvsflag u(l)
if(fixed_shutter_angle_within_cvs_flag) {
fixedshutteranglenumerminusl u(16)
fixedshutterangledenomminusl u(16)
1
else {
for(i=0; i<=vps_max_sub_layers_minusl; i++) {
subl ay ershutterangl enumermi nus 1 [i ] u(16)
sub_layer_shutter_angle_denom_minusl[i] u(16)
1
1
Как пояснено выше, использование u(16) (16 битов без знака) для точности угла затвора проиллюстрировано в качестве примера и соответствует точности в 360/216=0,0055. Точность может регулироваться на основе реальных вариантов применения. Например, при использовании u(8) точность составляет 360/28= 1,4063.
Примечание. Угол затвора выражается в градусах, больших 0, но меньших или равных 360°. Например, угол затвора в 180° указывает, что длительность экспозиции составляет 1/2 от длительности кадра.
fixed_shutter_angle_within_cvs_flag, равный 1, указывает, что значение угла затвора является идентичным для всех временных подслоев в CVS; fixed_shutter_angle_within_cvs_flag, равный 0, указывает, что значение угла затвора может не быть идентичным для всех временных подслоев в CVS.
fixed_shutter_angle_numer_minusl плюс 1 указывает числитель, используемый для того, чтобы извлекать значение угла затвора. Значение fixed_shutter_angle_numer_minusl должно составлять в диапазоне от 0 до 65535 включительно.
fixed_shutter_angle_demom_minusl плюс 1 указывает знаменатель, используемый для того, чтобы извлекать значение угла затвора. Значение fixed_shutter_angle_demom_minusl должно составлять в диапазоне от 0 до 65535 включительно.
Значение fixed_shutter_angle_numer_minusl должно быть меньше или равно значению fixed_shutter_angle_demom_minusl.
Переменная shutterAngle в градусах извлекается следующим образом:
shutterAngle=360*(fixed_shutter_angle_numer_minus 1+1)- (fixed_shutter_angle_demom_minus 1+1)) sub_layer_shutter_angle_numer_minusl[i] плюс 1 указывает числитель, используемый для того, чтобы извлекать значение угла затвора, когда HighestTid равен i. Значение sub_layer_shutter_angle_numer_minusl[i] должно составлять в диапазоне от 0 до 65535 включительно.
sub_layer_shutter_angle_demom_minusl[i] плюс 1 указывает знаменатель, используемый для того, чтобы извлекать значение угла затвора, когда HighestTid равен i. Значение sub_layer_shutter_angle_demom_minusl[i] должно составлять в диапазоне от 0 до 65535 включительно.
Значение sub_layer_shutter_angle_numer_minusl[i] должно быть меньше или равно значению sublayershutter_angle_denomminus1[i].
Переменная subLayerShutterAngle[i] в градусах извлекается следующим образом: subLayerShutterAngle[i]=360* (sub _layer_shutter_angle_numer_minusl [i] +1)(sublayershutterangledemomminus 1 [i] +1)
В другом варианте осуществления длительность кадра (например, frameduration) может указываться посредством некоторого другого средства. Например, в DVB/ATSC, когда fixed_pic_rate_within_cvs_flag [Tid] равен 1:
frame_rateAime_scale/(num_units_in_tick*(elemental_duration_in_tc_minusl[Tid]+l)), framedurati on= 1 /framerate
Синтаксис в табл. 19 и в некоторых последующих таблицах предполагает, что угол затвора всегда должен быть больше нуля; тем не менее угол затвора=0 может использоваться для того, чтобы сигнализировать творческое намерение, при котором контент должен отображаться без размытости при движении. Это может иметь место для движущейся графики, анимации, CGI-текстур и матовых экранов и т.д. В связи с этим, например, сигнализирование угла затвора=0 может быть полезным для решения по выбору режима в транскодере (например, чтобы выбирать режимы транскодирования, которые сохраняют
- 21 044734 края), а также на дисплее, который принимает метаданные угла затвора по СТА-интерфейсу или 3GPP-интерфейсу. Например, угол затвора=0 может использоваться для того, чтобы указывать для дисплея, что он не должен выполнять обработку движения, такую как очистка от шума, интерполяция кадров и т.п. В таком варианте осуществления синтаксические элементы fixed_shutter_angle_numer_minusl и sub_layer_shutter_angle_numer_minusl[i] могут заменяться посредством синтаксических элементов fixed_shutter_angle_numer и sub_layer_shutter_angle_numer[i], где fixed_shutter_angle_numer указывает числитель, используемый для того, чтобы извлекать значение угла затвора. Значение fixed_shutter_angle_numer должно составлять в диапазоне от 0 до 65535, включительно.
sub_layer_shutter_angle_numer[i] указывает числитель, используемый для того, чтобы извлекать значение угла затвора, когда HighestTid равен i. Значение sub_layer_shutter_angle_numer[i] должно составлять в диапазоне от 0 до 65535 включительно.
Кроме того, в другом варианте осуществления fixed_shutter_angle_denom_minusl и sub_layer_shutter_angle_denom_minusl[i] также могут заменяться посредством синтаксических элементов fixed_shutter_angle_denom и sub_layer_shutter_angle_denom [i ].
В варианте осуществления, как проиллюстрировано в табл. 20, можно многократно использовать синтаксис num_units_in_tick и time_scale, заданный в SPS посредством задания general_hrd_parameters_present_flag равным 1 в VVC. Согласно этому сценарию, SEI-сообщение может быть переименовано в качестве SEI-сообщения длительности экспозиции.
Таблица 20
Примерный обмен SEI-сообщениями для сигнализирования длительности экспозиции
exposure duration information(payloadSize) { Дескриптор
fixed_exposure_duration_within_cvs_flag u(l)
if(fixed_shutter_angle_within_cvs_flag) {
fixedexposuredurationnumerminusl u(16)
fixedexposuredurationdenomminusl u(16)
}
else {
for(i=0; i<=vps_max_sub_layers_minusl; i++) {
sub layer exposure duration numer minus 1 [i] u(16)
sublayerexposuredurationdenomminus 1 [i] u(16)
}
}
fixed_exposure_duration_within_cvs_flag, равный 1, указывает, что эффективное значение длительности экспозиции является идентичным для всех временных подслоев в С VS.
fixed_exposure_duration_within_cvs_flag, равный 0, указывает, что эффективное значение длительности экспозиции может не быть идентичным для всех временных подслоев в CVS.
fixed_exposure_duration_numer_minusl плюс 1 указывает числитель, используемый для того, чтобы извлекать значение длительности экспозиции. Значение fixed_exposure_duration_numer_minusl должно составлять в диапазоне от 0 до 65535 включительно.
fixede_xposure_duration_demom_minusl плюс 1 указывает знаменатель, используемый для того, чтобы извлекать значение длительности экспозиции. Значение fixede_xposure_duration_demom_minusl должно составлять в диапазоне от 0 до 65535 включительно.
Значение fixede_xposure_during_numer_minusl должно быть меньше или равно значению fixede_xposure_duration_demom_minusl.
Переменная fixedExposureDuration извлекается следующим образом:
fixedExposureDuration=(fixed_exposure_duration_numer_minus 1+1) ^ (fixed_exposure_duration_demom_minusl+l)*ClockTicks sub_layer_exposure_duration_numer_minusl[i] плюс 1 указывает числитель, используемый для того, чтобы извлекать значение длительности экспозиции, когда HighestTid равен i. Значение sub_layer_exposure_duration_numer_minusl[i] должно составлять в диапазоне от 0 до 65535 включительно.
sub_layer_exposure_duration_demom_minusl[i] плюс 1 указывает знаменатель, используемый для того, чтобы извлекать значение длительности экспозиции, когда HighestTid равен i. Значение sub_layer_exposure_duration_demom_minusl[i] должно составлять в диапазоне от 0 до 65535 включительно.
Значение sub_layer_exposure_duration_numer_minusl[i] должно быть меньше или равно значению sub_layer_exposure_duration_demom_minusl[i].
Переменная subLayerExposureDuration[i] для HigestTid, равного i, извлекается следующим образом:
- 22 044734 subLayerExposureDuration[i] =(sub_layer_exposure_duration numer minusl [i] +1) (sublayerexposuredurationdemomminusl [i] +l)*ClockTicks
В другом варианте осуществления, как показано в табл. 21, можно явно задавать clockTick посредством синтаксических элементов exponum_units_in_tick и cxpo_timc_scalc. Преимущество здесь состоит в том, что он не основывается на том, задан или нет general_hrd_parameters_present_flag равным в 1 в VVC, как в предыдущем варианте осуществления, в таком случае clockTick=expo_num_units_in_tick expo time scale (12)
Таблица 21
Примерный обмен SEI-сообщениями для сигнализирования времени экспозиции
exposure duration information(payloadSize) { Дескриптор
exponumunitsintick u(32)
expotimescale u(32)
fixed exposure duration within cvs flag u(l)
if(!fixed_exposure_duration_within_cvs_flag)
for(i=0; i<=vps_max_sub_layers_minusl; i++) {
sublayerexposuredurationnumerminus 1 [i] u(16)
sublayerexposuredurationdenomminus 1 [i] u(16)
}
}
expo_num_units_in_tick является числом единиц времени синхросигнала, работающего на частоте time_scale Гц, которая соответствует одному приращению (называемому тактом синхросигнала) счетчика тактов синхросигнала; exponum_units_in_tick должен превышать 0. Такт синхросигнала, заданный посредством переменной clockTick, в единицах секунд, равен частному exponum_units_in_tick, деленному на expo_time_scale.
expo_time_scale является числом единиц времени, которые проходят за 1 с: clockTick=expo_num_units_in_tick+expo_time_scale
Примечание. Два синтаксических элемента: exponum_units_in_tick и expo_time_scale задаются, чтобы измерять длительность экспозиции.
Требование соответствия потока битов заключается в том, что clockTick должно быть меньше или равно ClockTick, когда присутствуют num_units_in_tick и time_scale.
fixed_exposure_duration_within_cvs_flag, равный 1, указывает, что эффективное значение длительности экспозиции является идентичным для всех временных подслоев в CVS;
fixed_exposure_duration_within_cvs_flag, равный 0, указывает, что эффективное значение длительности экспозиции может не быть идентичным для всех временных подслоев в CVS. Когда fixed_exposure_duration_within_cvs_flag равен 1, переменная TixedExposureDuration задается равной clockTick.
sub_layer_exposure_duration_numer_minusl[i] плюс 1 указывает числитель, используемый для того, чтобы извлекать значение длительности экспозиции, когда HighestTid равен i. Значение sub_layer_exposure_duration_numer_minusl[i] должно составлять в диапазоне от 0 до 65535 включительно.
sub_layer_exposure_duration_demom_minusl[i] плюс 1 указывает знаменатель, используемый для того, чтобы извлекать значение длительности экспозиции, когда HighestTid равен i. Значение sub_layer_exposure_duration_demom_minusl[i] должно составлять в диапазоне от 0 до 65535 включительно.
Значение sub_layer_exposure_duration_numer_minusl[i] должно быть меньше или равно значению sub_layer_exposure_duration_demom_minusl[i].
Переменная subLayerExposureDuration[i] для HigestTid, равного i, извлекается следующим образом: subLayerExposureDuration[i] =(sub_layer_exposure_duration numer minusl[i] +1)^(sublayerexposuredurationdenomminusl [i] +l)*clockTick
Как пояснено выше, синтаксические параметры sub_layer_exposure_duration_numer_minusl[i] и sub_layer_exposure_duration_denom_minusl[i] также могут заменяться посредством sub_layer_exposure_duration_numer[i] и sub_layer_exposure_duration_denom[i].
В другом варианте осуществления, как показано в табл. 22, можно задавать параметр Shutterinterval (т.е. длительность экспозиции) посредством синтаксических элементов sii_num_units_in_shutter_interval и sii_time_scale, где
Shutterlnterval=sii_num_units_in_shutter_interval sii time scale (13)
-23 044734
Таблица 22
Примерный обмен SEI-сообщениями для сигнализирования длительности экспозиции (информации интервала срабатывания затвора)
shutter interval information(payloadSize) { Дескриптор
siinumunitsinshutterinterval u(32)
siitimescale u(32)
fixedshutterintervalwithincvsflag u(l)
if(! fixed shutter interval within cvs flag)
for(i=0; i<=vps_max_sub_layers_minusl; i++) {
sub_layer_shutter_interval_numer[i] u(16)
subl ay ershutterintervaldenom [i ] u(16)
}
Семантика SEI-сообщений с информацией интервала срабатывания затвора SEI-сообщение с информацией интервала срабатывания затвора указывает интервал срабатывания затвора для ассоциированного видеоконтента до кодирования и отображения, например, для захваченного камерой контента, количество времени, когда датчик изображений экспонируется для того, чтобы формировать изображение.
sii_num_units_in_shutter_interval указывает число единиц времени синхросигнала, работающего на частоте sii_time_scale Гц, которая соответствует одному приращению счетчика тактов синхросигнала затвора. Интервал срабатывания затвора, заданный посредством переменной ShutterInterval, в единицах секунд, равен частному sii_num_units_in_shutter_interval, деленному на sii_time_scale. Например, когда ShutterInterval равен 0,04 с, sii_time_scale может быть равен 27000000, и sii_num_units_in_shutter_interval может быть равен 1080000.
sii_time_scale указывает число единиц времени, которые проходят за 1 с. Например, система временных координат, которая измеряет время с использованием синхросигнала в 27 МГц, имеет sii_time_scale в 27000000.
Когда значение sii_time_scale превышает 0, значение ShutterInterval указывается следующим образом: Shutterlnterval=sii_num_units_in_shutter_interval siitimescale
Иначе (значение sii_time_scale равно 0) ShutterInterval должен интерпретироваться как неизвестный или неуказанный.
Примечание 1. Значение ShutterInterval, равное 0, может указывать, что ассоциированный видеоконтент содержит контент захвата экрана, машиногенерируемый контент или другой незахватываемый камерой контент.
Примечание 2. Значение ShutterInterval больше значения инверсии частоты кодированных изображений, интервала кодированного изображения, может указывать, что частота кодированных изображений превышает частоту изображений, на которой создан ассоциированный видеоконтент, например, когда частота кодированных изображений составляет 120 Гц, и частота изображений ассоциированного видеоконтента до кодирования и отображения составляет 60 Гц. Кодированный интервал для данного временного подслоя Tid может указываться посредством ClockTick и elemental_duration_in_tc_minusl[Tid]. Например, когда fixed_pic_rate_within_cvs_flag [Tid] равен 1, интервал изображения для данного временного подслоя Tid, заданный посредством переменной PictureInterval[Tid], может указываться следующим образом:
PictureInterval[Tid]=ClockTick*(elemental_duration_in_tc_minusl[Tid]+l) fixed_shutter_interval_within_cvs_flag, равный 1, указывает, что значение ShutterInterval является идентичным для всех временных подслоев в CVS; fixed_shutter_interval_within_cvs_flag, равный 0, указывает, что значение ShutterInterval может не быть идентичным для всех временных подслоев в CVS.
sub_layer_shutter_interval_numer[i] указывает числитель, используемый для того, чтобы извлекать интервал срабатывания затвора для подслоя, заданный посредством переменной subLayerShutterInterval[i], в единицах секунд, когда HighestTid равен i.
sub_layer_shutter_interval_denom[i] указывает знаменатель, используемый для того, чтобы извлекать интервал срабатывания затвора для подслоя, заданный посредством переменной subLayerShutterInterval[i], в единицах секунд, когда Hi ghestTid равен i.
Значение subLayerShutterInterval[i] для HighestTid, равного i, извлекается следующим образом. Когда значение fixed_shutter_interval_within_cvs_flag равно 0 и значение sub_layer_shutter_interval_denom[i] превышает 0, subLayerShutterInterval[i]=ShutterInterval*sub_layer_shutter_interval_numer[i]^ subl ay ershutterintervaldenom [i ]
Иначе (значение sub_layer_shutter_interval_denom[i] равно 0) subLayerShutterInterval[i] должен интерпретироваться как неизвестный или неуказанный. Когда значение fixed_shutter_interval_within_cvs_flag не равно 0,
- 24 044734 sub Lay er Shutterinterval [i ]=ShutterInterval
В альтернативном варианте осуществления вместо использования числителя и знаменателя для сигнализирования интервала срабатывания затвора для подслоя используется одно значение. Пример такого синтаксиса показывается в табл. 23.
Таблица 23
Примерный обмен SEI-сообщениями для сигнализирования интервала срабатывания ; затвора
shutter_interval_information(payloadSize) { Дескриптор
siinumunitsinshutterinterval u(32)
siitimescale u(32)
fixed shutter interval within cvs flag u(l)
if(! fixed_shutter_interval_within_cvs_flag)
for(i=0; i<=vps_max_sub_layers_minusl; i++) {
sub_layer_num_units_in_shutter_interval[i] u(32)
}
}
Семантика SEI-сообщений с информацией интервала срабатывания затвора.
SEI-сообщение с информацией интервала срабатывания затвора указывает интервал срабатывания затвора для ассоциированного видеоконтента до кодирования и отображения, например, для захваченного камерой контента, количество времени, когда датчик изображений экспонируется для того, чтобы формировать изображение.
sii_num_units_in_shutter указывает число единиц времени синхросигнала, работающего на частоте sii_time_scale Гц, которая соответствует одному приращению счетчика тактов синхросигнала затвора. Интервал срабатывания затвора, заданный посредством переменной Shutterinterval, в единицах секунд, равен частному sii_num_units_in_shutter_interval, деленному на sii_time_scale. Например, когда ShutterInterval равен 0,04 секунды, sii_time_scale может быть равен 27000000 и sii_num_units_in_shutter_interval может быть равен 1080000.
sii_time_scale указывает число единиц времени, которые проходят за 1 с. Например, система временных координат, которая измеряет время с использованием синхросигнала в 27 МГц, имеет sii_time_scale в 27000000.
Когда значение sii_time_scale превышает 0, значение Shutterinterval указывается следующим образом: Shutterlnterval=sii_num_units_in_shutter_interval sii_time_scale
Иначе (значение sii_time_scale равно 0) Shutterinterval должен интерпретироваться как неизвестный или неуказанный.
Примечание 1. Значение Shutterinterval, равное 0, может указывать, что ассоциированный видеоконтент содержит контент захвата экрана, машиногенерируемый контент или другой незахватываемый камерой контент.
Примечание 2. Значение Shutterinterval больше значения инверсии частоты кодированных изображений, интервала кодированного изображения, может указывать, что частота кодированных изображений превышает частоту изображений, на которой создан ассоциированный видеоконтент, например, когда частота кодированных изображений составляет 120 Гц, и частота изображений ассоциированного видеоконтента до кодирования и отображения составляет 60 Гц. Интервал кодированного изображения для данного временного подслоя Tid может указываться посредством ClockTick и elemental_duration_in_tc_minusl[Tid]. Например, когда fixed_pic_rate_within_cvs_flag [Tid] равен 1, интервал изображения для данного временного подслоя Tid, заданный посредством переменной PictureInterval[Tid], может указываться следующим образом:
PictureInterval[T id]=ClockT ick*(elemental_duration_in_tc_minusl[T id]+1) fixed_shutter_interval_within_cvs_flag, равный 1, указывает, что значение Shutterinterval является идентичным для всех временных подслоев в CVS; fixed_shutter_interval_within_cvs_flag, равный 0, указывает, что значение Shutterinterval может не быть идентичным для всех временных подслоев в CVS.
sub_layer_num_units_in_shutter_interval[i] указывает число единиц времени синхросигнала, работающего на частоте sii_time_scale Гц, которая соответствует одному приращению счетчика тактов синхросигнала затвора. Интервал срабатывания затвора для подслоя, заданный посредством переменной subLayer Shutterinterval [i], в единицах секунд, когда HighestTid равен i, равен частному sub_layer_num_units_in_shutter_interval[i], деленному на sii_time_scale.
Когда значение fixed_shutter_interval_within_cvs_flag равно 0 и значение sii_time_scale превышает 0, значение subLayerShutterInterval[i] указывается следующим образом:
subLayerShutterlnterval [i]=sub_layer_num_units_in_shutter_interval[i] sii time scale
Иначе (значение sii_time_scale равно 0) subLay er Shutterinterval [i] должен интерпретироваться как
-25044734 неизвестный или неуказанный. Когда значение fixed_shutter_interval_within_cvs_flag не равно 0, sub Lay erShutterlnterval [i]=ShutterInterval
В табл. 24 приводится краткое представление шести подходов, поясненных в табл. 18-23 для предоставления обмена SEI-сообщениями, связанного с углом затвора или длительностью экспозиции.
Таблица 24
Краткое представление подходов к обмену SEI-сообщениями для сигнализирования информации угла затвора
Номер таблицы Ключевые элементы сигнализации и зависимости
18 Угол затвора (от 0 до 360) передается явно
19 Угол затвора выражается как отношение значений Numerator и Denominator, которое должно масштабироваться посредством 360 (подразумевается значение такта синхросигнала)
20 Длительность экспозиции передается в качестве отношения значений Numerator и Denominator (подразумевается значение такта синхросигнала)
21 Длительность экспозиции передается в качестве отношения значений Numerator и Denominator; значение такта синхросигнала передается явно в качестве отношения двух значений
22 Информация интервала срабатывания затвора передается в качестве отношения двух значений: число единиц тактов синхросигнала при экспозиции и временная шкала экспозиции. Связанные с подслоем времена экспозиции передаются в качестве отношения двух значений
23 Информация интервала срабатывания затвора или длительность экспозиции передаются в качестве отношения двух значений: число единиц тактов синхросигнала при экспозиции и временная шкала экспозиции. Связанные с подслоем времена экспозиции передаются в качестве числа единиц тактов синхросигнала при экспозиции в каждом подслое
Сигнализирование переменной частоты кадров.
Как пояснено в предварительной заявке на патент (США) 62/883195, поданной 06 августа 2019 г., во множестве вариантов применения требуется, чтобы декодер поддерживал воспроизведение на переменных частотах кадров. Адаптация частоты кадров типично составляет часть операций в гипотетическом опорном декодере (HRD), как описано, например, в приложении С ссылочного материала [2]. В варианте осуществления предлагается сигнализировать, через обмен SEI-сообщениями или другое средство, синтаксический элемент, задающий время представления изображения (РРТ) в качестве функции синхросигнала в 90 кГц. Это представляет собой определенный тип повторения номинального времени вывода буфера изображений декодера (DPB), как указано в HRD, но теперь с использованием точности ClockTicks в 90 кГц, как указано в MPEG-2-системе. Преимущество этого SEI-сообщения заключается в том, что
а) если HRD не предоставляется, можно по-прежнему использовать РРТ SEI-сообщение для того, чтобы указывать синхронизацию (тайминг) для каждого кадра;
b) оно может упрощать трансляцию синхронизации по потоку битов и синхронизации в системе.
Табл. 25 описывает пример синтаксиса предложенного РРТ-сообщения синхронизации, который совпадает с синтаксисом переменной временной метки представления (PTS), используемой в MPEG-2транспортировке (Н 222) (ссылочный материал [4]).
Таблица 25
Примерный синтаксис для обмена сообщениями по времени представления изображения
picture_presentation_time(payloadSize) { Дескриптор
РРТ и(33)
}
РРТ (время представления изображения).
Времена представления должны быть связаны с временами декодирования следующим образом: РРТ является 33-битовым числом, кодированным в трех отдельных полях. Оно указывает время представления, tpn(k), в декодере системных целевых объектов единицы к представления элементарного по- 26 044734 тока n. Значение РРТ указывается в единицах периода системной тактовой частоты, деленного на 300 (что дает в результате 90 кГц). Время представления изображения извлекается из РРТ согласно следующему уравнению:
РРТ (k)=((system_clock_frequency* )/ЗОО)%233, где tpn(k) является временем представления единицы Pn(k) представления.
Библиографический список.
Каждый из ссылочных материалов, перечисленных в изобретении, полностью содержится по ссылке.
[1] High efficiency video coding, H.265, Series H, Coding of moving video, ITU, (02/2018).
[2] B. Bross, J. Chen и S. Liu, Versatile Video Coding (Draft 5), JVET output document, JVET-N1001, v5, выгружено 14 мая 2019 года.
[3] C. Carbonara, J. DeFilippis, M. Korpi, High Frame Rate Capture and Production, SMPTE 2015 Annual Technical Conference and Exhibition, 26-29 октября 2015 года.
[4] Infrastructure of audiovisual services - Transmission multiplexing and synchronization, H.222.0, Series H, Generic coding of moving pictures and associated audio information: Systems, ITU, 08/2018.
Примерная реализация компьютерной системы.
Варианты осуществления настоящего изобретения могут реализовываться с помощью компьютерной системы, систем, сконфигурированных в электронных схемах и компонентах, устройства на интегральных схемах (IC), такого как микроконтроллер, программируемая пользователем вентильная матрица (FPGA) или другое конфигурируемое или программируемое логическое устройство (PLD), дискретный временной процессор или процессор цифровых сигналов (DSP), специализированная IC (ASIC), и/или оборудования, которое включает в себя одну или более таких систем, устройств или компонентов. Компьютер и/или IC могут выполнять, управлять или приводить в исполнение инструкции, связанные с масштабируемостью по частоте кадров, такие как инструкции, описанные в изобретении. Компьютер и/или 1С могут вычислять любые из множества параметров или значений, которые относятся к масштабируемости по частоте кадров, описанной в изобретении. Связанные с изображениями и видео варианты осуществления могут реализовываться в аппаратных средствах, программном обеспечении, микропрограммном обеспечении и различных комбинациях вышеозначенного.
Определенные реализации изобретения содержат компьютерные процессоры, которые выполняют программные инструкции, которые инструктируют процессорам осуществлять способ изобретения. Например, один или более процессоров в дисплее, кодере, абонентской приставке, транскодере и т.п. могут реализовывать способы, связанные с масштабируемостью по частоте кадров, как описано выше, посредством выполнения программных инструкций в запоминающем устройстве программ, доступном для процессоров. Варианты осуществления изобретения также могут предоставляться в форме программного продукта. Программный продукт может содержать любой Долговременный и материальный носитель, который переносит набор машиночитаемых сигналов, содержащих инструкции, которые при выполнении посредством процессора данных инструктируют процессору данных осуществлять способ изобретения. Программные продукты согласно изобретению могут иметь любые из широкого спектра энергонезависимых и материальных форм. Программный продукт может содержать, например, физические носители, такие как магнитные носители хранения данных, включающие в себя гибкие дискеты, жесткие диски, оптические носители хранения данных, включающие в себя CD-ROM, DVD, электронные носители хранения данных, включающие в себя ROM, флэш-RAM и т.п. Машиночитаемые сигналы на программном продукте необязательно могут сжиматься или шифроваться.
Когда компонент (например, программный модуль, процессор, узел, устройство, схема и т.д.) упоминается выше, если не указано иное, ссылка на этот компонент (включающая в себя ссылку на средство) должна интерпретироваться как включающая в качестве эквивалентов этого компонента любой компонент, который выполняет функцию описанного компонента (например, который является функционально эквивалентным), включающий в себя компоненты, которые не являются структурно эквивалентными раскрытой структуре, которая выполняет функцию в проиллюстрированных примерных вариантах осуществления изобретения.
Эквиваленты, дополнения, альтернативы, а также разное.
В силу этого описываются примерные варианты осуществления, которые относятся к масштабируемости по частоте кадров. В вышеприведенном подробном описании варианты осуществления настоящего изобретения описаны со ссылкой на множество конкретных подробностей, которые могут варьироваться в зависимости от реализации. Таким образом, единственным и исключительным индикатором того, что представляет собой изобретение и что подразумевается заявителями под изобретением, является формула изобретения, которая вытекает из данной заявки, в конкретной форме, в которой данная формула изобретения выдается, в том числе все последующие корректировки. Все определения, явно изложенные в изобретении для терминов, содержащихся в данной формуле изобретения, должны дикто- 27 044734 вать смысл этих терминов при использовании в формуле изобретения. Следовательно, ограничения, элементы, свойства, признаки, преимущества или атрибуты, которые не изложены явно в формуле изобретения, не должны ограничивать объем данной формулы изобретения каким-либо образом. Следовательно, подробное описание и чертежи должны рассматриваться в иллюстративном, а не в ограничительном смысле.
Приложение.
Это приложение предоставляет копию табл. D.2 и ассоциированную связанную с pic_struct информацию из спецификации Н 265 (ссылочный материал [1]).
Таблица D.2
Интерпретация pic struct
Значение Указываемое отображение изображения Ограничения
0 (Построчный) кадр fieldseqflag должен быть равен 0
1 Верхнее поле fieldseq flag должен быть равен 1
2 Нижнее поле fieldseq flag должен быть равен 1
Э Верхнее поле, нижнее поле, в этом порядке fieldseqflag должен быть равен 0
4 Нижнее поле, верхнее поле, в этом порядке fieldseq flag должен быть равен 0
5 Верхнее поле, нижнее поле, повторенное верхнее поле, в этом порядке field seq flag должен быть равен 0
6 Нижнее поле, верхнее поле, повторенное нижнее поле, в этом порядке field seq flag должен быть равен 0
7 Удвоение кадров field seq flag должен быть равен 0 fixed_pic_rate_within_cvs_flag должен быть равен 1
8 Утроение кадров field seq flag должен быть равен 0 fixed _pic_rate_within_cvs_flag должен быть равен 1
9 Верхнее поле, спаренное с предыдущим нижним полем в порядке вывода field seq flag должен быть равен 1
10 Нижнее поле, спаренное с предыдущим верхним полем в порядке вывода field seq flag должен быть равен 1
И Верхнее поле, спаренное со следующим нижним полем в порядке вывода field seq flag должен быть равен 1
12 Нижнее поле, спаренное со field seq flag должен быть равен 1
следующим верхним полем в порядке вывода
Семантика синтаксического элемента pic_struct.
pic_struct указывает, должно либо нет изображение отображаться в качестве кадра или в качестве одного или более полей, и для отображения кадров, когда fixed_pic_rate_within_cvs_flag равен 1, может указывать период повторения удвоения или утроения кадров для дисплеев, которые используют фиксированный интервал обновления кадров, равный DpbOutputElementalInterval[n], как задано посредством уравнения Е-73. Интерпретация pic_struct указывается в табл. D.2. Значения pic_struct, которые не перечисляются в табл. D.2, резервируются для будущего использования посредством ITU-T|ISO/IEC и не должны присутствовать в потоках битов, соответствующих этой версии этой спецификации. Декодеры должны игнорировать зарезервированные значения pic_struct.
Когда присутствует требование соответствия потока битов заключается в том, что значение pic_struct
- 28 044734 должно ограничиваться таким образом, что точно одно из следующих условий является истинным:
значение pic_struct равно 0, 7 или 8 для всех изображений в CVS;
значение pic_struct равно 1, 2, 9, 10, 11 или 12 для всех изображений в CVS;
значение pic_struct равно 3, 4, 5 или 6 для всех изображений в CVS.
Когда fixed_pic_rate_within_cvs_flag равен 1, удвоение кадров указывается посредством pic_struct, равного 7, что указывает, что кадр должен отображаться два раза последовательно на дисплеях с интервалом обновления кадров, равным DpbOutputElementalInterval[n] как задано посредством уравнения Е-73, и утроение кадров указывается посредством pic_struct, равного 8, что указывает, что кадр должен отображаться три раза последовательно на дисплеях с интервалом обновления кадров, равным DpbOutputElementalInterval[n], как задано посредством уравнения Е-73.
Примечание 3. Удвоение кадров может использоваться для того, чтобы упрощать отображение, например, видео с построчным сканированием при 25 Гц на дисплее с построчным сканированием при 50 Гц или видео с построчным сканированием при 30 Гц на дисплее с построчным сканированием при 60 Г ц. Использование удвоения кадров и утроения кадров в переменной комбинации для каждого второго кадра может использоваться для того, чтобы упрощать отображение видео с построчным сканированием при 24 Гц на дисплее с построчным сканированием при 60 Гц.
Номинальные местоположения вертикальной и горизонтальной дискретизации выборок в верхних и нижних полях для форматов сигнала цветности 4:2:0, 4:2:2 и 4:4:4 показаны на фиг. D.1, D.2 и D.3 соответственно.
Индикаторы ассоциирования для полей (pic_struct, равных 9-12) предоставляют подсказки, чтобы ассоциировать поля комплементарной четности вместе в качестве кадров. Четность поля может быть верхней или нижней, и четность двух полей считается комплементарной, когда четность одного поля является верхней, а четность другого поля является нижней.
Когда frame_field_info_present_flag равен 1, требование соответствия потока битов заключается в том, что должны применяться ограничения, указываемые в третьем столбце табл. D.2.
Примечание 4. Когда frame_field_info_present_flag равен 0, то во многих случаях значения по умолчанию могут логически выводиться или указываться посредством другого средства. При отсутствии других индикаторов намеченного типа отображения изображения, декодер должен логически выводить значение pic_struct как равное 0, когда frame_field_info_present_flag равен 0.
Положение 1. Способ декодирования кодированного потока битов видео на переменных частотах кадров и при переменных углах затвора, при этом способ осуществляется посредством процессора и содержит этапы, на которых принимают кодированный поток битов, содержащий кодированные видеокадры, при этом один или более кодированных кадров закодированы на первой частоте кадров и при первом угле затвора;
принимают первый флаг, указывающий присутствие группы кодированных кадров, которые должны декодироваться на второй частоте кадров и при втором угле затвора;
осуществляют доступ из кодированного потока битов к значениям второй частоты кадров и второго угла затвора для этой группы кодированных кадров; и формируют декодированные кадры на второй частоте кадров и при втором угле затвора на основе упомянутой группы кодированных кадров, первой частоты кадров, первого угла затвора, второй частоты кадров и второго угла затвора.
Положение 2. Способ согласно положению 1, в котором упомянутое формирование декодированных кадров на второй частоте кадров и при втором угле затвора содержит этапы, на которых декодируют каждый кадр в упомянутой группе кодированных кадров, чтобы сформировать группу декодированных кадров; и комбинируют N кадров в этой группе декодированных кадров, чтобы сформировать выходной кадр на второй частоте кадров и при втором угле затвора, причем
N=(target_shutter_angle/orig_shutter_angle)*(original_frame_rate/target_frame_rate), где target_shutter_angle обозначает второй угол затвора, orig_shutter_angle обозначает первый угол затвора, original_frame_rate обозначает первую частоту кадров, и target_frame_rate обозначает вторую частоту кадров.
Положение 3. Способ согласно положению 1, дополнительно содержащий этапы, на которых осуществляют доступ из кодированного потока битов к первому значению параметра для третьей частоты кадров и ко второму значению параметра для третьего угла затвора для второй группы кодированных кадров, при этом третья частота кадров отличается от второй частоты кадров; и формируют декодированные кадры на третьей частоте кадров и при третьем угле затвора на основе второй группы кодированных кадров, первой частоты кадров, первого угла затвора, третьей частоты кадров и третьего угла затвора.
Положение 4. Способ согласно положению 2, в котором первая частота кадров составляет 120 кадров/с и первый угол затвора составляет 360°.
- 29 044734
Положение 5. Способ согласно положению 2, дополнительно содержащий этап, на котором осуществляют доступ в кодированном потоке битов видео к значению индекса фазы декодирования, при этом значение индекса фазы декодирования указывает то, какая группа из N кадров в декодированных кадрах должны комбинироваться вместе.
Положение 6. Способ согласно положению 5, в котором для первой частоты кадров в 120 кадров/с и первого угла затвора в 360° значение индекса фазы декодирования указывает индекс кадра в наборе последовательных кадров, имеющих значения индекса от 0 до (n_frames_max-1), при этом n_frames_max=120/target_frame_rate, и значение индекса фазы декодирования составляет между 0 и n_frames_max-n_frames, где n_frames=target_shutter_angle/(3*target_frame_rate)
Положение 7. Способ декодирования кодированного потока битов видео на переменных частотах кадров и при переменных углах затвора, при этом способ осуществляется посредством процессора и содержит этапы, на которых принимают кодированный поток битов, содержащий группы кодированных видеокадров, при этом все кодированные видеокадры в кодированном потоке битов закодированы на первой частоте кадров;
принимают число N комбинированных кадров;
принимают значение для базовой частоты кадров;
осуществляют доступ к группе из N последовательных кодированных кадров, при этом i-й кодированный кадр в группе из N последовательных кодированных кадров, где i=1, 2, ..., N, представляет среднее вплоть до i входных видеокадров, закодированных в кодере на базовой частоте кадров и при i-м угле затвора, на основе первого угла затвора и первой частоты кадров;
осуществляют доступ из кодированного потока битов или из пользовательского ввода к значениям второй частоты кадров и второго угла затвора для декодирования группы из N последовательных кодированных кадров на второй частоте кадров и при втором угле затвора; и формируют декодированные кадры на второй частоте кадров и при втором угле затвора на основе группы из N последовательных кодированных кадров, первой частоты кадров, первого угла затвора, второй частоты кадров и второго угла затвора.
Положение 8. Способ согласно положению 7, в котором упомянутое формирование декодированных кадров на второй частоте кадров и при втором угле затвора содержит этапы, на которых декодируют каждый кадр в группе из N последовательных кодированных кадров, чтобы сформировать группу из N декодированных кадров; и формируют выходной кадр на второй частоте кадров и при втором угле затвора на основе группы из N декодированных кадров, второй частоты кадров и второго угла затвора.
Положение 9. Способ согласно положению 8, в котором когда вторая частота кадров равна базовой частоте кадров, декодированный i-ый кадр в группе из N последовательных кодированных кадров соответствует выходному кадру на второй частоте кадров и при значении угла затвора, заданном посредством SA(i), причем SA(i)=orig_shutter_angle*i*(target_frame_rate/original_frame_rate), где orig_shutter_angle обозначает первый угол затвора, original_frame_rate обозначает первую частоту кадров, target_frame_rate обозначает вторую частоту кадров, и i=1, 2, ..., N.
Положение 10. Способ согласно положению 9, в котором первый угол затвора составляет 360°, первая частота кадров составляет 120 кадров/с, N=5, и базовая частота кадров составляет 24 кадра/с.
Положение 11. Способ согласно положению 7, в котором когда вторая частота кадров отличается от базовой частоты кадров, упомянутое формирование выходного кадра на второй частоте кадров и при втором угле затвора содержит этапы, на которых вычисляют для гипотетического кодера входной набор соответствующих входных кадров на первой частоте кадров и при первом угле затвора, которые при комбинировании формируют выходной кадр на второй частоте кадров и при втором угле затвора;
декодируют каждый кадр в группе из N последовательных кодированных кадров, чтобы сформировать группу из N декодированных кадров;
вычисляют выходной набор кадров в группе из N декодированных кадров, которые, когда они комбинируются вместе, формируют вывод, который совпадает с выводом, сформированным посредством комбинирования входного набора соответствующих входных кадров; и формируют выходной кадр на основе выходного набора кадров в группе из N декодированных кадров.
Положение 12. Способ согласно положению 11, в котором для второй частоты кадров и второго угла затвора выходной набор извлекается из таблицы поиска, сформированной на основе первой частоты кадров, первого угла затвора и числа N комбинированных кадров.
Положение 13. Способ согласно положению 8, в котором по меньшей мере один кадр в группе из N последовательных кодированных кадров ассоциирован с первым временным идентификационным (ID) номером и по меньшей мере второй кадр в группе из N последовательных кодированных кадров ассоциирован со вторым временным идентификационным номером, и упомянутое декодирование дополнительно содержит этапы, на которых
- 30 044734 осуществляют доступ к выходному временному идентификационному номеру; и декодируют из группы из N последовательных кодированных кадров только кадры с временным идентификационным номером, совпадающим с выходным временным идентификационным номером.
Положение 14. Долговременный процессорночитаемый носитель данных, на котором сохранена структура кодированного видеопотока, причем структура кодированного видеопотока содержит секцию кодированных изображений, включающую в себя кодирование последовательности видеоизображений; и секцию сигнализации, включающую в себя кодирование следующего:
флаг первого угла затвора, который указывает, является или нет информация угла затвора фиксированной для всех временных подслоев в секции кодированных изображений, и если флаг первого угла затвора указывает, что информация угла затвора является фиксированной, то секция сигнализации включает в себя значение фиксированного угла затвора для отображения декодированной версии последовательности видеоизображений для всех временных подслоев в секции кодированных изображений с использованием значения фиксированного угла затвора, иначе секция сигнализации включает в себя массив значений угла затвора для подслоя, при этом для каждого из временных подслоев значение в массиве значений угла затвора для подслоя указывает соответствующий угол затвора для отображения декодированной версии временного подслоя последовательности видеоизображений.
Положение 15. Долговременный процессорночитаемый носитель данных согласно положению 14, в котором секция сигнализации дополнительно включает в себя кодирование значения повторения кадров, указывающего число раз, когда декодированное изображение в последовательности видеоизображений должно последовательно отображаться.
Положение 16. Долговременный процессорночитаемый носитель данных согласно положению 14, в котором секция сигнализации дополнительно включает в себя кодирование значения num_units_in_tick, указывающего число единиц времени синхросигнала, работающего на частоте значения time_scale, указывающего число единиц времени, которые проходят за 1 с, и кодирование значения time_scale, при этом значения num_units_in_tick и time_scale используются декодером для регулирования повторения кадров и/или длительности во время воспроизведения на покадровой основе.
Положение 17. Долговременный процессорночитаемый носитель данных согласно положениям 14, 15 или 16, в которых секция сигнализации содержит секцию сообщения дополнительной улучшающей информации (SEI) или секцию сообщения информации применимости видео (VUI).
Положение 18. Долговременный процессорночитаемый носитель данных, на котором сохранена структура кодированного видеопотока, причем структура кодированного видеопотока содержит секцию кодированных изображений, включающую в себя кодирование последовательности видеоизображений; и секцию сигнализации, включающую в себя кодирование следующего:
флаг первого угла затвора, который указывает, является или нет информация угла затвора фиксированной для всех временных подслоев в секции кодированных изображений, и если флаг первого угла затвора указывает, что информация угла затвора является фиксированной, то секция сигнализации включает в себя значение числителя фиксированного угла затвора и значение знаменателя фиксированного угла затвора для отображения декодированной версии последовательности видеоизображений для всех временных подслоев в секции кодированных изображений с использованием фиксированного угла затвора на основе значения числителя фиксированного угла затвора и значения знаменателя фиксированного угла затвора, иначе секция сигнализации включает в себя массив значений числителя угла затвора для подслоя и массив значений знаменателя угла затвора для подслоя, при этом каждое из значений числителя угла затвора для подслоя и значений знаменателя угла затвора для подслоя применяется, чтобы вычислять соответствующий угол затвора подслоя для отображения декодированной версии временного подслоя последовательности видеоизображений.
Положение 19. Долговременный процессорночитаемый носитель данных, на котором сохранена структура кодированного видеопотока, причем структура кодированного видеопотока содержит секцию кодированных изображений, включающую в себя кодирование последовательности видеоизображений; и секцию сигнализации, включающую в себя кодирование следующего:
флаг первой длительности экспозиции, который указывает, является или нет информация длительности экспозиции фиксированной для всех временных подслоев в секции кодированных изображений, и если флаг первой длительности экспозиции указывает, что информация длительности экспозиции является фиксированной, то секция сигнализации включает в себя значение числителя фиксированной длительности экспозиции и значение знаменателя фиксированной длительности экспозиции для отображения декодированной версии последовательности видеоизображений для всех временных подслоев в секции кодированных изображений с использованием фиксированной длительности экспозиции на основе значения числителя фиксированной длительности экспозиции и значения знаменателя фиксированной
- 31 044734 длительности экспозиции, иначе секция сигнализации включает в себя массив значений числителя длительности экспозиции в подслое и массив значений знаменателя длительности экспозиции в подслое, при этом каждое из значений числителя длительности экспозиции в подслое и значений знаменателя длительности экспозиции в подслое применяется, чтобы вычислять соответствующую длительность экспозиции в подслое для отображения декодированной версии временного подслоя последовательности видеоизображений.
Положение 20. Долговременный процессорночитаемый носитель данных согласно положению 19, в котором секция сигнализации дополнительно содержит параметры сигнализации, чтобы определять значение такта синхросигнала.
Положение 21. Долговременный процессорночитаемый носитель данных согласно положению 20, в котором параметры сигнализации для определения значения такта синхросигнала содержат первый параметр на основе тактов синхросигнала, выражающий время экспозиции в числе единиц времени синхросигнала, и второй параметр на основе тактов синхросигнала, выражающий временную шкалу экспозиции числа единиц времени за 1 с, и значение такта синхросигнала определяется в качестве отношения первого параметра на основе тактов синхросигнала и второго параметра на основе тактов синхросигнала.
Положение 22. Долговременный процессорночитаемый носитель данных, на котором сохранена структура кодированного видеопотока, причем структура кодированного видеопотока содержит секцию кодированных изображений, включающую в себя кодирование последовательности видеоизображений; и секцию сигнализации, включающую в себя кодирование следующего:
основывающийся на временной шкале параметр интервала срабатывания затвора, указывающий число единиц времени, проходящих за 1 с, основывающийся на тактах синхросигнала параметр интервала срабатывания затвора, указывающий число единиц времени синхросигнала, работающего на частоте основывающегося на временной шкале параметра интервала срабатывания затвора, при этом основывающийся на тактах синхросигнала параметр интервала срабатывания затвора, деленный на основывающийся на временной шкале параметр интервала срабатывания затвора, указывает значение длительности экспозиции, флаг длительности интервала срабатывания затвора, указывающий, является или нет информация длительности экспозиции фиксированной для всех временных подслоев в секции кодированных изображений, и если флаг длительности интервала срабатывания затвора указывает то, что информация длительности экспозиции является фиксированной, то декодированная версия последовательности видеоизображений для всех временных подслоев в секции кодированных изображений декодируется посредством вычисления значения длительности экспозиции на основе основывающегося на временной шкале параметра интервала срабатывания затвора и основывающегося на тактах синхросигнала параметра интервала срабатывания затвора, иначе секция сигнализации включает в себя один или более массивов параметров подслоя, при этом значения в одном или более массивах параметров подслоя, комбинированные с основывающимся на временной шкале параметром интервала срабатывания затвора, используются для того, чтобы вычислять для каждого подслоя соответствующее значение длительности экспозиции в подслое для отображения декодированной версии временного подслоя последовательности видеоизображений.
Положение 23. Долговременный процессорночитаемый носитель данных согласно положению 22, в котором упомянутые один или более массивов параметров подслоя содержат массив значений тактов синхросигнала касаемо интервала затвора, каждый из которых указывает число единиц времени синхросигнала, работающего на частоте основывающегося на временной шкале параметра интервала срабатывания затвора.
Положение 24. Долговременный процессорночитаемый носитель данных согласно положению 22, в котором упомянутые один или более массивов параметров подслоя содержат первый массив со значениями числителя длительности экспозиции в подслое и второй массив значений знаменателя длительности экспозиции в подслое.
Положение 25. Долговременный машиночитаемый носитель данных, на котором сохранены машиноисполняемые инструкции для осуществления с помощью одного или более процессоров способа согласно любому из положений 1-13.
Положение 26. Оборудование, содержащее процессор и выполненное с возможностью осуществлять любой из способов согласно положениям 1-13.
-

Claims (5)

  1. ФОРМУЛА ИЗОБРЕТЕНИЯ
    1. Способ декодирования потока битов видео, содержащий этапы, на которых принимают кодированный поток битов видео, содержащий секцию кодированных изображений, включающую в себя кодирование последовательности видеоизображений, и секцию сигнализации, включающую в себя параметры интервала срабатывания затвора, причем параметры интервала срабатывания затвора содержат основывающийся на временной шкале параметр интервала срабатывания затвора, указывающий число единиц времени, проходящих за одну секунду, основывающийся на тактах синхросигнала параметр интервала срабатывания затвора, указывающий число единиц времени синхросигнала, работающего на частоте основывающегося на временной шкале параметра интервала срабатывания затвора, флаг длительности интервала срабатывания затвора, указывающий, является ли информация длительности экспозиции фиксированной для всех временных подслоев в секции кодированных изображений, и если флаг длительности интервала срабатывания затвора указывает, что информация длительности экспозиции является фиксированной, то декодированная версия последовательности видеоизображений для всех временных подслоев в секции кодированных изображений декодируется посредством вычисления значения длительности экспозиции на основе основывающегося на временной шкале параметра интервала срабатывания затвора и основывающегося на тактах синхросигнала параметра интервала срабатывания затвора, иначе секция сигнализации включает в себя один или более массивов параметров подслоя, при этом значения в одном или более массивах параметров подслоя, комбинированные с основывающимся на временной шкале параметром интервала срабатывания затвора, используются для того, чтобы вычислять для каждого подслоя соответствующее значение длительности экспозиции в подслое для отображения декодированной версии временного подслоя последовательности видеоизображений; и декодируют последовательность видеоизображений на основе параметров интервала срабатывания.
  2. 2. Способ по п.1, в котором упомянутые один или более массивов параметров подслоя содержат массив значений тактов синхросигнала касаемо интервала срабатывания затвора, каждое из которых указывает число единиц времени синхросигнала, работающего на частоте основывающегося на временной шкале параметра интервала срабатывания затвора.
  3. 3. Способ по п.1, в котором значение длительности экспозиции вычисляется как частное от деления основывающегося на тактах синхросигнала параметра интервала срабатывания затвора на основывающийся на временной шкале параметр интервала срабатывания затвора.
  4. 4. Способ по п.1, в котором секция сигнализации содержит секцию сообщения дополнительной улучшающей информации (SEI) или секцию сообщения информации применимости видео (VUI).
  5. 5. Способ кодирования потока битов видео, содержащий этапы, на которых принимают последовательность видеоизображений и связанную с ней информацию интервала срабатывания затвора; и генерируют кодированный поток битов видео, содержащий секцию кодированных изображений, включающую в себя кодирование последовательности видеоизображений, и секцию сигнализации, включающую в себя параметры интервала срабатывания затвора для последовательности видеоизображений, причем параметры интервала срабатывания затвора содержат основывающийся на временной шкале параметр интервала срабатывания затвора, указывающий число единиц времени, проходящих за одну секунду, основывающийся на тактах синхросигнала параметр интервала срабатывания затвора, указывающий число единиц времени синхросигнала, работающего на частоте основывающегося на временной шкале параметра интервала срабатывания затвора, флаг длительности интервала срабатывания затвора, указывающий, является ли информация длительности экспозиции фиксированной для всех временных подслоев в секции кодированных изображений, и если флаг длительности интервала срабатывания затвора указывает, что информация длительности экспозиции является фиксированной, то декодированная версия последовательности видеоизображений для всех временных подслоев в секции кодированных изображений декодируется посредством вычисления значения длительности экспозиции на основе основывающегося на временной шкале параметра интервала срабатывания затвора и основывающегося на тактах синхросигнала параметра интервала срабатывания затвора, иначе секция сигнализации включает в себя один или более массивов параметров подслоя, при этом значения в одном или более массивах параметров подслоя, комбинированные с основывающимся на временной шкале параметром интервала срабатывания затвора, используются для того, чтобы вычислять для каждого подслоя соответствующее значение длительности экспозиции в подслое для отображения
    -
EA202193226 2019-03-11 2020-03-11 Кодирование видео, масштабируемое по частоте кадров EA044734B1 (ru)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US62/816,521 2019-03-11
US62/850,985 2019-05-21
US62/883,195 2019-08-06
US62/904,744 2019-09-24

Publications (1)

Publication Number Publication Date
EA044734B1 true EA044734B1 (ru) 2023-09-27

Family

ID=

Similar Documents

Publication Publication Date Title
CA3187271C (en) Frame-rate scalable video coding
EA044734B1 (ru) Кодирование видео, масштабируемое по частоте кадров
EA042523B1 (ru) Кодирование видео, масштабируемое по частоте кадров
EA047543B1 (ru) Кодирование видео, масштабируемое по частоте кадров
KR20230026549A (ko) 프레임 레이트 스케일러블 비디오 코딩