EA042523B1 - VIDEO ENCODING SCALED BY FRAME RATE - Google Patents

VIDEO ENCODING SCALED BY FRAME RATE Download PDF

Info

Publication number
EA042523B1
EA042523B1 EA202092024 EA042523B1 EA 042523 B1 EA042523 B1 EA 042523B1 EA 202092024 EA202092024 EA 202092024 EA 042523 B1 EA042523 B1 EA 042523B1
Authority
EA
Eurasian Patent Office
Prior art keywords
frame
shutter
flag
angle
pic
Prior art date
Application number
EA202092024
Other languages
Russian (ru)
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 EA042523B1 publication Critical patent/EA042523B1/en

Links

Description

Перекрестные ссылки на родственные заявкиCross-references to related applications

Настоящая заявка притязает на приоритет предварительной заявки на патент (США) № 62/816521, поданной 11 марта 2019 г., предварительной заявки на патент (США) № 62/850985, поданной 21 мая 2019 г., предварительной заявки на патент (США) № 62/883195, поданной 6 августа 2019 г., и предварительной заявки на патент (США) № 62/904744, поданной 24 сентября 2019 г., каждая из которых полностью содержится в данном документе по ссылке.This application claims priority to U.S. Provisional Application No. 62/816521 filed March 11, 2019, U.S. Provisional Application No. 62/850985 filed May 21, 2019, U.S. Provisional Application No. 62/883195, filed August 6, 2019, and U.S. Provisional Patent Application No. 62/904744, filed September 24, 2019, each of which is incorporated herein by reference in its entirety.

Область техники, к которой относится изобретениеThe field of technology to which the invention belongs

Настоящий документ в общем относится к изображениям. Более конкретно, вариант осуществления настоящего изобретения относится к кодированию видео, масштабируемому по частоте кадров.This document generally refers to images. More specifically, an embodiment of the present invention relates to frame rate scalable video coding.

Уровень техникиState of the art

При использовании в данном документе, термин динамический диапазон (DR) может относиться к способности зрительной системы человека (HVS) воспринимать диапазон интенсивности (например, яркость, сигнал яркости) в изображении, например, от самых темно-серых цветов (черных цветов) до самых ярких белых цветов (высоких светов). В этом смысле DR относится к связанной со сценой интенсивности. DR также может относиться к способности устройства отображения адекватно или приблизительно выполнять рендеринг диапазона интенсивности конкретной широты. В этом смысле DR относится к связанной со отображением интенсивности. Если конкретный смысл явно не указывается как имеющий конкретную значимость в любой точке в описании в данном документе, необходимо сделать вывод, что термин может использоваться в любом смысле, например, взаимозаменяемо.As used herein, the term dynamic range (DR) may refer to the ability of the human visual system (HVS) to perceive a range of intensity (e.g., luminance, luminance signal) in an image, e.g., from the darkest grays (blacks) to the deepest bright white flowers (high lights). In this sense, DR refers to scene-related intensity. DR can also refer to the ability of a display device to adequately or approximately render a specific latitude range of intensity. In this sense, DR refers to display-related intensity. Unless a particular sense is explicitly indicated as having a particular meaning at any point in the description herein, it must be concluded that the term can be used in any sense, such as interchangeably.

При использовании в данном документе термин расширенный динамический диапазон (HDR) относится к DR-широте, которая охватывает 14-15 порядков величины зрительной системы человека (HVS). На практике DR, по которому человек может одновременно воспринимать обширную широту в диапазоне интенсивности, может в определенной степени усекаться, относительно HDR.As used herein, the term high dynamic range (HDR) refers to a DR breadth that spans 14-15 orders of magnitude of the human visual system (HVS). In practice, DR, over which a person can simultaneously perceive a wide breadth in the range of intensity, may be truncated to a certain extent, relative to HDR.

На практике изображения содержат один или более цветовых компонентов (например, сигнал Y яркости и сигнал Cb и Cr цветности), при этом каждый цветовой компонент представляется посредством точности п битов в расчете на пиксел (например, n=8). При использовании линейного кодирования яркости изображения, в которых n<8 (например, цветные 24-битовые JPEG-изображения), считаются изображениями стандартного динамического диапазона (SDR), тогда как изображения, в которых n>8, могут считаться изображениями улучшенного динамического диапазона. HDR-изображения также могут сохраняться и распространяться с использованием высокоточных (например, 16-битовых) форматов с плавающей запятой, таких как OpenEXR-формат файлов, разработанный компанией Industrial Light and Magic.In practice, images comprise one or more color components (eg, a Y luminance signal and a Cb and Cr chrominance signal), with each color component represented by a precision of n bits per pixel (eg, n=8). When using linear luminance coding, images in which n<8 (eg, color 24-bit JPEG images) are considered standard dynamic range (SDR) images, while images in which n>8 may be considered enhanced dynamic range images. HDR images can also be stored and distributed using high-precision (eg, 16-bit) floating point formats such as the OpenEXR file format developed by 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-контента.Currently, distribution of high dynamic range video content such as Dolby Vision by Dolby Laboratories or HDR10 in Blu-Ray is limited to 4K resolution (e.g. 4096x2160 or 3840x2160 etc.) and 60 frames per second (fps) due to the characteristics of many playback devices. Future versions anticipate that content up to 8K resolution (eg 7680x4320) and 120fps may be available for distribution and playback. It is desirable that future content types be compatible with existing playback devices to simplify the ecosystem of HDR content for playback such as Dolby Vision. Ideally, content creators should be able to adapt and distribute future HDR technologies without having to also extract and distribute special versions of content that are compatible with existing HDR devices (such as HDR10 or Dolby Vision). The inventors should take into account here that improved technologies are required for the scalable distribution of video content, in particular HDR content.

Подходы, описанные в этом разделе, представляют собой подходы, которые могут рассматриваться, но не обязательно представляют собой подходы, которые заранее задуманы или рассмотрены. Следовательно, если не указано иное, не следует предполагать, что какой-либо из описанных в этом разделе подходов относится к предшествующему уровню техники просто в силу своего включения в этот раздел. Аналогично вопросы, идентифицированные относительно одного или более подходов, не должны предполагаться как распознанные в предшествующем уровне техники на основе этого раздела, если не указано иное.The approaches described in this section are approaches that may be considered, but are not necessarily approaches that are preconceived or considered. Therefore, unless otherwise indicated, any of the approaches described in this section should not be assumed to be prior art simply by virtue of their inclusion in this section. Likewise, matters identified with respect to one or more of the approaches should not be assumed to be recognized in the prior art based on this section unless otherwise noted.

Краткое описание чертежейBrief description of the drawings

Вариант осуществления настоящего изобретения проиллюстрирован в качестве примера, а не в качестве ограничения; на прилагаемых чертежах аналогичные ссылки с номерами упоминаются как аналогичные элементы.An embodiment of the present invention is illustrated by way of example and not limitation; in the accompanying drawings, like reference numbers are referred to as like elements.

Фиг. 1 иллюстрирует примерный процесс для конвейера доставки видео.Fig. 1 illustrates an exemplary process for a video delivery pipeline.

Фиг. 2 иллюстрирует примерный процесс комбинирования последовательных исходных кадров, чтобы выполнять рендеринг целевой частоты кадров при целевом угле затвора согласно варианту осуществления этого изобретения.Fig. 2 illustrates an exemplary process for combining successive source frames to render a target frame rate at a target shutter angle according to an embodiment of this invention.

Фиг. 3 иллюстрирует примерное представление входной последовательности с переменной входной частотой кадров и переменным углом затвора в контейнере с фиксированной частотой кадров согласно варианту осуществления этого изобретения.Fig. 3 illustrates an exemplary representation of a variable input frame rate input sequence with a variable shutter angle in a fixed frame rate container according to an embodiment of this invention.

- 1 042523- 1 042523

Фиг. 4 иллюстрирует примерное представление для временной масштабируемости при различных частотах кадров и углах затвора с обратной совместимостью согласно варианту осуществления этого изобретения.Fig. 4 illustrates an exemplary view for temporal scalability at various frame rates and backward compatible shutter angles according to an embodiment of this invention.

Подробное описание примерных вариантов осуществленияDetailed Description of Exemplary Embodiments

В данном документе описываются примерные варианты осуществления, которые относятся к масштабируемости по частоте кадров для кодирования видео. В нижеприведенном описании для целей пояснения, многие конкретные подробности излагаются для того, чтобы обеспечивать полное понимание различных вариантов осуществления настоящего изобретения. Тем не менее должно быть очевидным то, что различные варианты осуществления настоящего изобретения могут осуществляться на практике без этих конкретных подробностей. В других случаях известные структуры и устройства не описываются исчерпывающе подробно, чтобы не допускать излишней неопределенности, затруднения понимания или усложнения вариантов осуществления настоящего изобретения.This document describes exemplary embodiments that relate to frame rate scalability for video coding. In the following description, for purposes of explanation, many specific details are set forth in order to provide a thorough understanding of the various embodiments of the present invention. However, it should be apparent that various embodiments of the present invention may be practiced without these specific details. In other instances, well-known structures and devices are not described in exhaustive detail so as to avoid undue ambiguity, obscuring understanding, or complicating embodiments of the present invention.

Сущность изобретения.The essence of the invention.

Примерные варианты осуществления, описанные в данном документе, относятся к масштабируемости по частоте кадров при кодировании видео. В варианте осуществления система с процессором принимает кодированный поток битов, содержащий кодированные видеокадры, при этом один или более кодированных кадров кодируются на первой частоте кадров и при первом угле затвора. Процессор принимает первый флаг, указывающий присутствие группы кодированных кадров, которые должны декодироваться на второй частоте кадров и при втором угле затвора; он осуществляет доступ из кодированного потока битов к значениям второй частоты кадров и второго угла затвора для группы кодированных кадров и формирует декодированные кадры на второй частоте кадров и при втором угле затвора на основе группы кодированных кадров, первой частоты кадров, первого угла затвора, второй частоты кадров и второго угла затвора.The exemplary embodiments described herein relate to frame rate scalability in video coding. In an embodiment, the processor system receives an encoded bitstream containing encoded video frames, wherein one or more encoded frames are encoded at a first frame rate and at a first shutter angle. The processor receives a first flag indicating the presence of a group of encoded frames to be decoded at a second frame rate and a second shutter angle; it accesses the values of the second frame rate and the second shutter angle for the group of coded frames from the encoded bitstream, and generates decoded frames at the second frame rate and the second shutter angle based on the group of coded frames, the first frame rate, the first shutter angle, the second frame rate and a second shutter angle.

Во втором варианте осуществления декодер с процессором принимает кодированный поток битов, содержащий группы кодированных видеокадров, при этом все кодированные видеокадры в кодированном потоке битов кодируются на первой частоте кадров;In a second embodiment, a decoder with a processor receives an encoded bitstream containing groups of encoded video frames, wherein all encoded video frames in the encoded bitstream are encoded at a first frame rate;

принимает число N комбинированных кадров;receives a number N of combined frames;

принимает значение для базовой частоты кадров;takes a value for the base frame rate;

осуществляет доступ к группе из N последовательных кодированных кадров, при этом i-й кодированный кадр в группе из N последовательных кодированных кадров, где i=1, 2,..., N, представляет среднее вплоть до i входных видеокадров, кодированных в кодере на базовой частоте кадров и при i-м угле затвора, на основе первого угла затвора и первой частоты кадров;accesses a group of N consecutive encoded frames, where the i-th encoded frame in the group of N consecutive encoded frames, where i=1, 2,..., N, represents the average of up to i input video frames encoded in the encoder on the base frame rate and at the i-th shutter angle, based on the first shutter angle and the first frame rate;

осуществляет доступ из кодированного потока битов или из пользовательского ввода к значениям второй частоты кадров и второго угла затвора, для декодирования группы из N последовательных кодированных кадров на второй частоте кадров и при втором угле затвора; и формирует декодированные кадры на второй частоте кадров и при втором угле затвора на основе группы из N последовательных кодированных кадров, первой частоты кадров, первого угла затвора, второй частоты кадров и второго угла затвора.accesses, from the encoded bitstream or user input, the values of the second frame rate and the second shutter angle to decode a group of N consecutive encoded frames at the second frame rate and the second shutter angle; and generates decoded frames at the second frame rate and at the second shutter angle based on the group of N consecutive encoded frames, the first frame rate, the first shutter angle, the second frame rate, and the second shutter angle.

В третьем варианте осуществления структура кодированного видеопотока содержит секцию кодированных изображений, включающую в себя кодирование последовательности видеоизображений; и секцию сигнализации, включающую в себя кодирование параметра на основе временной шкалы касательно интервала срабатывания затвора, указывающего число единиц времени, проходящих за одну секунду;In the third embodiment, the structure of the encoded video stream contains a section of encoded images, including encoding a sequence of video images; and a signaling section including encoding a timeline-based parameter regarding a shutter interval indicating a number of units of time elapsed in one second;

параметра на основе тактов синхросигнала касательно интервала срабатывания затвора, указывающего число единиц времени синхросигнала, работающего на частоте параметра на основе временной шкалы касательно интервала срабатывания затвора, при этом параметр на основе тактов синхросигнала касательно интервала срабатывания затвора, деленный на параметр на основе временной шкалы касательно интервала срабатывания затвора, указывает значение длительности экспозиции;of the clock cycle-based parameter regarding the shutter interval indicating the number of units of time of the clock signal operating at the frequency of the time-based parameter regarding the shutter interval, wherein the clock-based parameter regarding the shutter interval divided by the time scale-based parameter regarding the interval shutter release, indicates the value of the exposure duration;

флага длительности интервала срабатывания затвора, указывающего, является или нет информация длительности экспозиции фиксированной для всех временных подслоев в секции кодированных изображений, причем если флаг длительности интервала срабатывания затвора указывает, что информация длительности экспозиции является фиксированной, то декодированная версия последовательности видеоизображений для всех временных подслоев в секции кодированных изображений декодируется посредством вычисления значения длительности экспозиции на основе параметра на основе временной шкалы касательно интервала срабатывания затвора и параметра на основе тактов синхросигнала касательно интервала срабатывания затвора, иначе секция сигнализации включает в себя один или более массивов параметров подслоя, при этом значения в одном или более массивов параметров подслоя, комбинированные с параметром на основе временной шкалы касательно интервала срабатывания затвора, используются для того, чтобы вычислять для каждого подслоя соответствующее значение длительности экспозиции в подслое для отображенияa shutter interval duration flag indicating whether or not the exposure duration information is fixed for all temporal sublayers in the coded picture section, wherein if the shutter interval duration flag indicates that the exposure duration information is fixed, then the decoded version of the video sequence for all temporal sublayers in the the coded image section is decoded by calculating the exposure duration value based on the timeline-based parameter about the shutter interval and the parameter based on the clock cycles about the shutter interval, otherwise the signaling section includes one or more sublayer parameter arrays, with values in one or more arrays of sublayer parameters, combined with a time-based parameter regarding the shutter interval, are used to calculate for each sublayer o the corresponding exposure duration value in the sublayer to display

- 2 042523 декодированной версии временного подслоя последовательности видеоизображений.- 2 042523 decoded version of the time sublayer of the video sequence.

Примерный конвейер обработки доставки видео.An example video delivery processing pipeline.

Фиг. 1 иллюстрирует примерный процесс традиционного конвейера (100) доставки видео, показывающий различные стадии от видеозахвата до отображения видеоконтента. Последовательность видеокадров (102) захватывается или формируется с использованием блока (105) формирования изображений. Видеокадры (102) могут захватываться в цифровой форме (например, посредством цифровой камеры) или формироваться посредством компьютера (например, с использованием компьютерной анимации), чтобы предоставлять видеоданные (107). Альтернативно видеокадры (102) могут захватываться на пленке посредством пленочной камеры. Пленка преобразуется в цифровой формат, чтобы предоставлять видеоданные (107). В производственной фазе (110) видеоданные (107) редактируются, чтобы предоставлять производственный видеопоток (112).Fig. 1 illustrates an exemplary process of a conventional video delivery pipeline (100) showing the various stages from video capture to display of video content. A sequence of video frames (102) is captured or generated using an imaging unit (105). Video frames (102) may be captured digitally (eg, by means of a digital camera) or generated by a computer (eg, using computer animation) to provide video data (107). Alternatively, video frames (102) may be captured on film by a film camera. The film is digitized to provide video data (107). In the production phase (110), the video data (107) is edited to provide a production video stream (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).The video data of the production stream (112) is then provided to the processor in block (115) for post-production video editing. Video compositing in block (115) may include adjusting or modifying colors or brightness in specific areas of an image to improve image quality or achieve a specific appearance for an image in accordance with the creative intent of the video creator. This is sometimes called color sync or color grading. Other editing (e.g., selecting and arranging scenes, cropping an image, adding computer-generated visual effects, controlling jitter or blur, frame rate control, etc.) may be performed in block (115) to result in the final production version (117) for distribution. During the layout (115) video video images are viewed on the reference display (125). After assembling (115), the final production video data (117) can be delivered to the encoding unit (120) for downstream delivery to decoding and playback devices such as television receivers, set-top boxes, movie theaters, and the like. In some embodiments, the encoding unit (120) may include audio and video encoders, such as audio and video encoders specified by ATSC, DVB, DVD, Blu-Ray, and other delivery formats, to generate a coded stream (122) bits. At the receiver, the encoded bitstream (122) is decoded by a decoder (130) to generate a decoded signal (132) representing an identical or good approximation of signal (117). The receiver may be coupled to a target display (140) which may have completely different characteristics than the reference display (125). In this case, the display control block (135) may be used to link the dynamic range of the decoded signal (132) to the characteristics of the target display (140) by generating a signal associated with the display (137).

Масштабируемое кодирование.scalable coding.

Масштабируемое кодирование уже составляет часть ряда числа стандартов кодирования видео, таких как MPEG-2, AVC и HEVC. В вариантах осуществления этого изобретения масштабируемое кодирование расширяется, чтобы повышать производительность и гибкость, в частности, поскольку оно относится к HDR-контенту очень высокого разрешения.Scalable coding already forms part of a number of video coding standards such as MPEG-2, AVC and HEVC. In embodiments of this invention, scalable encoding is extended to improve performance and flexibility, in particular as it relates to very high resolution HDR content.

При использовании в данном документе термин угол затвора обозначает регулируемую настройку затвора, которая управляет пропорцией времени, когда пленка экспонируется на свету в течение каждого кадрового интервала. Например, в варианте осуществления угол затвора время экспозиции 360 кадровый интервал (1)As used herein, the term shutter angle refers to an adjustable shutter setting that controls the proportion of time that film is exposed to light during each frame interval. For example, in an embodiment, the shutter angle exposure time is 360 frame intervals (1)

Термин происходит из унаследованных механических вращающихся затворов; тем не менее современные цифровые камеры также могут регулировать свой затвор электронно. Кинематографисты могут использовать угол затвора, для того чтобы управлять величиной размытости или дрожания при движении, которая записывается в каждом кадре. Следует отметить, что вместо использования времени экспозиции можно также использовать альтернативные термины, такие как длительность экспозиции, интервал срабатывания затвора и скорость срабатывания затвора. Аналогично вместо использования кадрового интервала можно использовать термин длительность кадра. Альтернативно можно заменять кадровый интервал на 1/частота кадров. Значение времени экспозиции типично меньше или равно длительности кадра. Например, угол затвора в 180° указывает, что время экспозиции составляет половину длительности кадра. В некоторых ситуациях время экспозиции может превышать длительность кадра кодированного видео, например, когда частота кодированных кадров составляет 120 кадров/с и частота кадров ассоциированного видеоконтента до кодирования и отображения составляет 60 кадров/с.The term comes from the legacy mechanical rotary shutters; however, modern digital cameras can also adjust their shutter electronically. Filmmakers can use the shutter angle to control the amount of motion blur or judder that is recorded in each frame. It should be noted that instead of using exposure time, alternative terms such as exposure time, shutter interval, and shutter speed can also be used. Similarly, instead of using a frame interval, the term frame duration can be used. Alternatively, you can replace the frame interval with 1/frame rate. The exposure time value is typically less than or equal to the frame duration. For example, a shutter angle of 180° indicates that the exposure time is half the frame duration. In some situations, the exposure time may exceed the frame duration of the encoded video, for example, when the encoded frame rate is 120 frames/s and the frame rate of the associated video content prior to encoding and display is 60 frames/s.

Рассмотрим без ограничения вариант осуществления, в котором исходный контент снимается (или формируется) на исходной частоте кадров (например, 120 кадров/с) с углом затвора в 360°. После этого в приемном устройстве можно выполнять рендеринг видеовывода на множестве частот кадров, равных или ниже исходной частоты кадров, посредством обоснованной комбинации исходных кадров, например, посредством усреднения или других известных в данной области техники операций.Consider, without limitation, an embodiment in which source content is filmed (or rendered) at a native frame rate (eg, 120 fps) with a shutter angle of 360°. The receiver can then render the video output at a plurality of frame rates equal to or lower than the original frame rate by a reasonable combination of source frames, such as averaging or other operations known in the art.

Процесс комбинирования может выполняться с нелинейными кодированными сигналами (например, с использованием гаммы, PQ или HLG), но наилучшее качество изображений получается посредст- 3 042523 вом комбинирования кадров в область линейного света сначала, преобразования нелинейных кодированных сигналов в представления с помощью линейного света после этого, комбинирования преобразованных кадров и в завершение повторного кодирования вывода с нелинейной передаточной функцией. Этот процесс предоставляет более точное моделирование физической экспозиции камеры, чем комбинирование в нелинейной области.The combining process can be performed on non-linear coded signals (for example, using gamma, PQ, or HLG), but the best image quality is obtained by combining frames into the line light region first, converting the non-linear coded signals to line light representations after that. , combining the transformed frames, and finally re-encoding the output with a non-linear transfer function. This process provides a more accurate simulation of the physical exposure of the camera than combining in the non-linear domain.

В общих чертах процесс комбинирования кадров может быть выражаться с точки зрения исходной частоты кадров, целевой частоты кадров, целевого угла затвора и числа кадров, которые должны комбинироваться следующим образом:In general terms, the frame combining process can be expressed in terms of source frame rate, target frame rate, target shutter angle, and number of frames to be combined as follows:

n_frames=(target_shutter_angle/360)*(original_frame_rate/target_frame_rate) (2) что является эквивалентным следующему:n_frames=(target_shutter_angle/360)*(original_frame_rate/target_frame_rate) (2) which is equivalent to the following:

target_shutter_angle=3 60* 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=3 60* n_frames * (target_frame_rate/original_frame_rate) (3) where n_frames is the number of combined frames, original_frame_rate is the frame rate of the original content, target_frame_rate is the frame rate to be prepared by rendering (where target_frame_rate<original_frame_rate), and target_shutter_angle specifies the value required motion blur.

В этом примере максимальное значение 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 является ненулевым целым числом.In this example, the maximum target_shutter_angle is 360°, which corresponds to the maximum motion blur. The minimum value of target_shutter_angle can be expressed as 360*(target_frame_rate/original_frame_rate) and corresponds to the minimum motion blur. The maximum value of n_frames can be expressed as (original_frame_rate/target_frame_rate). The target_frame_rate and target_shutter_angle values must be chosen such that the value of n_frames is a non-zero integer.

В частном случае, в котором исходная частота кадров составляет 120 кадров/с, уравнение (2) может перезаписываться следующим образом:In the particular case in which the original frame rate is 120 fps, Equation (2) can be rewritten as:

n Jramcs=targcl_shutlcr_angle/(3 * target Jramc_ratc) (4) что является эквивалентным следующему: target_shutter_angle=3*njrames*target_frame_rate (5)n Jramcs=targcl_shutlcr_angle/(3 * target Jramc_ratc) (4) which is equivalent to: target_shutter_angle=3*njrames*target_frame_rate (5)

Взаимосвязи между значениями target_frame_rate, n_frames и target_shutter_angle показаны в табл. 1 для случая original_frame_rate=120 кадров/с. В табл. 1 NA указывает, что соответствующая комбинация целевой частоты кадров и числа комбинированных кадров не разрешается.The relationships between the target_frame_rate, n_frames, and target_shutter_angle values are shown in Table 1. 1 for the case original_frame_rate=120 fps. In table. 1 NA indicates that the corresponding combination of the target frame rate and the number of combined frames is not allowed.

Таблица 1Table 1

Взаимосвязь целевой частоты кадров, числа комбинированных кадров и целевого угла затвора для исходной частоты кадров в 120 кадров/сRelationship between target frame rate, combined frames, and target shutter angle for a native frame rate of 120 fps

Целевая частота кадров (кадр/с) Target frame rate (fps) Число комбинированных кадров Number of combined frames 5 5 4 4 3 3 2 2 1 1 Целевой угол затвора (градусы) Target shutter angle (degrees) 24 30 40 60 24 thirty 40 60 360 NA NA NA 360 NA NA NA 288 360 NA NA 288 360 NA NA 216 270 360 NA 216 270 360 NA 144 180 240 360 144 180 240 360 72 90 120 180 72 90 120 180

Фиг. 2 иллюстрирует примерный процесс комбинирования последовательных исходных кадров, чтобы выполнять рендеринг целевой частоты кадров при целевом угле затвора согласно варианту осуществления. С учетом входной последовательности (205) при 120 кадров/с и при угле затвора в 360°, процесс формирует выходную видеопоследовательность (210) при 24 кадрах/с и при угле затвора в 216° посредством комбинирования трех входных кадров в наборе из пяти последовательных кадров (например, первых трех последовательных кадров) и отбрасывания двух других. Следует отметить, что в некоторых вариантах осуществления, выходной кадр 01 (210) может формироваться посредством комбинирования альтернативных входных кадров (205), таких как кадры 1, 3 и 5 или кадры 2, 4 и 5 и т.п.; тем не менее предполагается, что комбинирование последовательных кадров должно давать в результате видеовывод лучшего качества.Fig. 2 illustrates an exemplary process for combining successive source frames to render a target frame rate at a target shutter angle according to an embodiment. Given an input sequence (205) at 120 fps and a shutter angle of 360°, the process generates an output video sequence (210) at 24 fps and a shutter angle of 216° by combining three input frames in a set of five consecutive frames (for example, the first three consecutive frames) and discarding the other two. It should be noted that in some embodiments, output frame 01 (210) may be generated by combining alternative input frames (205) such as frames 1, 3, and 5 or frames 2, 4, and 5, etc.; however, it is expected that combining successive frames should result in better quality video output.

Желательно поддерживать исходный контент с переменной частотой кадров, например, с тем чтобы управлять художественным и стилистическим эффектом. Также желательно, если переменная входная частота кадров исходного контента пакетируется в контейнере, который имеет фиксированную частоту кадров, чтобы упрощать производство, обмен и распространение контента. В качестве примера представляются три варианта осуществления в отношении того, как представлять видеоданные с переменной частотой кадров в контейнере для фиксированной частоты кадров. Для целей ясности и без ограничения нижеприведенные описания используют контейнер для фиксированных 120 кадров/с, но подходы могут легко расширяться на контейнер для альтернативной частоты кадров.It is desirable to maintain variable frame rate source content, for example, in order to control artistic and stylistic effect. It is also desirable if the variable input frame rate of the source content is packaged in a container that has a fixed frame rate to facilitate content production, exchange and distribution. By way of example, three embodiments are presented with respect to how to represent variable frame rate video data in a fixed frame rate container. For purposes of clarity and without limitation, the descriptions below use a container for a fixed 120 frames/s, but the approaches can easily be extended to a container for an alternative frame rate.

- 4 042523- 4 042523

Первый вариант осуществления (переменная частота кадров).First Embodiment (Variable Frame Rate).

Первый вариант осуществления представляет собой явное описание переменной (непостоянной) частоты кадров исходного контента, пакетированного в контейнере, имеющем постоянную частоту кадров. Например, исходный контент, который имеет различную скорость кадров, скажем, в 24, 30, 40, 60 или 120 кадров/с, для различных сцен может пакетироваться в контейнере, имеющем постоянную частоту кадров в 120 кадров/с. Согласно этому примеру каждый входной кадр может дублироваться 5, 4, 3, 2 или 1 раз, чтобы пакетировать его в общий контейнер для 120 кадров/с.The first embodiment is an explicit description of a variable (non-constant) frame rate of source content packaged in a container having a constant frame rate. For example, source content that has a different frame rate, say 24, 30, 40, 60, or 120 fps for different scenes, can be packaged in a container having a constant frame rate of 120 fps. According to this example, each input frame can be duplicated 5, 4, 3, 2, or 1 times to package it into a common 120 frame/s container.

Фиг. 3 иллюстрирует пример входной видеопоследовательности А с переменной частотой кадров и переменным углом затвора, которая представляется в кодированном потоке В битов с фиксированной частотой кадров. Затем в декодере декодер восстанавливает выходную видеопоследовательность С на требуемой частоте кадров и при требуемом угле затвора, которые могут изменяться в зависимости от сцены. Например, как проиллюстрировано на фиг. 3, чтобы конструировать последовательность В, некоторые входные кадры дублируются, некоторые кодируются как есть (без дублирования), а некоторые копируются четыре раза. Затем, чтобы конструировать последовательность С, любой кадр из каждого набора дублированных кадров выбирается, чтобы формировать выходные кадры, совпадающие с исходной частотой кадров и углом затвора.Fig. 3 illustrates an example of an input video sequence A with a variable frame rate and a variable shutter angle, which is represented in a fixed frame rate codestream B of bits. Then, at the decoder, the decoder reconstructs the output video sequence C at the desired frame rate and at the desired shutter angle, which may vary depending on the scene. For example, as illustrated in FIG. 3, to construct sequence B, some input frames are duplicated, some are encoded as is (no duplication), and some are copied four times. Then, to construct sequence C, any frame from each set of duplicated frames is selected to generate output frames matching the original frame rate and shutter angle.

В этом варианте осуществления метаданные вставляются в поток битов, для того чтобы указывать исходную (базовую) частоту кадров и угол затвора. Метаданные могут передаваться с использованием высокоуровневого синтаксиса, такого как набор параметров последовательности (SPS), набор параметров изображения (PPS), заголовок серии последовательных макроблоков или группы мозаичных фрагментов и т.п. Присутствие метаданных обеспечивает возможность кодерам и декодерам выполнять полезные функции, к примеру следующие.In this embodiment, metadata is inserted into the bitstream to indicate the original (base) frame rate and shutter angle. The metadata may be transmitted using a high-level syntax such as a sequence parameter set (SPS), a picture parameter set (PPS), a slice or tile group header, and the like. The presence of metadata enables encoders and decoders to perform useful functions such as the following.

а) Кодер может игнорировать дублированные кадры, за счет этого увеличивая скорость кодирования и упрощая обработку. Например, все единицы дерева кодирования (CTU) в дублированных кадрах могут кодироваться с использованием режима пропуска и опорного индекса 0 в списке 0 опорных кадров, который ссылается на декодированный кадр, из которого копируются дублированные кадры.a) The encoder can ignore duplicate frames, thereby increasing the encoding rate and simplifying processing. For example, all coding tree units (CTUs) in duplicated frames may be encoded using skip mode and reference index 0 in reference frame list 0, which refers to the decoded frame from which the duplicated frames are copied.

b) Декодер может обходить декодирование дублированных кадров, за счет этого упрощая обработку. Например, метаданные в потоке битов могут указывать то, что кадр представляет собой копию ранее декодированного кадра, который декодер может воспроизводить посредством копирования и без декодирования нового кадра.b) The decoder can bypass the decoding of duplicate frames, thereby simplifying processing. For example, the metadata in the bitstream may indicate that a frame is a copy of a previously decoded frame that a decoder can reproduce by copying and without decoding a new frame.

c) Устройство воспроизведения может оптимизировать нисходящую обработку посредством указания базовой частоты кадров, например посредством регулирования алгоритмов преобразования частоты кадров или уменьшения уровня шума.c) The playback device may optimize downstream processing by specifying a base frame rate, such as by adjusting frame rate conversion algorithms or noise reduction.

Этот вариант осуществления обеспечивает возможность конечному пользователю просматривать подготовленный посредством рендеринга контент на частотах кадров, намеченных создателями контента. Этот вариант осуществления не предоставляет обратную совместимость с устройствами, которые не поддерживают частоту кадров контейнера, например 120 кадров/с.This embodiment allows the end user to view rendered content at frame rates intended by content creators. This embodiment does not provide backward compatibility with devices that do not support container frame rates, such as 120 fps.

Табл. 2 и 3 иллюстрируют примерный синтаксис первичной байтовой последовательности данных (RBSB) для набора параметров последовательности и заголовка группы мозаичных фрагментов, в котором предложенные новые синтаксические элементы проиллюстрированы выделенным шрифтом. Оставшийся синтаксис соответствует синтаксису в предложенной спецификации универсального видеокодека (VVC) (ссылочный материал [2]).Tab. 2 and 3 illustrate an exemplary Primary Data Byte Sequence (RBSB) syntax for a sequence parameter set and a tile group header, in which proposed new syntax elements are illustrated in boldface. The remaining syntax corresponds to the syntax in the proposed Universal Video Codec (VVC) specification (reference [2]).

В качестве примера в SPS (см. табл. 2) можно добавлять флаг, для того чтобы обеспечивать переменную частоту кадров.As an example, a flag can be added to the SPS (see Table 2) in order to provide a variable frame rate.

sps_vfr_enabled_flag, равный 1, указывает, что кодированная видеопоследовательность (CVS) может содержать контент с переменной частотой кадров; sps_vfr_enabled_flag, равный 0, указывает, что CVS содержит контент с фиксированной частотой кадров.sps_vfr_enabled_flag equal to 1 indicates that the coded video sequence (CVS) can contain variable frame rate content; sps_vfr_enabled_flag equal to 0 indicates that CVS contains fixed frame rate content.

В tile_group_header() (см. табл. 3) ti le_group_vrf_info_present_flag, равный 1, указывает, что синтаксические элементы tile_group_true_fr и tile_group_shutterangle присутствуют в синтаксисе;In tile_group_header() (see Table 3), ti le_group_vrf_info_present_flag equal to 1 indicates that the tile_group_true_fr and tile_group_shutterangle syntax elements are present in the syntax;

ti le_group_vrf_info_present_flag, равный 0, указывает, что синтаксические элементы tile_group_true_fr и tile_group_shutter_angle не присутствуют в синтаксисе (когда tile_group_vrf_info_present_flag не присутствует, он логически выводится равным 0);ti le_group_vrf_info_present_flag equal to 0 indicates that the syntax elements tile_group_true_fr and tile_group_shutter_angle are not present in the syntax (when tile_group_vrf_info_present_flag is not present, it is logically inferred to be 0);

ti le_group_true_fr указывает истинную частоту кадров видеоданных, переносимых в этом потоке битов;ti le_group_true_fr indicates the true frame rate of the video data carried in this bitstream;

ti le_group_shutter_angle указывает угол затвора, соответствующий истинной частоте кадров видеоданных, переносимых в этом потоке битов;ti le_group_shutter_angle indicates the shutter angle corresponding to the true frame rate of the video data carried in this bitstream;

ti le_group_skip_flag, равный 1, указывает, что текущая группа мозаичных фрагментов копируется из другой группы мозаичных фрагментов;ti le_group_skip_flag equal to 1 indicates that the current tile group is copied from another tile group;

ti le_group_skip_flag, равный 0, указывает, что текущая группа мозаичных фрагментов не копируется из другой группы мозаичных фрагментов;ti le_group_skip_flag equal to 0 indicates that the current tile group is not copied from another tile group;

tile_group_copy_pic_order_cnt_lsb указывает номер в последовательности изображений по модулюtile_group_copy_pic_order_cnt_lsb indicates the number in the modulo image sequence

- 5 042523- 5 042523

MaxPicOrderCntLsb для ранее декодированного изображения, которое текущее изображение копирует от момента, когда tile_group_skip_flag задается равным 1.MaxPicOrderCntLsb for the previously decoded picture that the current picture copies from when tile_group_skip_flag is set to 1.

Таблица 2table 2

Примерный RBSP-синтаксис набора параметров для контента с переменной частотой кадровSample RBSP Syntax for Parameter Set for Variable Frame Rate Content

seq_parameter_set_rbsp() { seq_parameter_set_rbsp() { Дескриптор Descriptor sps_max_sub_layers_minus 1 sps_max_sub_layers_minus 1 u(3) u(3) sps_reserved_zero_5bits sps_reserved_zero_5bits u(5) u(5) profile_tier_level(sps_max_sub_layers_minus 1) profile_tier_level(sps_max_sub_layers_minus 1) sps_seq_parameter_set_id sps_seq_parameter_set_id ue(v) ue(v) sp s_vfr_enabled_flag sp s_vfr_enabled_flag u(l) u(l) sps_extension_flag sps_extension_flag u(l) u(l) if(sps_extension_flag) if(sps_extension_flag) while(more_rbsp_data()) while(more_rbsp_data()) sps_extension_data_flag sps_extension_data_flag u(l) u(l) rbsp_trailing_bits() rbsp_trailing_bits() } }

Таблица 3Table 3

Пример синтаксиса заголовков групп мозаичных фрагментов с поддержкой контента с переменной частотой кадровExample of tile group header syntax supporting variable frame rate content

tile_group_header() { tile_group_header() { Дескриптор Descriptor tile_group_pic_parameter_set_id tile_group_pic_parameter_set_id ue(v) ue(v) if(NumTiles!nPic>l) { if(NumTiles!nPic>l) { tile_group_address tile_group_address u(v) u(v) num_tiles_in_tile_group_minus 1 num_tiles_in_tile_group_minus 1 ue(v) ue(v) } } tile_group_type tile_group_type ue(v) ue(v) tile_group_pic_order_cnt_lsb tile_group_pic_order_cnt_lsb u(v) u(v) if(sps_vfr_enabled_flag) { if(sps_vfr_enabled_flag) { tile_group_vfr_info_present_flag tile_group_vfr_info_present_flag u(D u(D if(tile_group_vfr_info_present_flag) { if(tile_group_vfr_info_present_flag) { tile_group_true_fr tile_group_true_fr u(9) u(9) tile_group_shutterangle tile_group_shutterangle u(9) u(9) } } tile_group_skip_flag tile_group_skip_flag u(D u(D } } if(tile_group_skip_flag) if(tile_group_skip_flag) tile_group_copy_pic_order_cnt_lsb tile_group_copy_pic_order_cnt_lsb u(v) u(v) else{ else{ ALL OTHER TILE_GROUP_SYNTAX ALL OTHER TILE_GROUP_SYNTAX } } if(num_tiles_in_tile_group_minusl>0) { if(num_tiles_in_tile_group_minusl>0) { offset_len_minus 1 offset_len_minus 1 ue(v) ue(v)

- 6 042523- 6 042523

for(i=0; i<num_tiles_in_tile_group_minusl; i++) for(i=0; i<num_tiles_in_tile_group_minusl; i++) entry_point_offset_minus 1 [i] entry_point_offset_minus 1[i] u(v) u(v) 1 1 byte_alignment() byte_alignment() 1 1

вариант осуществления: контейнер для фиксированной частоты кадров.embodiment: fixed frame rate container.

ВторойSecond

Второй вариант осуществления предоставляет вариант использования, в котором рендеринг исходного контента, имеющего фиксированную частоту кадров и угол затвора, может выполняться посредством декодера на альтернативной частоте кадров и при переменном моделированном угле затвора, к примеру как проиллюстрировано на фиг. 2. Например, в случае если исходный контент имеет частоту кадров в 120 кадров/с и угол затвора в 360° (что означает, что затвор является открытым в течение 1/120 с), декодер может выполнять рендеринг нескольких частот кадров, которые меньше или равны 120 кадрам/с. Например, как описано в табл. 1, чтобы декодировать 24 кадра/с с моделированным углом затвора в 216°, декодер может комбинировать три декодированных кадра и отображать при 24 кадрах/с. Табл. 4 подробно основывается на табл. 1 и иллюстрирует, как комбинировать различные числа кодированных кадров, чтобы выполнять рендеринг на выходных целевых частотах кадров и при требуемых целевых углах затвора. Комбинирование кадров может выполняться посредством простого усреднения пикселов, посредством взвешенного усреднения пикселов, при котором пикселам из определенного кадра могут присваиваться большие весовые коэффициенты, чем пикселам других кадров, и сумма всех весовых коэффициентов суммируется как единица, либо посредством других схем интерполяции с фильтрацией, известных в данной области техники. В табл. 4 функция Се(а, b) обозначает комбинацию кодированных кадров а-b, при этом комбинирование может выполняться посредством усреднения, усреднения со взвешиванием, фильтрации и т.п.The second embodiment provides a use case in which rendering of source content having a fixed frame rate and shutter angle can be performed by a decoder at an alternate frame rate and a variable simulated shutter angle, for example as illustrated in FIG. 2. For example, if the source content has a frame rate of 120 fps and a shutter angle of 360° (meaning the shutter is open for 1/120 s), the decoder may render multiple frame rates that are less than or are equal to 120 frames/s. For example, as described in Table. 1, in order to decode 24 frames/s with a simulated shutter angle of 216°, the decoder may combine the three decoded frames and display at 24 frames/s. Tab. 4 is based in detail on Table. 1 and illustrates how to combine different numbers of encoded frames to render at output target frame rates and desired target shutter angles. Frame combining can be done by simple pixel averaging, by weighted pixel averaging, in which pixels from a particular frame can be given higher weights than pixels from other frames and the sum of all weights is summed as one, or by other filtering interpolation schemes known in the art. this field of technology. In table. 4, the function Ce(a, b) denotes a combination of encoded frames a-b, where the combination may be performed by averaging, weighted averaging, filtering, or the like.

Таблица 4Table 4

Пример комбинирования входных кадров при 120 кадров/с, для того чтобы формировать выходные кадры при целевых значениях в кадрах/с и при угле затвораExample of combining input frames at 120 fps to produce output frames at target fps and shutter angle

Вход. Entrance. si si s2 s2 s3 s3 s4 s4 s5 s5 s6 s6 s7 s7 s8 s8 s9 s9 S10 S10 Кодир. Encoder el el е2 e2 еЗ e3 е4 e4 е5 e5 еб fuck е7 e7 е8 e8 е9 e9 еЮ her Декод ир. 120 кадро в/с Decode ir. 120 fps @360 @360 el el е2 e2 еЗ e3 е4 e4 е5 e5 еб fuck е7 e7 е8 e8 е9 e9 еЮ her Декод ир. 60 кадро в/с Decode ir. 60 fps @360 @360 Се(1,2) Ce(1,2) Се(3,4) Ce(3,4) Се(5,6) Ce(5,6) Се(7,8) Ce(7,8) Се(9Д0) Ce(9D0) @180 @180 el el еЗ e3 е5 e5 е7 e7 е9 e9 Декод ир. 40 кадро в/с Decode ir. 40 fps @360 @360 Се(1,3) Ce(1,3) Се(4,6) Ce(4,6) Се(7,9) Ce(7,9) Се(10,12) Ce(10,12) @240 @240 Се(1,2) Ce(1,2) Се(4,5) Ce(4,5) Се(7,8) Ce(7,8) Се(10,11) Ce(10,11) @120 @120 el el е4 e4 е7 e7 еЮ her

- 7 042523- 7 042523

Декод ир. 30 кадро в/с Decode ir. 30 fps @360 @360 Се(1,4) Ce(1,4) Се(5,8) Ce(5,8) Се(9,12) Ce(9,12) @270 @270 С(1,3) C(1,3) Се(5,7) Ce(5,7) Се(9,11) Ce(9,11) @180 @180 Се(1,2) Ce(1,2) Се(5,6) Ce(5,6) Се(9,10) Ce(9,10) @90 @90 el el е5 e5 е9 e9 Декод ир. 24 кадра/ с Decode ir. 24 fps @360 @360 Се(1,5) Ce(1.5) Се(6,10) Ce(6,10) @288 @288 Се(1,4) Ce(1,4) Се(6,9) Ce(6,9) @216 @216 Се(1,3) Ce(1,3) Се(6,8) Ce(6,8) @144 @144 Се(1,2) Ce(1,2) Се(6,7) Ce(6,7) @72 @72 el el еб fuck

Когда значение целевого угла затвора меньше 360°, декодер может комбинировать различные наборы декодированных кадров. Например, из табл. 1 с учетом исходного потока в 120 кадров/с @ 360°, чтобы формировать поток при 40 кадрах/с и при угле затвора в 240°, декодер должен комбинировать два кадра из трех возможных кадров. Таким образом, он может комбинировать либо первый и второй кадры, либо второй и третий кадры. Выбор того, какие кадры следует комбинировать, может описываться с точки зрения фазы декодирования, выражаемой следующим образом:When the value of the target shutter angle is less than 360°, the decoder may combine different sets of decoded frames. For example, from Table. 1, given a source stream of 120 fps @ 360°, to generate a stream at 40 fps and a shutter angle of 240°, the decoder must combine two frames out of three possible frames. Thus, it can combine either the first and second frames, or the second and third frames. The choice of which frames to combine can be described in terms of a decoding phase expressed as follows:

decode_phase=decode_phase_idx * (360/n_frames) (6) где decode_phase_idx указывает индекс смещения в наборе последовательных кадров, имеющих значения индекса в [0, n_frames_max-1], где n_frames задается посредством уравнения (2), и njrames_max=orig_frame_rate/target_frame_rate (7)decode_phase=decode_phase_idx * (360/n_frames) (6) where decode_phase_idx indicates the offset index in the set of consecutive frames having index values in [0, n_frames_max-1], where n_frames is given by equation (2), and njrames_max=orig_frame_rate/target_frame_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.In general, decode_phase_idx ranges from [0, n_frames_max-n_frames]. For example, for a source sequence at 120 fps and a shutter angle of 360°, for a target frame rate of 40 fps at a shutter angle of 240°, n_frames_max=120/40=3. From equation (2) n_frames=2, whereby decode_phase_idx varies within [0, 1]. Thus, decode_phase_idx=0 indicates selection of frames with index 0 and 1 and decode_phase_idx=1 indicates selection of frames with index 1 and 2.

В этом варианте осуществления, подготовленная посредством рендеринга переменная частота кадров, намеченная создателем контента, может сигнализироваться в качестве метаданных, таких как сообщение с дополнительной улучшающей информацией (SEI), либо в качестве информации применимости видео (VUI). В необязательном порядке подготовленная посредством рендеринга частота кадров может управляться посредством приемного устройства либо пользователем. Пример обмена SEI-сообщениями для преобразования частоты кадров, который указывает предпочтительную частоту кадров и угол затвора создателя контента, показывается в табл. 5. SEI-сообщение также может указывать то, выполняется либо нет комбинирование кадров в кодированной сигнальной области (например, гамма, PQ и т.д.) или в области линейного света. Следует отметить, что постобработка требует буфера кадров в дополнение к буферу изображений декодера (DPB). SEI-сообщение может указывать, сколько дополнительных буферов кадров требуется либо некоторый альтернативный способ для комбинирования кадров. Например, чтобы уменьшать сложность, кадры могут рекомбинироваться при уменьшенном пространственном раз решении.In this embodiment, the rendered variable frame rate intended by the content creator may be signaled as metadata such as a side enhancement information (SEI) message or as video usability information (VUI). Optionally, the rendered frame rate may be controlled by the receiver or by the user. An example of a frame rate conversion SEI message exchange that indicates the content creator's preferred frame rate and shutter angle is shown in Table 1. 5. The SEI message may also indicate whether or not frame combining is performed in the encoded signal domain (eg, gamma, PQ, etc.) or in the linear light domain. It should be noted that post-processing requires a frame buffer in addition to the Decoder Picture Buffer (DPB). The SEI message may indicate how many additional frame buffers are required, or some alternative method for combining frames. For example, to reduce complexity, frames may be recombined at reduced spatial resolution.

Как проиллюстрировано в табл. 4, в определенных комбинациях частот кадров и углов затвора (например, при 30 кадров/с и 360° или при 24 кадрах/с и 288 или 360°) декодер, возможно, должен комбинировать более трех декодированных кадров, что увеличивает объем пространства буфера, требуемый посредством декодера. Чтобы уменьшать нагрузку в виде дополнительного пространства буфера в декодере, в некоторых вариантах осуществления определенные комбинации частот кадров и углов затвора могут быть запрещены для набора разрешенных параметров декодирования (например, посредством задания соответствующих профилей и уровней кодирования).As illustrated in Table. 4, at certain combinations of frame rates and shutter angles (for example, at 30 fps and 360° or at 24 fps and 288 or 360°), the decoder may need to combine more than three decoded frames, which increases the amount of buffer space, required by the decoder. To reduce the overhead of additional buffer space in the decoder, in some embodiments, certain combinations of frame rates and shutter angles may be prohibited for a set of allowed decoding parameters (eg, by setting appropriate profiles and coding levels).

Если снова рассматривать в качестве примера случай воспроизведения при 24 кадрах/с, декодер может определять необходимость отображать идентичный кадр пять раз, так что он отображается на выходной частоте кадров в 120 кадров/с. Это является точно идентичным показу кадра один раз на выходTaking the case of playback at 24 fps again as an example, the decoder may determine to display the same frame five times so that it is displayed at an output frame rate of 120 fps. This is exactly identical to displaying a frame once per output.

- 8 042523 ной частоте кадров в 24 кадра/с. Преимущество поддержания постоянной выходной частоты кадров состоит в том, что отображение может выполняться на постоянной тактовой частоте, что гораздо упрощает все аппаратные средства. Если дисплей может динамически варьировать тактовую частоту, то может иметь больше смысла показывать кадр только однократно (в течение 1/24-й с) вместо повторения идентичного кадра пять раз (каждую 1/120-ю с). Первый подход может приводить к немного более высокому качеству изображений, к лучшей оптической эффективности или к лучшей эффективности по мощности. Аналогичные соображения также являются применимыми к другим частотам кадров.- 8 042523 frame rate of 24 fps. The advantage of maintaining a constant output frame rate is that the display can be performed at a constant clock rate, which greatly simplifies the overall hardware. If the display can dynamically vary the clock rate, then it may make more sense to show a frame only once (within 1/24th of a second) instead of repeating an identical frame five times (every 1/120th of a second). The first approach may result in slightly better image quality, better optical efficiency, or better power efficiency. Similar considerations also apply to other frame rates.

Табл. 5 иллюстрирует пример синтаксиса обмена SEI-сообщениями для преобразования частоты кадров согласно варианту осуществления.Tab. 5 illustrates an example SEI messaging syntax for frame rate conversion according to an embodiment.

Таблица 5Table 5

Пример синтаксиса SEI-сообщений для обеспечения преобразования частоты кадровExample SEI message syntax to provide frame rate conversion

framerate_conversion(p ayloadS ize) { framerate_conversion(payloadSize) { Дескриптор Descriptor framerate_conversion_cancel_flag framerate_conversion_cancel_flag u(l) u(l) if(!frame_conversion_cancel_flag) { if(!frame_conversion_cancel_flag) { base_frame_rate base_frame_rate u(9) u(9) base_shutter_angle base_shutter_angle u(9) u(9) decode_phase_idx_present_flag decode_phase_idx_present_flag u(l) u(l) if(decode_phase_idx_present_flag) { if(decode_phase_idx_present_flag) { decode_phase_idx decode_phase_idx u(3) u(3) } } conversion_domain_idc conversion_domain_idc u(l) u(l) num_frame_buffer num_frame_buffer u(3) u(3) framerate_conversion_persistence_flag framerate_conversion_persistence_flag u(D u(D } } } }

framerate_conversion_cancel_flag, равный 1, указывает, что SEI-сообщение отменяет сохраняемость любого предыдущего SEI-сообщения для преобразования частоты кадров в порядке вывода.framerate_conversion_cancel_flag equal to 1 indicates that the SEI message cancels the persistence of any previous SEI message for frame rate conversion in output order.

framerate_conversion_cancel_flag, равный 0, указывает, что следует информация преобразования частоты кадров.framerate_conversion_cancel_flag equal to 0 indicates that frame rate conversion information follows.

base_frame_rate указывает требуемую частоту кадров.base_frame_rate specifies the required frame rate.

base_shutter_angle указывает требуемый угол затвора.base_shutter_angle specifies the desired shutter angle.

decode_phase_idx_present_flag, равный 1, указывает, что информация фазы декодирования присутствует.decode_phase_idx_present_flag equal to 1 indicates that decoding phase information is present.

decode_phase_idx_present_flag, равный 0, указывает, что информация фазы декодирования не присутствует.decode_phase_idx_present_flag equal to 0 indicates that no decoding phase information is present.

decode_phase_idx указывает индекс смещения в наборе последовательных кадров, имеющих значения индекса 0, ..., (n_frames_max-1), где 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.decode_phase_idx indicates the offset index in the set of consecutive frames having index values 0, ..., (n_frames_max-1), where n_frames_max=120/base_frame_rate. The value of decode_phase_idx must be in the range 0, ..., (n_frames_max-n_frames), where n_frames=base_shutter_angle/(3*base_frame_rate). When decode_phase_idx is not present, it is logically inferred to be 0.

conversion_domain_idc, равный 0, указывает, что комбинирование кадров выполняется в линейной области; conversion_domain_idc, равный 1, указывает то, что комбинирование кадров выполняется в нелинейной области.conversion_domain_idc equal to 0 indicates that the frame combining is performed in the linear domain; conversion_domain_idc equal to 1 indicates that the frame combining is performed in a non-linear domain.

num_frame_buffers указывает дополнительное число буферов кадров (без подсчета DPB).num_frame_buffers specifies the additional number of frame buffers (no DPB count).

framerate_conversion_persistence_flag указывает сохраняемость SEI-сообщения для преобразования частоты кадров для текущего слоя.framerate_conversion_persistence_flag indicates the persistence of the SEI message for frame rate conversion for the current layer.

framerate_conversion_persistence_flag, равный 0, указывает, что SEI-сообщение для преобразования частоты кадров применяется к текущему декодированному изображению только. Пусть picA представляет собой текущее изображение.framerate_conversion_persistence_flag equal to 0 indicates that the SEI message for frame rate conversion is applied to the current decoded picture only. Let picA be the current image.

framerate_conversion_persistence_flag, равный 1, указывает, что SEI-сообщение для преобразования частоты кадров сохраняется для текущего слоя в порядке вывода до тех пор, пока одно или более следующих условий не являются истинными.framerate_conversion_persistence_flag equal to 1 indicates that the frame rate conversion SEI message is retained for the current layer in output order until one or more of the following conditions are true.

Новая кодированная послойная видеопоследовательность (CLVS) текущего слоя начинается.A new coded layered video sequence (CLVS) of the current layer starts.

Поток битов завершается.The bit stream ends.

Изображение picB в текущем слое в единице доступа, содержащей SEI-сообщение для преобразования частоты кадров, которое является применимым к текущему слою, выводится, причем PicOrderCnt(picB) превышает PicOrderCnt(picA), где PicOrderCnt(picB) и PicOrderCnt(picA) являются значениями PicOrderCntVal для picB и picA соответственно, сразу после активации процесса декодированияThe picture picB in the current layer in the access unit containing the SEI message for frame rate conversion that is applicable to the current layer is output, with PicOrderCnt(picB) exceeding PicOrderCnt(picA), where PicOrderCnt(picB) and PicOrderCnt(picA) are the values PicOrderCntVal for picB and picA respectively, immediately after the activation of the decoding process

- 9 042523 для номера в последовательности изображений для picB.- 9 042523 for the number in the image sequence for picB.

Третий вариант осуществления: ввод, кодированный при нескольких углах затвора.Third Embodiment: Input encoded at multiple shutter angles.

Третий вариант осуществления представляет собой схему кодирования, которая обеспечивает возможность извлечения частот субкадров из потока битов, за счет этого поддерживая обратную совместимость. В HEVC это достигается посредством временной масштабируемости. Масштабируемость во временном слое обеспечивается посредством назначения различных значений синтаксическому элементу temporal_id для декодированных кадров. Поток битов в силу этого может извлекаться просто на основе значений temporalid. Тем не менее HEVC-подход ко временной масштабируемости не обеспечивает рендеринг выходных частот кадров с различными углами затвора. Например, базовая частота кадров в 60 в кадров/с, извлеченная из оригинала в 120 кадров/с, всегда должна иметь угол затвора в 180°.The third embodiment is a coding scheme that allows subframe frequencies to be extracted from a bitstream, thereby maintaining backward compatibility. In HEVC, this is achieved through temporal scalability. Scalability in the time layer is provided by assigning different values to the temporal_id syntax element for decoded frames. The bit stream can therefore be derived simply from the temporalid values. However, the HEVC approach to temporal scalability does not render output frame rates with different shutter angles. For example, a base frame rate of 60 fps extracted from a 120 fps original should always have a shutter angle of 180°.

В ATSC 3.0 описывается альтернативный способ, в котором кадры при 60 кадров/с, имеющие углы затвора в 360°, эмулируются в качестве среднего взвешенного двух кадров при 120 кадров/с. Эмулированным кадрам при 60 кадров/с назначается значение temporalid 0, и оно комбинируется с назначаемым значением temporal_id переменных исходных кадров при 120 кадров/с 1. Когда 60 кадров/с требуются, декодер должен декодировать только кадры с temporal_id 0. Когда 120 кадров/с требуются, декодер может вычитать каждый кадр с temporal_id=1 (т.е. кадр при 120 кадров/с) из масштабированной версии каждого соответствующего кадра с temporal_id=0 (т.е. эмулированного кадра при 60 кадров/с), чтобы восстанавливать соответствующий исходный кадр при 120 кадров/с, который не передан явно; за счет этого воссоздавая все исходные кадры при 120 кадров/с.ATSC 3.0 describes an alternative method in which frames at 60 fps having 360° shutter angles are emulated as a weighted average of two frames at 120 fps. Emulated frames at 60 fps are assigned a temporalid value of 0, and this is combined with the assigned value of temporal_id of the source frame variables at 120 fps 1. When 60 fps is required, the decoder must decode only frames with temporal_id 0. When 120 fps required, the decoder may subtract each frame with temporal_id=1 (i.e. frame at 120 fps) from the scaled version of each corresponding frame with temporal_id=0 (i.e. emulated frame at 60 fps) to reconstruct the corresponding original frame at 120 fps that is not explicitly transmitted; thereby recreating all original frames at 120 fps.

В вариантах осуществления этого изобретения описывается новый алгоритм, который поддерживает несколько целевых частот кадров и целевых углов затвора таким способом, который является обратно совместимым (ВС). Предложение состоит в том, чтобы предварительно обрабатывать исходный контент при 120 кадров/с на базовой частоте кадров при нескольких углах затвора. Затем в декодере другие частоты кадров при различных других углах затвора могут просто извлекаться. ATSC 3.0-подход может рассматриваться в качестве частного случая предложенной схемы, в котором кадры с temporal_id=0 переносят кадры при 60fps@ угле затвора в 360° и кадры с temporal_id=1 переносят кадры при 60fps@ угле затвора в 180°.Embodiments of this invention describe a new algorithm that supports multiple target frame rates and target shutter angles in a manner that is backward compatible (BC). The proposal is to preprocess source content at 120 fps at base frame rate at multiple shutter angles. Then, in the decoder, other frame rates at various other shutter angles can simply be extracted. The ATSC 3.0 approach can be considered as a special case of the proposed scheme, where frames with temporal_id=0 carry frames at 60fps@ 360° shutter angle and frames with temporal_id=1 carry frames at 60fps@ 180° shutter angle.

В качестве первого примера, как проиллюстрировано на фиг. 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, при этом комбинирование может выполняться посредством усреднения, усреднения со взвешиванием, фильтрации и т.п.As a first example, as illustrated in FIG. 4, consider an input sequence at 120 fps and a 360° shutter angle that is used to encode the sequence with a base layer frame rate of 40 fps and shutter angles of 120, 240, and 360°. In this scheme, the encoder computes new frames by combining up to three original input frames. For example, encoded frame 2 (En-2) representing input at 40 fps and 240° is generated by combining input frames 1 and 2, and encoded frame 3 (En-3) representing input at 40 fps and 360 ° is generated by combining frame En-2 with input frame 3. In the decoder, to reconstruct the input sequence, decoded frame 2 (Dec-2) is generated by subtracting frame En-1 from frame En-2, and decoded frame 3 (Dec- 3) is formed by subtracting the En-2 frame from the En-3 frame. The three decoded frames represent output at a base frame rate of 120 fps and a 360° shutter angle. Additional frame rates and shutter angles may be extrapolated using the decoded frames, as illustrated in Table 1. 6. In the table. 6, the function Cs(a, b) denotes a combination of input frames a-b, where the combination may be performed by averaging, weighted averaging, filtering, or the like.

Таблица 6Table 6

Пример комбинирования кадров с базовой линией в 40 кадров/сAn example of combining frames with a baseline of 40 fps

Входные кадры 120 кадров/с @360 Input frames 120 fps @360 si si s2 s2 s3 s3 s4 s4 s5 s5 s6 s6 s7 s7 s8 s8 s9 s9 Кодирова иные кадры 120 кадров/с Encoding other frames 120 fps el= -si el= -si e2= Cs(l,2) e2= Cs(l,2) e3= Cs(l,3) e3= Cs(l,3) e4=s4 e4=s4 e5= Cs(4,5) e5= Cs(4,5) e6= Cs(4,6) e6= Cs(4,6) e7=s7 e7=s7 e8= Cs(7,8) e8= Cs(7,8) e9 = Cs(7,9) e9= Cs(7,9)

- 10 042523- 10 042523

Декодир ованн. 120 кадров/с Ovn decoder. 120 fps @360 @360 е1= -si e1= -si e2-el= -s2 e2-el= -s2 e3-e2= s3 e3-e2= s3 e4=s4 e4=s4 e5-e4= s5 e5-e4= s5 e6- e4=s6 e6- e4=s6 e7=s7 e7=s7 e8-e7= s8 e8-e7= s8 e9-e8 =s9 e9-e8 =s9 Декодир ованн. 60 кадров/с Ovn decoder. 60 fps @360 @360 е2 e2 e3-e2+e4 =Cs(3,4) e3-e2+e4 =Cs(3,4) e6-e4=Cs(5,6) e6-e4=Cs(5,6) e8=Cs(7,8) e8=Cs(7,8) e9- e8+el0 e9- e8+el0 @180 @180 el el e3-e2=s3 e3-e2=s3 e5-e4=s5 e5-e4=s5 e7 e7 e9-e8 e9-e8 Декодир ованн. 40 кадров/с Ovn decoder. 40 fps @360 @360 e3=Cs(l,3) e3=Cs(l,3) e6 e6 e9 e9 @240 @240 e2=Cs(l,2) e2=Cs(l,2) e5 e5 e8 e8 @120 @120 el=sl el=sl e4 e4 e7 e7 Декодир ованн. 30 кадров/с Ovn decoder. 30 fps @360 @360 e3+e4=Cs(l,4) e3+e4=Cs(l,4) e6-e4+e8=Cs(5,8) e6-e4+e8=Cs(5,8) e9- e8+el2 e9- e8+el2 @270 @270 e3=Cs(l,3) e3=Cs(l,3) e6-e5+e7=Cs(5,7) e6-e5+e7=Cs(5,7) e9- e8+ell e9- e8+ell @180 @180 e2=Cs(l,2) e2=Cs(l,2) e6-e4=Cs(5,6) e6-e4=Cs(5,6) e9- e8+el0 e9- e8+el0 @90 @90 el el e5-e4=s5 e5-e4=s5 e9-e8 e9-e8 Декодир ованн. 24 кадра/с Ovn decoder. 24 fps @360 @360 e3+e5=Cs(l,5) e3+e5=Cs(l,5) e6-e5+e9+el0=Cs(6,10) e6-e5+e9+el0=Cs(6,10) @288 @288 e3+e4=Cs(l,4) e3+e4=Cs(l,4) e6-e5+e9=Cs(6,9) e6-e5+e9=Cs(6,9) @216 @216 e3=Cs(l,3) e3=Cs(l,3) e6-e5+e8=Cs(6,8) e6-e5+e8=Cs(6,8) @144 @144 e2=Cs(l,2) e2=Cs(l,2) e6-e5+e7=Cs(6,7) e6-e5+e7=Cs(6,7) @72 @72 el=sl el=sl e6-e5=s6 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) могут использоваться для того, чтобы задавать то, как декодированные кадры должны комбинироваться, чтобы формировать выходную последовательность на указанной выходной частоте кадров и при эмулированном угле затвора.The advantage of this approach is that, as illustrated in Table. 6, all versions at 40 fps can be decoded without further processing. Another advantage is that different frame rates can be retrieved at different shutter angles. For example, consider decoding a decoder at 30 fps and a 360° shutter angle. From Table. 4, the output corresponds to a sequence of frames generated by Ce(1,4)=Cs(1,4), Cs(5,8), Cs(9,12) and the like, which matches the decoding sequence also illustrated in tab. 6; However, in Table 6 Cs(5,8)=e6-e4+e8. In an embodiment, lookup tables (LUTs) may be used to specify how decoded frames are to be combined to form an output sequence at a specified output frame rate and emulated shutter angle.

В другом примере предлагается комбинировать вплоть до пяти кадров в кодере, чтобы упрощать извлечение базового слоя при 24 кадрах/с под углами затвора в 72, 144, 216, 288 и 360°, как показано ниже. Это требуется для киноконтента, который лучше всего представляется при 24 кадрах/с на унаследованных телевизионных приемниках.In another example, it is proposed to combine up to five frames in the encoder to facilitate extraction of the base layer at 24 fps at shutter angles of 72, 144, 216, 288, and 360°, as shown below. This is required for film content, which is best presented at 24 fps on legacy television receivers.

- 11 042523- 11 042523

Таблица 7Table 7

Пример комбинирования кадров с базовой линией в 24 кадра/сAn example of combining frames with a baseline of 24 fps

Входы ые кадры 120 кадров /с @360 Inputs 120 fps @360 frames si si s2 s2 s3 s3 s4 s4 s5 s5 s6 s6 s7 s7 s8 s8 s9 s9 Кодир. кадры Encoder frames el -si el -si e2=Cs (1,2) e2=Cs (1,2) e3=Cs(l,3 ) e3=Cs(l,3 ) e4=Cs(l,4 ) e4=Cs(l,4 ) e5=Cs(l,5 ) e5=Cs(l,5 ) e6= s6 e6= s6 e7=Cs (6,7) e7=Cs (6.7) e8=Cs (6,8) e8=Cs (6.8) e9=Cs( 6,9) e9=Cs( 6,9) Декод ирован н. 120 кадров /с Decoded n. 120 fps @360 @360 el el e2-el e2-el e3-e2 e3-e2 e4-e3 e4-e3 e5-e4 e5-e4 e6 e6 e7-e6 e7-e6 e8-e7 e8-e7 e9-e8 e9-e8 Декод ирован и. 60 кадров /с Decoded and. 60 fps @360 @360 e2 e2 e4-e2 e4-e2 e5-e4+e6 e5-e4+e6 e8-e6 e8-e6 el0-e8 el0-e8 @180 @180 el el e3-e2 e3-e2 e5-e4 e5-e4 e7-e6 e7-e6 e9-e8 e9-e8 Декод ирован и. 40 кадров /с Decoded and. 40 fps @360 @360 e3 e3 e5-e3+e6 e5-e3+e6 e9-e6 e9-e6 @240 @240 e2 e2 e5-e3 e5-e3 e8-e6 e8-e6 @120 @120 el el е4-еЗ e4-e3 e7-e6 e7-e6 Декод ирован и. 30 кадров /с Decoded and. 30 fps @360 @360 e4 e4 e5-e4+e8 e5-e4+e8 elO- e8+el 2 elO- e8+el 2 @270 @270 e3 e3 e5-e4+e7 e5-e4+e7 elO- e8+el 1 elO- e8+el 1 @180 @180 e2 e2 e5-e4+e6 e5-e4+e6 el0-e8 el0-e8 @90 @90 el el e5-e4 e5-e4 e9-e8 e9-e8

- 12 042523- 12 042523

Декод ирован н. 24 кадра/ с Decoded n. 24 fps @360 @360 е5 e5 еЮ her @288 @288 е4 e4 е9 e9 @216 @216 еЗ e3 е8 e8 @144 @144 е2 e2 е7 e7 @72 @72 el el еб fuck

Как проиллюстрировано в табл. 7, если частота кадров декодирования совпадает с базовой частотой кадров (24 кадра/с), то в каждой группе из пяти кадров (например, e1 в е5) декодер может просто выбирать один кадр при требуемом угле затвора (например, е2 для угла затвора в 144°). Чтобы декодировать на другой частоте кадров и при конкретном угле затвора, декодер должен определять то, как надлежащим образом комбинировать (скажем, посредством суммирования или вычитания) декодированные кадры. Например, чтобы декодировать при 30 кадров/с и при угле затвора в 180°, могут выполняться сле дующие этапы.As illustrated in Table. 7, if the decoding frame rate is the same as the base frame rate (24 fps), then in each group of five frames (e.g., e1 to e5), the decoder can simply select one frame at the desired shutter angle (e.g., e2 for a shutter angle in 144°). To decode at a different frame rate and at a particular shutter angle, the decoder must determine how to properly combine (say, by adding or subtracting) the decoded frames. For example, to decode at 30 fps and at a shutter angle of 180°, the following steps may be performed.

a) Декодер может рассматривать гипотетическую передачу кодера при 120 кадров/с и при 360° без учета для обратной совместимости, после этого (табл. 1) декодер должен комбинировать 2 из 4 кадров, чтобы формировать выходную последовательность на требуемой частоте кадров и при требуемом угле затвора. Например, как проиллюстрировано в табл. 4, последовательность включает в себя, Ce(1,2)=Avg(s1,s2), Ce(5,6)=Avg(s5,s6) и т.п., где Avg(s1,s2) может обозначать усреднение кадров s1 и s2.a) The decoder may consider the encoder's hypothetical transmission at 120 fps and at 360° without consideration for backwards compatibility, then (Table 1) the decoder shall combine 2 of the 4 frames to generate an output sequence at the required frame rate and at the required angle shutter. For example, as illustrated in Table. 4, the sequence includes, Ce(1,2)=Avg(s1,s2), Ce(5,6)=Avg(s5,s6) and the like, where Avg(s1,s2) may denote an average frames s1 and s2.

b) При условии, что по определению кодированные кадры могут выражаться как e1=s1, e2=Avg(s1,s2), e3=Avg(s1,s3) и т.п., можно легко извлекать то, что последовательность кадров на этапе а) также может выражаться следующим образом:b) Provided that, by definition, encoded frames can be expressed as e1=s1, e2=Avg(s1,s2), e3=Avg(s1,s3), etc., it can be easily extracted that the sequence of frames at the stage a) can also be expressed as follows:

Се( 1,2)=Avg(s 1 ,s2)=e2Ce( 1,2)=Avg(s 1 ,s2)=e2

Ce(5,6)=Avg(s5,s6)=Avg(sl,s5)-Avg(sl,s4)+s6=e5-e4+e6 и т.д.Ce(5,6)=Avg(s5,s6)=Avg(sl,s5)-Avg(sl,s4)+s6=e5-e4+e6 etc.

Как указано выше, надлежащая комбинация декодированных кадров может предварительно вычисляться и быть доступной в качестве LUT.As stated above, the proper combination of decoded frames may be pre-calculated and made available as a LUT.

Преимущество предложенного способа состоит в том, что он предоставляет возможности как для создателей контента, так и для пользователей; т.е. он обеспечивает режиссерский/редакционный выбор и пользовательский выбор. Например, предварительная обработка контента в кодере предоставляет возможность создания базовой частоты кадров с различными углами затвора. Каждому углу затвора может назначаться значение temporalid в диапазоне [0, (n_frames-1)], где n_frames имеет значение, равное 120, деленное на базовую частоту кадров. (Например, для базовой частоты кадров в 24 кадра/с temporalid находится в диапазоне [0,4].) Выбор может осуществляться таким образом, чтобы оптимизировать эффективность сжатия, либо по эстетическим причинам. В некоторых вариантах использования, скажем, для по потоковой передаче поверх сетей несколько потоков битов с различными базовыми слоями могут кодироваться и сохраняться и предлагаться пользователям для выбора.The advantage of the proposed method is that it provides opportunities for both content creators and users; those. it provides director's/editor's choice and user's choice. For example, pre-processing content in an encoder provides the ability to generate a base frame rate with different shutter angles. Each shutter corner can be assigned a temporalid value in the range [0, (n_frames-1)], where n_frames has a value of 120 divided by the base frame rate. (For example, for a base frame rate of 24 fps, temporalid is in the range [0,4].) The choice may be made to optimize compression efficiency, or for aesthetic reasons. In some use cases, say for streaming over networks, multiple bit streams with different base layers may be encoded and stored and offered to users for selection.

Во втором примере раскрытых способов могут поддерживаться несколько обратно совместимых частот кадров. В идеале можно хотеть иметь возможность декодировать при 24 кадрах/с, чтобы получать базовый слой при 24 кадрах/с, при 30 кадрах/с, чтобы получать последовательность при 30 кадров/с, при 60 кадрах/с, чтобы получать последовательность при 60 кадров/с и т.п. Если целевой угол затвора не указывается, рекомендуется целевой угол затвора по умолчанию, из этих углов затвора, допустимых для исходных и целевых частот кадров, максимально близких к 180°. Например, для значений, проиллюстрированных в табл. 7, предпочтительные целевые углы затвора для кадров/с в 120, 60, 40, 30 и 24 составляют 360, 180, 120, 180 и 216°.In the second example of the disclosed methods, multiple backward compatible frame rates may be supported. Ideally one would want to be able to decode at 24 fps to get the base layer at 24 fps, at 30 fps to get a sequence at 30 fps, at 60 fps to get a sequence at 60 frames /s, etc. If the target shutter angle is not specified, a default shutter target angle is recommended, of those shutter angles allowed for source and target frame rates as close to 180° as possible. For example, for the values illustrated in Table. 7, the preferred target frame/s shutter angles of 120, 60, 40, 30, and 24 are 360, 180, 120, 180, and 216°.

Из вышеприведенных примеров можно отметить, что выбор того, как кодировать контент, может оказывать влияние на сложность декодирования конкретных частот кадров базового слоя. Один вариант осуществления этого изобретения заключается в том, чтобы адаптивно выбирать схему кодирования на основе требуемой частоты кадров базового слоя. Для киноконтента она может составлять 24 кадра/с, например, в то время как для спорта она может составлять 60 кадров/с.From the above examples, it can be noted that the choice of how to encode the content may affect the difficulty of decoding particular frame rates of the base layer. One embodiment of this invention is to adaptively select a coding scheme based on a desired base layer frame rate. For movie content it may be 24 fps, for example, while for sports it may be 60 fps.

Примерный синтаксис для ВС-варианта осуществления настоящего изобретения показывается ниже и в табл. 8 и 9.An exemplary syntax for the BC embodiment of the present invention is shown below and in Table 1. 8 and 9.

В SPS (табл. 8), добавляются два синтаксических элемента: sps_hfr_BC_enabled_flag и sps_base_framerate (если sps_hfr_BC_enabled_flag задается равным 1).In SPS (Table 8), two syntax elements are added: sps_hfr_BC_enabled_flag and sps_base_framerate (if sps_hfr_BC_enabled_flag is set to 1).

sps_hfr_BC_enabled_flag, равный 1, указывает, что высокая частота кадров с обратной совместимостью обеспечивается в кодированной видеопоследовательности (CVS).sps_hfr_BC_enabled_flag equal to 1 indicates that a backward compatible high frame rate is provided in the Coded Video Sequence (CVS).

sps_hfr_BC_enabled_flag, равный 0, указывает, что высокая частота кадров с обратной совместимо- 13 042523 стью не обеспечивается в CVS.sps_hfr_BC_enabled_flag set to 0 indicates that high frame rate with backwards compatibility is not supported in CVS.

sps_base_framerate указывает базовую частоту кадров для текущей CVS.sps_base_framerate specifies the base framerate for the current CVS.

В заголовке группы мозаичных фрагментов, если sps_hfr_BC_enabled_flag задается равным 1, синтаксис number_avg_frames отправляется в потоке битов.In the tile group header, if sps_hfr_BC_enabled_flag is set to 1, the number_avg_frames syntax is sent in the bitstream.

number_avg_frames указывает число кадров на наибольшей частоте кадров (например, 120 кадров/с), которые комбинируются, чтобы формировать текущее изображение на базовой частоте кадров.number_avg_frames indicates the number of frames at the highest frame rate (eg, 120 fps) that are combined to form the current image at the base frame rate.

Таблица 8Table 8

Примерный RBSP-синтаксис для ввода при различных углах затвораSample RBSP syntax for input at various shutter angles

seq_parameter_set_rbsp() { seq_parameter_set_rbsp() { Дескриптор Descriptor sps_max_sub_layers_minus 1 sps_max_sub_layers_minus 1 u(3) u(3) sps_reserved_zero_5bits sps_reserved_zero_5bits u(5) u(5) profile_tier_level(sps_max_sub_layers_minus 1) profile_tier_level(sps_max_sub_layers_minus 1) sps_seq_parameter_set_id sps_seq_parameter_set_id ue(v) ue(v) sps_hfr_BC_enabled_flag sps_hfr_BC_enabled_flag u(l) u(l) if(sps_hfr_BC_enabled_flag) { if(sps_hfr_BC_enabled_flag) { u(l) u(l) sps_base_frame_rate sps_base_frame_rate u(9) u(9) } } sps_extension_flag sps_extension_flag u(l) u(l) if(sps_extension_flag) if(sps_extension_flag) while(more_rb sp_data()) while(more_rb sp_data()) sps_extension_data_flag sps_extension_data_flag u(D u(D rb sp_trailing_bits() rb sp_trailing_bits() } }

Таблица 9Table 9

Примерный RBSB-синтаксис набора параметров изображения для ввода при различных углах затвораApproximate RBSB syntax for a set of image parameters for input at various shutter angles

pic_parameter_set_rbsp() { pic_parameter_set_rbsp() { Дескриптор Descriptor pp s_pic_parameter_set_id pp s_pic_parameter_set_id ue(v) ue(v) pp s_seq_parameter_set_id pp s_seq_parameter_set_id ue(v) ue(v) if(sps_hfr_BC_enabled_flag) if(sps_hfr_BC_enabled_flag) number_avg_frames number_avg_frames se(v) se(v) rbsp_trailing_bits() rbsp_trailing_bits() } }

Варьирования второго варианта осуществления (фиксированная частота кадров) HEVC-стандарт кодирования (Н-265) (ссылочный материал [1]) и разрабатываемый стандарт универсального кодирования видео (обычно называемый VVC, см. ссылочный материал [2]) задают синтаксический элемент, pic_struct, который указывает, должно либо нет изображение отображаться в качестве кадра или в качестве одного или более полей и должно либо нет повторяться декодированное изображение. Копия таблицы D.2 Интерпретация pic_struct из HEVC предоставляется для простоты ссылки в приложении.Variations of the second embodiment (fixed frame rate) of the HEVC coding standard (H-265) (ref. [1]) and the forthcoming universal video coding standard (commonly referred to as VVC, see ref. [2]) define a syntax element, pic_struct, which indicates whether or not the image should be displayed as a frame or as one or more fields and whether or not the decoded image should be repeated. A copy of Table D.2 The HEVC interpretation of pic_struct is provided for ease of reference in the application.

Важно отметить, что авторы изобретения должны принимать во внимание, что существующий синтаксический элемент pic_struct может поддерживать только конкретный поднабор частот кадров контента когда при использовании контейнера кодирования на фиксированной частоте кадров. Например, при использовании контейнера для фиксированной частоты кадров в 60 кадров/с, существующий picstruct синтаксис, когда fixed_pic_rate_within_cvs_flag равен 1, может поддерживать 30 кадров/с посредством использования удвоения кадров и 24 кадра/с посредством использования удвоения кадров и утроения кадров в переменной комбинации для каждого второго кадра. Тем не менее при использовании контейнера для фиксированной частоты кадров в 120 кадров/с, текущий синтаксис pic_struct не может поддерживать частоты кадров ни в 24 кадра/с, ни в 30 кадров/с. Чтобы облегчать эту проблему, предлагаютсяIt is important to note that the inventors should take into account that the existing pic_struct syntax element can only support a particular subset of content frame rates when using a fixed frame rate encoding container. For example, when using a container for a fixed frame rate of 60 fps, the existing picstruct syntax, when fixed_pic_rate_within_cvs_flag is 1, can support 30 fps by using frame doubling and 24 fps by using frame doubling and frame tripling in the combination variable for every second frame. However, when using a container for a fixed frame rate of 120 fps, the current pic_struct syntax cannot support frame rates of either 24 fps or 30 fps. To alleviate this problem, it is proposed

- 14 042523 два новых способа: один представляет собой расширение HEVC-версии, а другой нет.- 14 042523 two new ways, one is an extension of the HEVC version and the other is not.

Способ 1. Picstruct без обратной совместимости.Method 1. Picstruct without backwards compatibility.

VVC по-прежнему разрабатывается, в силу чего можно проектировать синтаксис с максимальной свободой. В варианте осуществления в picstruct предлагается удалять варианты для удвоения кадров и утроения кадров, использовать конкретное значение picstruct для того, чтобы указывать произвольное повторение кадров, и добавлять новый синтаксический элемент num_frame_repetition_minus2, который указывает число кадров для повторения. Пример предложенного синтаксиса описывается в следующих таблицах, при этом табл. 10 обозначает изменения для табл. D.2.3 в HEVC и табл. 11 обозначает изменения табл. D.2, показанной в приложении.VVC is still being developed, so you can design the syntax with maximum freedom. In an embodiment, it is proposed to remove the options for frame doubling and frame tripling in picstruct, use a specific picstruct value to indicate random frame repetition, and add a new syntax element num_frame_repetition_minus2 that specifies the number of frames to repeat. An example of the proposed syntax is described in the following tables, with the table. 10 denotes changes for table. D.2.3 in HEVC and tab. 11 indicates the changes in the table. D.2 shown in the appendix.

Таблица 10Table 10

Примерный синтаксис SEI-сообщений по синхронизации изображений, способ 1Sample SEI Message Syntax for Image Synchronization Method 1

pic_timing(payloadSize) { pic_timing(payloadSize) { Дескриптор Descriptor if(frame_field_info_present_flag) { if(frame_field_info_present_flag) { pic_struct pic_struct u(4) u(4) if(pic_struct==7) if(pic_struct==7) u(4) u(4) num_frame_repetition_minu s2 num_frame_repetition_minu s2 u(4) u(4) source_scan_type source_scan_type u(2) u(2) duplicate_flag duplicate_flag u(l) u(l) } } .... (аналогично оригиналу) .... (similar to the original)

num_frame_repetition_minus2 плюс 2 указывает, что, когда fixed_pic_rate_withrn_cvs_flag равен 1, кадр должен отображаться num_frame_repetition_minus2 плюс 2 раза последовательно на дисплеях с интервалом обновления кадров, равным DpbOutputElementalInterval[n], как задано посредством уравнения Е-73.num_frame_repetition_minus2 plus 2 indicates that when fixed_pic_rate_withrn_cvs_flag is 1, the frame should be displayed num_frame_repetition_minus2 plus 2 times consecutively on displays with a frame refresh interval equal to DpbOutputElementalInterval[n] as given by Equation E-73.

Таблица 11Table 11

Пример исправленного pic struct согласно способу 1Example of corrected pic struct according to way 1

Значение Meaning Указываемое отображение изображения Specified display Images Ограничения Restrictions 0 0 (Построчный) кадр (Progressive) frame field_seq_flag должен быть равен 0 field_seq_flag must be 0 1 1 Верхнее поле Top field fieldseqflag должен быть равен 1 fieldseqflag must be 1 2 2 Нижнее поле bottom field fieldseqflag должен быть равен 1 fieldseqflag must be 1 3 3 Верхнее поле, нижнее поле, в этом порядке Top margin, bottom margin, in that order field_seq_flag должен быть равен 0 field_seq_flag must be 0 4 4 Нижнее поле, верхнее поле, в этом порядке Bottom margin, top margin, in that order field_seq_flag должен быть равен 0 field_seq_flag must be 0 5 5 Верхнее поле, нижнее поле, повторенное верхнее поле, в этом порядке Top margin, bottom margin, repeated top margin, in that order field_seq_flag должен быть равен 0 field_seq_flag must be 0 6 6 Нижнее поле, верхнее поле, повторенное нижнее поле, в этом порядке Bottom margin, top margin, repeated bottom margin, in that order field_seq_flag должен быть равен 0 field_seq_flag must be 0 7 7 Повторение кадров Frame repetition field_seq_flag должен быть равен 0 fixed_pic_rate_within_c v s_flag должен быть равен 1 field_seq_flag must be 0 fixed_pic_rate_within_c v s_flag must be be equal to 1 8 8 Верхнее поле, спаренное с предыдущим нижним полем в порядке вывода Top margin paired with previous bottom margin in output order field seq flag должен быть равен 1 field seq flag must be 1

- 15 042523- 15 042523

9 9 Нижнее поле, спаренное с предыдущим верхним полем в порядке вывода Bottom margin paired with previous top margin in output order fieldseqflag должен быть равен 1 fieldseqflag must be 1 10 10 Верхнее поле, спаренное со следующим нижним полем в порядке вывода Top margin paired with next bottom margin in output order fieldseqflag должен быть равен 1 fieldseqflag must be 1 11 eleven Нижнее поле, спаренное со следующим верхним полем в порядке вывода Bottom margin paired with next top margin in output order fieldseqflag должен быть равен 1 fieldseqflag must be 1

Способ 2. Расширенная версия HEVC-версии picstruct.Method 2: An extended version of the HEVC version of picstruct.

AVC- и HEVC-декодеры уже развертываются; в силу этого может требоваться просто расширять существующий picstruct синтаксис без удаления старых вариантов. В варианте осуществления добавляются новый pic_struct=13, значение расширения повторения кадров и новый синтаксический элемент num_frame_repetition_minus4. Пример предложенного синтаксиса описывается в табл. 12 и 13. Для значений pic_struct 0-12 предложенный синтаксис является идентичным с синтаксисом в табл. D.2 (как показано в приложении), в силу чего эти значения опускаются для простоты.AVC and HEVC decoders are already being deployed; as such, it may be desirable to simply extend the existing picstruct syntax without removing old variants. In an embodiment, a new pic_struct=13, a frame repetition extension value, and a new syntax element num_frame_repetition_minus4 are added. An example of the proposed syntax is described in Table. 12 and 13. For pic_struct values 0-12, the proposed syntax is identical to the syntax in Table. D.2 (as shown in the appendix), whereby these values are omitted for simplicity.

Таблица 12Table 12

Примерный синтаксис SEI-сообщений по синхронизации изображений, способ 2Sample SEI Message Syntax for Image Synchronization Method 2

pic_timing(payloadSize) { pic_timing(payloadSize) { Дескриптор Descriptor if(frame_field_info_present_flag) { if(frame_field_info_present_flag) { pic_struct pic_struct u(4) u(4) if(pic_struct==13) if(pic_struct==13) u(4) u(4) num_frame_repetition_minu s4 num_frame_repetition_minu s4 u(4) u(4) source_scan_type source_scan_type u(2) u(2) duplicate_flag duplicate_flag u(l) u(l) } } ... (аналогично оригиналу) ... (similar to the original)

num_frame_repetition_minus4 плюс 4 указывает, что, когда fixed_pic_rate_within_cvs_flag равен 1, кадр должен отображаться num_frame_repetition_minus4 плюс 4 раз последовательно на дисплеях с интервалом обновления кадров, равным DpbOutputElementalInterval[n], как задано посредством уравнения Е-73.num_frame_repetition_minus4 plus 4 indicates that when fixed_pic_rate_within_cvs_flag is equal to 1, the frame should be displayed num_frame_repetition_minus4 plus 4 times consecutively on displays with a frame refresh interval equal to DpbOutputElementalInterval[n] as given by Equation E-73.

Таблица 13Table 13

Пример исправленного pic struct, способ 2Fixed pic struct example, method 2

Значение Meaning Указываемое отображение изображения Specified display Images Ограничения Restrictions 0-12 0-12 Аналогично таблице D.2 Similar to table D.2 Аналогично таблице D.2 Similar to table D.2 13 13 Расширение повторения кадров Frame repetition extension field_seq_flag должен быть равен 0 fixed_pic_rate_within_c v s_flag должен быть равен 1 field_seq_flag must be 0 fixed_pic_rate_within_c v s_flag must be be equal to 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.In HEVC, the frame_field_info_present_flag parameter is present in the video applicability information (VUI), but the pic_struct, source_scan_type, and duplicate_flag syntax elements are in the pic_timing() SEI message. In an embodiment, it is proposed to move all associated syntax elements into the VUI, along with frame_field_info_present_flag. An example of the proposed syntax is illustrated in Table. 14.

- 16 042523- 16 042523

Таблица 14Table 14

Примерный синтаксис VUI-параметров с поддержкой исправленного синтаксического элемента pic structSample syntax for VUI parameters with support for the corrected pic struct syntax element

vui_parameters() { vui_parameters() { Дескриптор Descriptor u(D u(D field_seq_flag field_seq_flag u(D u(D frame_field_info_present_flag frame_field_info_present_flag u(D u(D if(frame_field_info_present_flag) { if(frame_field_info_present_flag) { pic_struct pic_struct u(4) u(4) source_scan_type source_scan_type u(2) u(2) duplicate_flag duplicate_flag u(D u(D } } } }

Альтернативное сигнализирование информации угла затвора.Alternative signaling of shutter angle information.

При решении проблем, связанных с переменной частотой кадров, желательно идентифицировать как требуемую частоту кадров, так и требуемый угол затвора. В предшествующих стандартах кодирования видео, информация применимости видео (VUI) предоставляет существенную информацию для надлежащего отображения видеоконтента, такую как соотношение сторон, первичные цвета, субдискретизация сигнала цветности и т.д. VUI также может предоставлять информацию частоты кадров, если фиксированная частота изображений задается равной 1; тем не менее отсутствует поддержка информации угла затвора. Варианты осуществления обеспечивают возможность использования различных углов затвора для различных временных слоев, и декодер может использовать информацию угла затвора для того, чтобы улучшать конечный внешний вид на дисплее.When dealing with variable frame rate issues, it is desirable to identify both the required frame rate and the required shutter angle. In previous video coding standards, video usability information (VUI) provides essential information for proper display of video content, such as aspect ratio, primary colors, chroma subsampling, and so on. The VUI can also provide frame rate information if the fixed picture rate is set to 1; however, there is no support for shutter angle information. Embodiments allow different shutter angles to be used for different temporal layers, and the decoder can use the shutter angle information to improve the final appearance on the display.

Например, HEVC поддерживает временные подслои, которые по существу используют технологии отбрасывания кадров, чтобы проходить от более высокой частоты кадров к более низкой частотой кадров. Главная проблема с этим состоит в том, что эффективный угол затвора уменьшается с каждым отбрасыванием кадров. В качестве примера 60 кадров/с могут извлекаться из видео в 120 кадров/с посредством отбрасывания каждого второго кадра; 30 кадров/с могут извлекаться посредством отбрасывания 3 из 4 кадров; и 24 кадра/с могут извлекаться посредством отбрасывания 4 из 5 кадров. При условии полного затвора в 360° для 120 Гц с простым отбрасыванием кадров углы затвора для 60 кадров/с, 30 кадров/с и 24 кадров/с равны 180, 90 и 72° соответственно [3]. Опыт показывает, что углы затвора ниже 180° в общем являются недопустимыми, в частности, с частотами кадров ниже 50 Гц. Посредством предоставления информации угла затвора, например, если требуется, что дисплей формирует кинематографический эффект из видео при 120 Гц с уменьшенным углом затвора для каждого временного слоя, интеллектуальные технологии могут применяться для того, чтобы улучшать конечный внешний вид.For example, HEVC supports temporal sublayers that essentially use frame dropping techniques to traverse from a higher frame rate to a lower frame rate. The main problem with this is that the effective shutter angle decreases with each frame drop. As an example, 60 fps can be extracted from a 120 fps video by dropping every second frame; 30 frames/s can be extracted by discarding 3 out of 4 frames; and 24 fps can be extracted by discarding 4 out of 5 frames. Assuming a full 360° shutter for 120 Hz with simple frame drop, the shutter angles for 60 fps, 30 fps, and 24 fps are 180, 90, and 72°, respectively [3]. Experience has shown that shutter angles below 180° are generally unacceptable, in particular with frame rates below 50 Hz. By providing shutter angle information, for example, if the display is required to generate a cinematic effect from video at 120 Hz with a reduced shutter angle for each time layer, smart technologies can be applied to improve the final appearance.

В другом примере можно хотеть поддерживать другой временной слой (скажем, субпоток битов в 60 кадров/с внутри потока битов в 120 кадров/с) с идентичным углом затвора. В таком случае главная проблема состоит в том, что, когда видео в 120 кадров/с отображается при 120 Гц, четные/нечетные кадры имеют различный эффективный угол затвора. Если дисплей имеет связанную информацию, интеллектуальные технологии могут применяться для того, чтобы улучшать конечный внешний вид. Пример предложенного синтаксиса показывается в табл. 15, в которой синтаксическая таблица VUI-параметров Е.2.1 в HEVC (ссылочный материал [1]) модифицируется, чтобы поддерживать информацию угла затвора так, как отмечено. Следует отметить, что в другом варианте осуществления вместо выражения синтаксиса shutter_angle в абсолютных градусах, он альтернативно может выражаться как отношение частоты кадров к скорости срабатывания затвора (см. уравнение (1)).In another example, one may want to support a different time layer (say, a 60 fps sub-bitstream within a 120 fps bitstream) with an identical shutter angle. In such a case, the main problem is that when a 120 fps video is displayed at 120 Hz, even/odd frames have a different effective shutter angle. If the display has associated information, smart technologies can be applied to improve the final appearance. An example of the proposed syntax is shown in Table. 15, in which the E.2.1 VUI parameter syntax table in HEVC (Ref. [1]) is modified to maintain shutter angle information as noted. It should be noted that in another embodiment, instead of expressing the shutter_angle syntax in absolute degrees, it may alternatively be expressed as the ratio of frame rate to shutter speed (see equation (1)).

- 17 042523- 17 042523

Таблица 15Table 15

Примерный синтаксис VUI-параметров с поддержкой угла затвораSample VUI Parameter Syntax with Shutter Angle Support

vui_parameters() { vui_parameters() { Дескриптор Descriptor vui_timing_info_present_flag vui_timing_info_present_flag u(D u(D if(vui_timing_info_present_flag) { if(vui_timing_info_present_flag) { vui_num_units_in_tick vui_num_units_in_tick u(32) u(32) vui_time_scale vui_time_scale u(32) u(32) vui_poc_proportional_to_timing_flag vui_poc_proportional_to_timing_flag u(l) u(l) if(sps_poc_proportional_to_timing_flag) if(sps_poc_proportional_to_timing_flag) vui_num_ticks_poc_diff_one_minu s 1 vui_num_ticks_poc_diff_one_minu s 1 ue(v) ue(v) vui_hrd_parameters_present_flag vui_hrd_parameters_present_flag u(l) u(l) if(vcl_hrd_parameters_present_flag) if(vcl_hrd_parameters_present_flag) hrd_parameters( 1, sps_max_subjayers_minus 1) hrd_parameters( 1, sps_max_subjayers_minus 1) } } vui_shutter_angle_info_present_flag vui_shutter_angle_info_present_flag u(l) u(l) if(vui_shutter_angles_info_present_flag) { if(vui_shutter_angles_info_present_flag) { fixed_shutter_angle_within_cvs_flag fixed_shutter_angle_within_cvs_flag u(l) u(l) if(fixed_shutter_angle_with_cvs_flag) if(fixed_shutter_angle_with_cvs_flag) fixed_shutter_angle fixed_shutter_angle u(9) u(9) else { else { for(i=0; i<=vps_max_sub_layers_minusl; i++) { for(i=0; i<=vps_max_sub_layers_minusl; i++) { sub_layer_shutter_angle [i] sub_layer_shutter_angle [i] u(9) u(9) } } } } } }

vui_shutter_angle_info_present_flag, равный 1, указывает, что информация угла затвора присутствует в синтаксической структуре vui_parameters().vui_shutter_angle_info_present_flag equal to 1 indicates that the shutter angle information is present in the vui_parameters() syntax structure.

vui_shutter_angle_info_present_flag, равный 0, указывает, что информация угла затвора не присутствует в синтаксической структуре vui_parameters().vui_shutter_angle_info_present_flag equal to 0 indicates that the shutter angle information is not present in the vui_parameters() syntax structure.

fixed_shutter_angle_within_cvs_flag, равный 1, указывает, что информация угла затвора является идентичной для всех временных подслоев в CVS.fixed_shutter_angle_within_cvs_flag equal to 1 indicates that the shutter angle information is the same for all time sublayers in CVS.

fixed_shutter_angle_within_cvs_flag, равный 0, указывает, что информация угла затвора может не быть идентичной для всех временных подслоев в CVS.fixed_shutter_angle_within_cvs_flag equal to 0 indicates that the shutter angle information may not be identical for all time sublayers in CVS.

fixed_shutter_angle указывает угол затвора в градусах в CVS. Значение fixed_shutterangle должно составлять в диапазоне от 0 до 360.fixed_shutter_angle specifies the shutter angle in degrees in CVS. fixed_shutterangle must be between 0 and 360.

sub_layer_shutter_angle[i] указывает угол затвора в градусах, когда HighestTid равен i. Значение sub_layer_shutter_angle[i] должно составлять в диапазоне от 0 до 360.sub_layer_shutter_angle[i] specifies the shutter angle in degrees when HighestTid is i. sub_layer_shutter_angle[i] must be between 0 and 360.

Постепенное обновление частоты кадров в кодированной видеопоследовательности (CVS).Gradually update the frame rate in the coded video sequence (CVS).

Эксперименты демонстрируют, что для HDR-контента, отображаемого на HDR-дисплее, чтобы воспринимать идентичное дрожание при движении в качестве воспроизведения в стандартном динамическом диапазоне (SDR) на дисплее на 100 нит, частота кадров должна увеличиваться на основе яркости контента. В большинстве стандартов (AVC, HEVC, VVC и т.д.) частота видеокадров может указываться в VUI (содержащейся в SPS) с использованием синтаксических элементов vui_time_scale, vui_num_units_in_tick и elemental_duration_in_tc_minus1 [temporal_id_max], например, как показано в нижеприведенной табл. 16 (см. раздел Е.2.1 в ссылочном материале [1]).Experiments demonstrate that for HDR content displayed on an HDR display, in order to perceive identical motion judder as standard dynamic range (SDR) playback on a 100 nit display, the frame rate must increase based on the brightness of the content. In most standards (AVC, HEVC, VVC, etc.), the video frame rate can be specified in the VUI (contained in the SPS) using the vui_time_scale, vui_num_units_in_tick, and elemental_duration_in_tc_minus1 [temporal_id_max] syntax elements, for example, as shown in the following table. 16 (see section E.2.1 in Ref. [1]).

- 18 042523- 18 042523

Таблица 16Table 16

Синтаксические VUI-элементы, которые указывают частоту кадров в HEVCSyntax VUI elements that indicate the frame rate in HEVC

vui_parameters() { vui_parameters() { Дескриптор Descriptor vui_timing_info_present_flag vui_timing_info_present_flag u(D u(D if(vui_timing_info_present_flag) { if(vui_timing_info_present_flag) { vui_num_units_in_tick vui_num_units_in_tick u(32) u(32) vui_time_scale vui_time_scale u(32) u(32) vui_poc_proportional_to_timing_flag vui_poc_proportional_to_timing_flag u(l) u(l) if(sps_poc_proportional_to_timing_flag) if(sps_poc_proportional_to_timing_flag) vui_num_ticks_poc_diff_one_minu s 1 vui_num_ticks_poc_diff_one_minu s 1 ue(v) ue(v) vui_hrd_parameters_present_flag vui_hrd_parameters_present_flag u(l) u(l) if(vcl_hrd_parameters_present_flag) if(vcl_hrd_parameters_present_flag) hrd_parameters( 1, sps_max_subjayers_minus 1) hrd_parameters( 1, sps_max_subjayers_minus 1) } }

Как пояснено в ссылочном материале [1], переменная ClockTick извлекается следующим образом и называется тактом синхросигнала:As explained in reference [1], the ClockTick variable is retrieved as follows and is called the clock tick:

ClockTick=vui_num_units_in_tick^vui_time_scale picture_duration=ClockT ick* (elemental_duration_in_tc_minus 1[i]+1) frame_rate= 1 /pic_durationClockTick=vui_num_units_in_tick^vui_time_scale picture_duration=ClockTick* (elemental_duration_in_tc_minus 1[i]+1) frame_rate= 1 /pic_duration

Тем не менее частота кадров может изменяться только в конкретные моменты времени, например, в HEVC только в кадрах на основе внутренней точки произвольного доступа (IRAP) или в начале новой CVS. Для HDR-воспроизведения, когда возникает случай постепенного появления или постепенного исчезновения, поскольку яркость изображения изменяется покадрово, может возникать необходимость изменять частоту кадров или длительность изображения для каждого изображения. Чтобы обеспечивать возможность обновления частоты кадров или длительности изображения в любой момент времени (даже на покадровой основе), в варианте осуществления, предлагается новое SEI-сообщение для частоты с постепенным обновлением, как показано в табл. 17.However, the frame rate may only change at specific times, for example, in HEVC only in frames based on an internal random access point (IRAP) or at the beginning of a new CVS. For HDR playback, when a case of fading in or fading out occurs because the brightness of an image changes frame by frame, it may be necessary to change the frame rate or image duration for each image. In order to be able to update the frame rate or duration of a picture at any point in time (even on a frame-by-frame basis), in an embodiment, a new SEI message is proposed for a gradual update rate, as shown in Table 1. 17.

Таблица 17Table 17

Примерный синтаксис, для того чтобы поддерживать частоту кадров с постепенным обновлением при обмене SEI-сообщениямиExemplary Syntax to Support Gradual Refresh Frame Rates in SEI Messaging

gradual_refresh_rate(payloadSize) { gradual_refresh_rate(payloadSize) { Дескриптор Descriptor num_units_in_tick num_units_in_tick u(32) u(32) time_scale time_scale u(32) u(32) } }

Определение нового синтаксиса numunits_in_tick является идентичным vui_numunits_in_tick, и определение timescale является идентичным определению vui_time_scale.The definition of the new syntax numunits_in_tick is identical to vui_numunits_in_tick and the definition of timescale is identical to that of vui_time_scale.

numunits_in_tick является числом единиц времени синхросигнала, работающего на частоте timescale Гц, которая соответствует одному приращению (называемому тактом синхросигнала) счетчика тактов синхросигнала; numunits_in_tick должен превышать 0. Такт синхросигнала в единицах секунд равен частному num_units_in_tick, деленному на timescale. Например, когда частота изображений видеосигнала составляет 25 Гц, time_scale может быть равен 27000000, num_units_in_tick может быть равен 1080000 и в силу этого такт синхросигнала может быть равен 0,04 с.numunits_in_tick is the number of time units of the clock signal running at timescale Hz, which corresponds to one increment (called the clock tick) of the clock tick counter; numunits_in_tick must be greater than 0. The clock tick in units of seconds is equal to the quotient num_units_in_tick divided by the timescale. For example, when the video signal's image rate is 25 Hz, time_scale may be 27000000, num_units_in_tick may be 1080000, and thus the clock cycle may be 0.04 s.

time_scale является числом единиц времени, которые проходят за 1 с. Например, система временных координат, которая измеряет время с использованием синхросигнала в 27 МГц, имеет time_scale в 27000000. Значение time_scale должно превышать 0.time_scale is the number of units of time that pass in 1 s. For example, a time frame that measures time using a 27 MHz clock signal has a time_scale of 27000000. The value of time_scale must be greater than 0.

Временная длительность изображения для изображения, которое использует SEI-сообщение gradual_refresh_rate, задается следующим образом:The picture time duration for a picture that uses the gradual_refresh_rate SEI message is set as follows:

picture_duration=num_units_in_tick^time_scalepicture_duration=num_units_in_tick^time_scale

Сигнализирование информации угла затвора через обмен SEI-сообщениями.Shutter angle information signaling via SEI messaging.

Как пояснено выше, табл. 15 предоставляет пример синтаксиса VUI-параметров с поддержкой угла затвора. В качестве примера и без ограничения табл. 18 перечисляет идентичные синтаксические элементы, но теперь в качестве части SEI-сообщения для информации угла затвора. Следует отметить, что обмен SEI-сообщениями используется только в качестве примера и аналогичный обмен сообщениями мо- 19 042523 жет конструироваться в других слоях высокоуровневого синтаксиса, таких как набор параметров последовательности (SPS), набор параметров изображения (PPS), заголовок серии последовательных макроблоков или группы мозаичных фрагментов и т.п.As explained above, Table. 15 provides an example syntax for VUI parameters with shutter angle support. By way of example and without limitation, Table 18 lists identical syntax elements, but now as part of the SEI message for shutter angle information. It should be noted that SEI messaging is used as an example only and similar messaging can be constructed in other layers of the high-level syntax such as Sequence Parameter Set (SPS), Picture Parameter Set (PPS), Sequence Header, or groups of mosaic fragments, etc.

Таблица 18Table 18

Примерный синтаксис SEI-сообщений для информации угла затвораExemplary SEI Message Syntax for Gate Angle Information

shutter_angle_information(payloadSize) { shutter_angle_information(payloadSize) { Дескриптор Descriptor fixed_shutter_angle_within_cvs_flag fixed_shutter_angle_within_cvs_flag u(l) u(l) if(fixed_shutter_angle_within_cvs_flag) if(fixed_shutter_angle_within_cvs_flag) fixed_shutter_angle fixed_shutter_angle u(9) u(9) else { else { for(i=0; i<=sps_max_sub_layers_minusl; i++) for(i=0; i<=sps_max_sub_layers_minusl; i++) sub_layer_shutter_angle [i] sub_layer_shutter_angle [i] u(9) u(9) } } } }

Угол затвора типично выражается в градусах от 0 до 360°. Например, угол затвора в 180° указывает, что длительность экспозиции составляет 1/2 от длительности кадра. Угол затвора может выражаться следующим образом:The shutter angle is typically expressed in degrees from 0° to 360°. For example, a shutter angle of 180° indicates that the exposure time is 1/2 of the frame time. The shutter angle can be expressed as follows:

shutter_angle=frame_rate*360*shutter_speed, где shutter_speed является длительностью экспозиции, и frame_rate является инверсией длительности кадра.shutter_angle=frame_rate*360*shutter_speed where shutter_speed is the exposure duration and frame_rate is the inverse of the frame duration.

frame_rate для данного временного подслоя Tid может указываться посредством num_units_in_tick, time_scale, elemental_duration_in_tc_minus1[Tid]. Например, когда fixed_pic_rate_within_cvs_flag [Tid] равен 1, frame_rate=time_scale/(num_units Jn^ick* (elemental_duration_in_tc_minus 1 [Tid]+1)).frame_rate for a given time sublayer Tid may be indicated by num_units_in_tick, time_scale, elemental_duration_in_tc_minus1[Tid]. For example, when fixed_pic_rate_within_cvs_flag [Tid] is 1, frame_rate=time_scale/(num_units Jn^ick* (elemental_duration_in_tc_minus 1 [Tid]+1)).

В некоторых вариантах осуществления значение угла затвора (например, fixed_shutter_angle) может не быть целым числом, например, оно может составлять 135,75°. Чтобы обеспечивать большую точность, в табл. 21, можно заменять u(9) (9 битов без знака) на u(16) или некоторую другую подходящую битовую глубину (например, 12 битов, 14 битов или более 16 битов).In some embodiments, the shutter angle value (eg, fixed_shutter_angle) may not be an integer, eg, it may be 135.75°. To ensure greater accuracy, in table. 21, you can replace u(9) (unsigned 9 bits) with u(16) or some other suitable bit depth (eg, 12 bits, 14 bits, or more than 16 bits).

В некоторых вариантах осуществления может быть преимущественным выражать информацию угла затвора с точки зрения тактов синхросигнала. В VVC переменная ClockTick извлекается следующим образом:In some embodiments, it may be advantageous to express the shutter angle information in terms of clock cycles. In VVC, the ClockTick variable is retrieved like this:

ClockTick=num_units_in_tick э- time scale (8)ClockTick=num_units_in_tick and time scale (8)

В таком случае можно выражать как длительность кадра, так и длительность экспозиции в качестве кратного или дробного относительно тактов синхросигнала:In this case, you can express both the frame duration and the exposure duration as a multiple or fractional relative to the clock cycles:

exposure_duratiоn=fN* C lockTick (9) frame_duration=fM*ClockTick (10) где fN и fM являются значениями с плавающей запятой, и fN<fM.exposure_duration=fN* C lockTick (9) frame_duration=fM*ClockTick (10) where fN and fM are floating point values and fN<fM.

В таком случае shutter_angle=frame_rate*360* shutter_speed= =(l/frame_duration)*360*exposure_duration= (11) =(ехро sure_durati on *360)/frame_durati on= =(fN*ClockTick*360)/(fM*ClockTick)= =(fN/fM) *360=(N umerator/Denominator) *360, где Numerator и Denominator являются целыми числами, аппроксимирующими отношение fN/fM.In this case shutter_angle=frame_rate*360* shutter_speed= =(l/frame_duration)*360*exposure_duration= (11) =(expo sure_durati on *360)/frame_durati on= =(fN*ClockTick*360)/(fM*ClockTick )= =(fN/fM) *360=(N umerator/Denominator) *360, where Numerator and Denominator are integers approximating the ratio fN/fM.

Табл. 19 показывает пример обмена SEI-сообщениями, указываемого посредством уравнения (11). В этом примере угол затвора должен превышать 0° для камеры реального мира.Tab. 19 shows an example of SEI messaging indicated by Equation (11). In this example, the shutter angle must be greater than 0° for the real world camera.

- 20 042523- 20 042523

Таблица 19Table 19

Примерный обмен SEI-сообщениями для информации угла затвора на основе тактов синхросигналаExemplary SEI messaging for clock-based shutter angle information

shutter_angle_information(payloadSize) { shutter_angle_information(payloadSize) { Дескриптор Descriptor fixed_shutter_angle_within_cvs_flag fixed_shutter_angle_within_cvs_flag u(l) u(l) if(fixed_shutter_angle_within_cvs_flag) { if(fixed_shutter_angle_within_cvs_flag) { fixed_shutter_angle_numer_minu s 1 fixed_shutter_angle_numer_minu s 1 u(16) u(16) fixed_shutter_angle_denom_minu s 1 fixed_shutter_angle_denom_minu s 1 u(16) u(16) } } else { else { for(i=0; i<=vps_max_sub_layers_minusl; i++) { for(i=0; i<=vps_max_sub_layers_minusl; i++) { sub_layer_shutter_angle_numer_minus 1 [i] sub_layer_shutter_angle_numer_minus 1 [i] u(16) u(16) sub_layer_shutter_angle_denom_minus 1 [i] sub_layer_shutter_angle_denom_minus 1 [i] u(16) u(16) } } } }

Как пояснено выше, использование u(16) (16 битов без знака) для точности угла затвора проиллюстрировано в качестве примера и соответствует точности в 360/216=0,0055. Точность может регулироваться на основе реальных вариантов применения. Например, при использовании u(8), точность составляет 360/28 =1,4063.As explained above, the use of u(16) (unsigned 16 bits) for shutter angle accuracy is illustrated as an example and corresponds to an accuracy of 360/2 16 =0.0055. Accuracy can be adjusted based on actual applications. For example, when using u(8), the precision is 360/2 8 =1.4063.

Примечание. Угол затвора выражается в градусах, больших 0, но меньших или равных 360°. Например, угол затвора в 180° указывает, что длительность экспозиции составляет 1/2 от длительности кадра.Note. The shutter angle is expressed in degrees greater than 0 but less than or equal to 360°. For example, a shutter angle of 180° indicates that the exposure time is 1/2 of the frame time.

fixed_shutter_angle_within_cvs_flag, равный 1, указывает, что значение угла затвора является идентичным для всех временных подслоев в CVS.fixed_shutter_angle_within_cvs_flag equal to 1 indicates that the shutter angle value is the same for all time sublayers in CVS.

fixed_shutter_angle_within_cvs_flag, равный 0, указывает, что значение угла затвора может не быть идентичным для всех временных подслоев в CVS.fixed_shutter_angle_within_cvs_flag equal to 0 indicates that the shutter angle value may not be identical for all time sublayers in CVS.

fixed_shutter_angle_numer_minus1 плюс 1 указывает числитель, используемый для того, чтобы извлекать значение угла затвора. Значение fixed_shutter_angle_numer_minus1 должно составлять в диапазоне от 0 до 65535 включительно.fixed_shutter_angle_numer_minus1 plus 1 specifies the numerator used to retrieve the shutter angle value. The fixed_shutter_angle_numer_minus1 value must be between 0 and 65535 inclusive.

fixed_shutter_angle_demom_minus1 плюс 1 указывает знаменатель, используемый для того, чтобы извлекать значение угла затвора. Значение fixed_shutter_angle_demom_minus1 должно составлять в диапазоне от 0 до 65535 включительно.fixed_shutter_angle_demom_minus1 plus 1 specifies the denominator used to retrieve the shutter angle value. The fixed_shutter_angle_demom_minus1 value must be between 0 and 65535 inclusive.

Значение fixed_shutter_angle_numer_minus1 должно быть меньше или равно значению fixed_shutter_angle_demom_minus 1.The value of fixed_shutter_angle_numer_minus1 must be less than or equal to the value of fixed_shutter_angle_demom_minus 1.

Переменная shutterAngle в градусах извлекается следующим образом:The variable shutterAngle in degrees is retrieved like this:

shutterAngle=3 60* (fixedshutterangl enumerminus 1+1) (fixed_shutter_angle_demom_minu s 1+1) sub_layer_shutter_angle_numer_minus1[i] плюс 1 указывает числитель, используемый для того, чтобы извлекать значение угла затвора, когда HighestTid равен i. Значение sub_layer_shutter_angle_numer_minus1[i] должно составлять в диапазоне от 0 до 65535 включительно.shutterAngle=3 60* (fixedshutterangl enumerminus 1+1) (fixed_shutter_angle_demom_minu s 1+1) sub_layer_shutter_angle_numer_minus1[i] plus 1 specifies the numerator used to retrieve the shutter angle value when HighestTid is i. The value of sub_layer_shutter_angle_numer_minus1[i] must be between 0 and 65535 inclusive.

sub_layer_shutter_angle_demom_minus1[i] плюс 1 указывает знаменатель, используемый для того, чтобы извлекать значение угла затвора, когда HighestTid равен i. Значение sub_layer_shutter_angle_demom_minus1[i] должно составлять в диапазоне от 0 до 65535 включительно.sub_layer_shutter_angle_demom_minus1[i] plus 1 specifies the denominator used to retrieve the shutter angle value when HighestTid is i. The value of sub_layer_shutter_angle_demom_minus1[i] must be between 0 and 65535 inclusive.

Значение sub_layer_shutter_angle_numer_minus1[i] должно быть меньше или равно значению sub_layer_shutter_angle_denom_minus I [i].The value of sub_layer_shutter_angle_numer_minus1[i] must be less than or equal to the value of sub_layer_shutter_angle_denom_minus I[i].

Переменная subLayerShutterAngle[i] в градусах извлекается следующим образом: subLayerShutterAngle[i]=360* (sub_layer_shutter_angle_numer_minus 1 [i] +1) (sub_layer_shutter_angle_demom_minusl[i] +1)The variable subLayerShutterAngle[i] in degrees is retrieved as follows: subLayerShutterAngle[i]=360* (sub_layer_shutter_angle_numer_minus 1 [i] +1) (sub_layer_shutter_angle_demom_minusl[i] +1)

В другом варианте осуществления длительность кадра (например, frameduration) может указываться посредством некоторого другого средства. Например, в DVB/ATSC, когда fixed_pic_rate_within_cvs_flag [Tid] равен 1, frame_rate=time_s с ale/(num_units_in_tick* (elemental_duration_in_tc_minu s 1 [Tid]+1)), frame_duration= l/frame_rate.In another embodiment, the frame duration (eg, frameduration) may be indicated by some other means. For example, in DVB/ATSC, when fixed_pic_rate_within_cvs_flag [Tid] is 1, frame_rate=time_s with ale/(num_units_in_tick* (elemental_duration_in_tc_minu s 1 [Tid]+1)), frame_duration=l/frame_rate.

Синтаксис в табл. 19 и в некоторых последующих таблицах предполагает то, что угол затвора всегда должен быть больше нуля; тем не менее угол затвора=0 может использоваться для того, чтобы сигнализировать творческое намерение, при котором контент должен отображаться без размытости при движении. Это может иметь место для движущейся графики, анимации, CGI-текстур и матовых экранов и т.д. ВSyntax in Table. 19 and in some subsequent tables suggests that the shutter angle should always be greater than zero; however, shutter angle=0 can be used to signal the creative intent that content should be rendered without motion blur. This can be the case for moving graphics, animations, CGI textures and matte screens, etc. IN

- 21 042523 связи с этим, например, сигнализирование угла затвора=0 может быть полезным для решения по выбору режима в транскодере (например, чтобы выбирать режимы транскодирования, которые сохраняют края), а также на дисплее, который принимает метаданные угла затвора по СТА-интерфейсу или 3GPP-интерфейсу. Например, угол затвора=0 может использоваться для того, чтобы указывать для дисплея то, что он не должен выполнять обработку движения, такую как очистка от шума, интерполяция кадров и т.п. В таком варианте осуществления синтаксические элементы fixed_shutter_angle_numer_minus1 и sub_layer_shutter_angle_numer_minus1[i] могут заменяться посредством синтаксических элементов fixed_shutter_angle_numer и sub_layer_shutter_angle_numer[i], где fixed_shutter_angle_numer указывает числитель, используемый для того, чтобы извлекать значение угла затвора (значение fixed_shutter_angle_numer должно составлять в диапазоне от 0 до 65535 включительно);- 21 042523 In this regard, for example, signaling shutter angle=0 can be useful for mode selection decision in a transcoder (for example, to select transcoding modes that preserve edges), as well as in a display that receives shutter angle metadata over STA- interface or 3GPP interface. For example, shutter angle=0 may be used to indicate to the display that it should not perform motion processing such as denoising, frame interpolation, and the like. In such an embodiment, the fixed_shutter_angle_numer_minus1 and sub_layer_shutter_angle_numer_minus1[i] syntax elements may be replaced by the fixed_shutter_angle_numer and sub_layer_shutter_angle_numer[i] syntax elements, where fixed_shutter_angle_numer indicates the numerator used to retrieve the shutter angle value (the value of fixed_shutter_angle_numer must be between 35 and inclusive );

sub_layer_shutter_angle_numer[i] указывает числитель, используемый для того, чтобы извлекать значение угла затвора, когда HighestTid равен i (значение sub_layer_shutter_angle_numer[i] должно составлять в диапазоне от 0 до 65535 включительно).sub_layer_shutter_angle_numer[i] specifies the numerator used to retrieve the shutter angle value when HighestTid is i (sub_layer_shutter_angle_numer[i] must be between 0 and 65535 inclusive).

Кроме того, в другом варианте осуществления fixed_shutter_angle_denom_minus1 и sub_layer_shutter_angle_denom_minus1[i] также могут заменяться посредством синтаксических элементов fixed_shutter_angle_denom и sub_layer_shutter_angle_denom[i].Furthermore, in another embodiment, fixed_shutter_angle_denom_minus1 and sub_layer_shutter_angle_denom_minus1[i] may also be replaced by the fixed_shutter_angle_denom and sub_layer_shutter_angle_denom[i] syntax elements.

В варианте осуществления, как проиллюстрировано в табл. 20, можно многократно использовать синтаксис numunits_in_tick и timescale, заданный в SPS посредством задания general_hrd_parameters_present_flag равным 1 в VVC. Согласно этому сценарию SEI-сообщение может быть переименовано в качестве SEI-сообщения длительности экспозиции.In an embodiment, as illustrated in Table. 20, it is possible to reuse the numunits_in_tick and timescale syntax given in SPS by setting general_hrd_parameters_present_flag to 1 in VVC. According to this scenario, the SEI message can be renamed as the exposure duration SEI message.

Таблица 20Table 20

Примерный обмен SEI-сообщениями для сигнализирования длительности экспозицииExemplary SEI message exchange for exposure duration signaling

exposure_duration_information(payloadSize) { exposure_duration_information(payloadSize) { Дескриптор Descriptor fixed_exposure_duration_within_cvs_flag fixed_exposure_duration_within_cvs_flag u(l) u(l) if(fixed_shutter_angle_within_cvs_flag) { if(fixed_shutter_angle_within_cvs_flag) { fixed_expo sure_duration_numer_minu s 1 fixed_expo sure_duration_numer_minu s 1 u(16) u(16) fixed_expo sure_duration_denom_minu s 1 fixed_expo sure_duration_denom_minu s 1 u(16) u(16) } } else { else { for(i=0; i<=vps_max_sub_layers_minusl; i++) { for(i=0; i<=vps_max_sub_layers_minusl; i++) { sub_layer_exposure_duration_numer_minus 1 [i] sub_layer_exposure_duration_numer_minus 1 [i] u(16) u(16) sub_layer_exposure_duration_denom_minus 1 [i] sub_layer_exposure_duration_denom_minus 1 [i] u(16) u(16) } } } }

fixed_exposure_duration_within_cvs_flag, равный 1, указывает, что эффективное значение длительности экспозиции является идентичным для всех временных подслоев в CVS.fixed_exposure_duration_within_cvs_flag equal to 1 indicates that the effective exposure duration value is the same for all time sublayers in CVS.

fixed_exposure_duration_within_cvs_flag, равный 0, указывает, что эффективное значение длительности экспозиции может не быть идентичным для всех временных подслоев в CVS.fixed_exposure_duration_within_cvs_flag equal to 0 indicates that the effective exposure duration value may not be identical for all time sublayers in CVS.

fixed_exposure_duration_numer_minus1+1 указывает числитель, используемый для того, чтобы извлекать значение длительности экспозиции. Значение fixed_exposure_duration_numer_minus1 должно составлять в диапазоне от 0 до 65535 включительно.fixed_exposure_duration_numer_minus1+1 specifies the numerator used to retrieve the exposure duration value. The fixed_exposure_duration_numer_minus1 value must be between 0 and 65535 inclusive.

fixed_exposure_duration_demom_minus1+1 указывает знаменатель, используемый для того, чтобы извлекать значение длительности экспозиции. Значение fixed_exposure_duration_demom_minus1 должно составлять в диапазоне от 0 до 65535 включительно.fixed_exposure_duration_demom_minus1+1 specifies the denominator used to extract the exposure duration value. fixed_exposure_duration_demom_minus1 must be between 0 and 65535 inclusive.

Значение fixed_exposure_during_numer_minus1 должно быть меньше или равно значению fixed_exposure_duration_demom_minus1.The value of fixed_exposure_during_numer_minus1 must be less than or equal to the value of fixed_exposure_duration_demom_minus1.

Переменная fixedExposureDuration извлекается следующим образом:The variable fixedExposureDuration is retrieved like this:

fixedExposureDuration=(fixed_exposure_duration_numer_minus 1+1) (fixed_exposure_duration_demom_minusl+l)*ClockTicks sub_layer_exposure_duration_numer_minus1[i]+1 указывает числитель, используемый для того, чтобы извлекать значение длительности экспозиции, когда HighestTid равен i. Значение sub_layer_exposure_duration_numer_minus1[i] должно составлять в диапазоне от 0 до 65535 включительно.fixedExposureDuration=(fixed_exposure_duration_numer_minus 1+1) (fixed_exposure_duration_demom_minusl+l)*ClockTicks sub_layer_exposure_duration_numer_minus1[i]+1 specifies the numerator used to retrieve the exposure duration value when HighestTid is i. The value of sub_layer_exposure_duration_numer_minus1[i] must be between 0 and 65535 inclusive.

sub_layer_exposure_duration_demom_minus1[i]+1 указывает знаменатель, используемый для того, чтобы извлекать значение длительности экспозиции, когда lighestTid равен i. Значение sub_layer_exposure_duration_demom_minus1[i] должно доставлять в диапазоне от 0 до 65535 включительно.sub_layer_exposure_duration_demom_minus1[i]+1 specifies the denominator used to retrieve the exposure duration value when lighestTid is equal to i. The sub_layer_exposure_duration_demom_minus1[i] value must deliver between 0 and 65535 inclusive.

- 22 042523- 22 042523

Значение sub_layer_exposure_duration_numer_minus1[i] должно быть меньше или равно значению sub_layer_exposure_duration_demom_minus 1 [i].The value of sub_layer_exposure_duration_numer_minus1[i] must be less than or equal to the value of sub_layer_exposure_duration_demom_minus 1[i].

Переменная subLayerExposureDuration[i] для HigestTid, равного i, извлекается следующим образом:The variable subLayerExposureDuration[i] for HigestTid equal to i is retrieved as follows:

subLayerExposureDuration[i] =(sub_layer_exposure_duration_numer_minus 1 [i] +1) (sub_layer_exposure_duration_demom_minusl[i] +l)*ClockTickssubLayerExposureDuration[i] =(sub_layer_exposure_duration_numer_minus 1 [i] +1) (sub_layer_exposure_duration_demom_minusl[i] +l)*ClockTicks

В другом варианте осуществления, как показано в табл. 21, можно явно задавать clockTick посредством синтаксических элементов expo_num_units_in_tick и expo_time_scale. Преимущество здесь состоит в том, что он не основывается на том, задан или нет general_hrd_parameters_present_flag равным в 1 в VVC, как в предыдущем варианте осуществления; в таком случае clockTick=expo numunitsintick < expo time scale (12)In another embodiment, as shown in table. 21, clockTick can be explicitly specified using the expo_num_units_in_tick and expo_time_scale syntax elements. The advantage here is that it is not based on whether or not general_hrd_parameters_present_flag is set to 1 in VVC as in the previous embodiment; in this case clockTick=expo numunitsintick < expo time scale (12)

Примерный обмен SEI-сообщениями для сигнализирования време! exposure_duration_information(payloadSize) { expo_num_units_in_tick expo_time_scale fixed_exposure_duration_within_cvs_flag if(!fixed_exposure_duration_within_cvs_flag) Exemplary exchange of SEI messages for time signaling! exposure_duration_information(payloadSize) { expo_num_units_in_tick expo_time_scale fixed_exposure_duration_within_cvs_flag if(!fixed_exposure_duration_within_cvs_flag) Таблица 21 3 и экспозиции Дескриптор u(32) u(32) u(l) Table 21 3 and exposure handle u(32) u(32) u(l) for(i=0; i<=vps_max_sub_layers_minusl; i++) { for(i=0; i<=vps_max_sub_layers_minusl; i++) { sub_layer_exposure_duration_numer_minus 1 [i] sub_layer_exposure_duration_numer_minus 1 [i] u(16) u(16) sub_layer_exposure_duration_denom_minus 1 [i] sub_layer_exposure_duration_denom_minus 1 [i] u(16) u(16) } } } }

expo_num_units_in_tick является числом единиц времени синхросигнала, работающего на частоте timescale Гц, которая соответствует одному приращению (называемому тактом синхросигнала) счетчика тактов синхросигнала; expo_num_units_in_tick должен превышать 0. Такт синхросигнала, заданный посредством переменной clockTick, в единицах секунд, равен частному expo_num_units_in_tick, деленному на expo_time_scale.expo_num_units_in_tick is the number of time units of the clock signal running at timescale Hz, which corresponds to one increment (called the clock tick) of the clock tick counter; expo_num_units_in_tick must be greater than 0. The clock tick specified by the clockTick variable, in units of seconds, is equal to the quotient expo_num_units_in_tick divided by expo_time_scale.

expo_time_scale является числом единиц времени, которые проходят за 1 с. clockTick=expo_num_units_in_tick < expo time scale.expo_time_scale is the number of units of time that pass in 1 s. clockTick=expo_num_units_in_tick < expo time scale.

Примечание. Два синтаксических элемента: expo_num_units_in_tick и expo_time_scale задаются, чтобы измерять длительность экспозиции.Note. Two syntax elements: expo_num_units_in_tick and expo_time_scale are given to measure exposure duration.

Требование соответствия потока битов заключается в том, что clockTick должно быть меньше или равно ClockTick, когда присутствуют num_units_in_tick и time_scale.The bitstream matching requirement is that clockTick must be less than or equal to ClockTick when num_units_in_tick and time_scale are present.

fixed_exposure_duration_within_cvs_flag, равный 1, указывает, что эффективное значение длительности экспозиции является идентичным для всех временных подслоев в CVS.fixed_exposure_duration_within_cvs_flag equal to 1 indicates that the effective exposure duration value is the same for all time sublayers in CVS.

fixed_exposure_duration_within_cvs_flag, равный 0, указывает, что эффективное значение длительности экспозиции может не быть идентичным для всех временных подслоев в CVS. Когда fixed_exposure_duration_within_cvs_flag равен 1, переменная fixedExposureDuration задается равной clockTick.fixed_exposure_duration_within_cvs_flag equal to 0 indicates that the effective exposure duration value may not be identical for all time sublayers in CVS. When fixed_exposure_duration_within_cvs_flag is 1, fixedExposureDuration is set to clockTick.

sub_layer_exposure_duration_numer_minus1[i]+1 указывает числитель, используемый для того, чтобы извлекать значение длительности экспозиции, когда HighestTid равен i. Значение sub_layer_exposure_duration_numer_minus1[i] должно составлять в диапазоне от 0 до 65535 включительно.sub_layer_exposure_duration_numer_minus1[i]+1 specifies the numerator used to retrieve the exposure duration value when the HighestTid is i. The value of sub_layer_exposure_duration_numer_minus1[i] must be between 0 and 65535 inclusive.

sub_layer_exposure_duration_demom_minus1[i]+1 указывает знаменатель, используемый для того, чтобы извлекать значение длительности экспозиции, когда HighestTid равен i. Значение sub_layer_exposure_duration_demom_minus1[i] должно составлять в диапазоне от 0 до 65535 включительно.sub_layer_exposure_duration_demom_minus1[i]+1 specifies the denominator used to extract the exposure duration value when the HighestTid is equal to i. The value of sub_layer_exposure_duration_demom_minus1[i] must be between 0 and 65535 inclusive.

Значение sub_layer_exposure_duration_numer_minus1[i] должно быть меньше или равно значению sub_layer_exposure_duration_demom_minus1[i].sub_layer_exposure_duration_numer_minus1[i] must be less than or equal to sub_layer_exposure_duration_demom_minus1[i].

Переменная subLayerExposureDuration[i] для HigestTid, равного i, извлекается следующим образом: subLayerExposureDuration[i] =(sub_layer_exposure_duration_numer_minus 1 [i] +1) < (sub_layer_exposure_duration_denom_minusl[i] +1 )*clockTickThe variable subLayerExposureDuration[i] for HigestTid equal to i is retrieved as follows: subLayerExposureDuration[i] =(sub_layer_exposure_duration_numer_minus 1 [i] +1) < (sub_layer_exposure_duration_denom_minusl[i] +1 )*clockTick

Как пояснено выше, синтаксические параметры sub_layer_exposure_duration_numer_minus1[i] и sub_layer_exposure_duration_denom_minus1[i] также могут заменяться посредством sub_layer_exposure_duration_numer[i] и sub_layer_exposure_duration_denom[i].As explained above, the syntax parameters sub_layer_exposure_duration_numer_minus1[i] and sub_layer_exposure_duration_denom_minus1[i] can also be replaced by sub_layer_exposure_duration_numer[i] and sub_layer_exposure_duration_denom[i].

В другом варианте осуществления, как показано в табл. 22, можно задавать параметр Shutterlnterval (т.е. длительность экспозиции) посредством синтаксических элементов siinumunitsinshutterinterval и siitimescale, гдеIn another embodiment, as shown in table. 22, the Shutterlnterval parameter (i.e. exposure duration) can be specified using the siinumunitsinshutterinterval and siitimescale syntax elements, where

Shutterlnterval=sii_num_units_in_shutter_interval sii_time_scale (13)ShutterInterval=sii_num_units_in_shutter_interval sii_time_scale (13)

- 23 042523- 23 042523

Таблица 22Table 22

Примерный обмен SEI-сообщениями для сигнализирования длительности экспозиции (информации интервала срабатывания затвора)Exemplary SEI Message Exchange for Signaling Exposure Duration (Shutter Interval Information)

shutter_interval_information(payloadSize) { shutter_interval_information(payloadSize) { Дескриптор Descriptor sii_num_units_in_shutter_interval sii_num_units_in_shutter_interval u(32) u(32) sii_time_scale sii_time_scale u(32) u(32) fixed_shutter_interval_within_cvs_flag fixed_shutter_interval_within_cvs_flag u(D u(D if(!fixed_shutter_interval_within_cvs_flag) if(!fixed_shutter_interval_within_cvs_flag) for(i=0; i<=vps_max_sub_layers_minusl; i++) { for(i=0; i<=vps_max_sub_layers_minusl; i++) { sub_layer_shutter_interval_numer[i] sub_layer_shutter_interval_numer[i] u(16) u(16) sub_layer_shutter_interval_denom[i] sub_layer_shutter_interval_denom[i] u(16) u(16) } }

Семантика SEI-сообщений с информацией интервала срабатывания затвора.Semantics of SEI messages with shutter interval information.

SEI-сообщение с информацией интервала срабатывания затвора указывает интервал срабатывания затвора для ассоциированного видеоконтента до кодирования и отображения, например, для захваченного камерой контента, количество времени, когда датчик изображений экспонируется для того, чтобы формировать изображение.The shutter interval information SEI message indicates the shutter interval for associated video content prior to encoding and display, for example, for camera-captured content, the amount of time the image sensor is exposed to form an image.

sii_num_units_in_shutter_interval указывает число единиц времени синхросигнала, работающего на частоте sii_time_scale Гц, которая соответствует одному приращению счетчика тактов синхросигнала затвора. Интервал срабатывания затвора, заданный посредством переменной Shutterlnterval, в единицах секунд, равен частному sii_num_units_in_shutter_interval, деленному на sii_time_scale. Например, когда Shutterlnterval равен 0,04 с, sii_time_scale может быть равен 27000000, и sii_num_units_in_shutter_interval может быть равен 1080000.sii_num_units_in_shutter_interval specifies the number of time units of the clock signal running at sii_time_scale Hz, which corresponds to one increment of the shutter clock clock counter. The shutter interval specified by the ShutterInterval variable, in units of seconds, is equal to the quotient sii_num_units_in_shutter_interval divided by sii_time_scale. For example, when ShutterInterval is 0.04s, sii_time_scale may be 27000000 and sii_num_units_in_shutter_interval may be 1080000.

sii_time_scale указывает число единиц времени, которые проходят за одну секунду. Например, система временных координат, которая измеряет время с использованием синхросигнала в 27 МГц, имеет sii_time_scale в 27000000.sii_time_scale specifies the number of units of time that pass in one second. For example, a time frame that measures time using a 27 MHz clock signal has a sii_time_scale of 27000000.

Когда значение sii_time_scale превышает 0, значение Shutterlnterval указывается следующим образом:When the sii_time_scale value is greater than 0, the ShutterInterval value is specified as follows:

Shutterlnterval=sii_num_units_in_shutter_interval > sii_time_scaleShutterInterval=sii_num_units_in_shutter_interval > sii_time_scale

Иначе (значение sii_time_scale равно 0) Shutterlnterval должен интерпретироваться как неизвестный или неуказанный.Otherwise (sii_time_scale is 0) ShutterInterval shall be interpreted as unknown or unspecified.

Примечание 1. Значение Shutterlnterval, равное 0, может указывать, что ассоциированный видеоконтент содержит контент захвата экрана, машиногенерируемый контент или другой незахватываемый камерой контент.Note 1: A ShutterInterval value of 0 may indicate that the associated video content contains screen capture content, machine-generated content, or other non-camera-captured content.

Примечание 2. Значение Shutterlnterval больше значения инверсии частоты кодированных изображений интервала кодированного изображения, может указывать, что частота кодированных изображений превышает частоту изображений, на которой создан ассоциированный видеоконтент, например, когда частота кодированных изображений составляет 120 Гц и частота изображений ассоциированного видеоконтента до кодирования и отображения составляет 60 Гц. Кодированный интервал для данного временного подслоя Tid может указываться посредством ClockTick и elemental_duration_in_tc_minus1[Tid]. Например, когда fixed_pic_rate_within_cvs_flag [Tid] равен 1, интервал изображения для данного временного подслоя Tid, заданный посредством переменной PictureInterval[Tid], может указываться следующим образом:Note 2: A value of ShutterInterval greater than the encoded picture rate inversion value of the encoded picture interval may indicate that the encoded picture rate is greater than the picture rate at which the associated video content is generated, for example, when the encoded picture rate is 120 Hz and the picture rate of the associated video content before encoding and display. is 60 Hz. The coded interval for a given time sublayer Tid may be indicated by ClockTick and elemental_duration_in_tc_minus1[Tid]. For example, when fixed_pic_rate_within_cvs_flag [Tid] is equal to 1, the picture interval for a given temporal sublayer Tid, given by the variable PictureInterval[Tid], may be specified as follows:

PictureInterval[T id] =С1оскТ ick* (elemental_duration_in_tc_minu s 1 [Tid]+1).PictureInterval[T id] =S1ocT ick* (elemental_duration_in_tc_minu s 1 [Tid]+1).

fixed_shutter_interval_withm_cvs_flag, равный 1, указывает, что значение Shutterlnterval является идентичным для всех временных подслоев в CVS.fixed_shutter_interval_withm_cvs_flag equal to 1 indicates that the value of ShutterInterval is the same for all time sublayers in CVS.

fixed_shutter_interval_within_cvs_flag, равный 0, указывает, что значение Shutterlnterval может не быть идентичным для всех временных подслоев в CVS.fixed_shutter_interval_within_cvs_flag equal to 0 indicates that the value of ShutterInterval may not be identical for all time sublayers in CVS.

sub_layer_shutter_interval_numer[i] указывает числитель, используемый для того, чтобы извлекать интервал срабатывания затвора для подслоя, заданный посредством переменной subLayerShutterInterval[i] в единицах секунд, когда HighestTid равен i.sub_layer_shutter_interval_numer[i] indicates the numerator used to retrieve the shutter interval for the sublayer specified by the variable subLayerShutterInterval[i] in units of seconds when HighestTid is equal to i.

sub_layer_shutter_interval_denom[i] указывает знаменатель, используемый для того, чтобы извлекать интервал срабатывания затвора для подслоя, заданный посредством переменной subLayerShutterInterval[i] в единицах секунд, когда HighestTid равен i.sub_layer_shutter_interval_denom[i] indicates the denominator used to retrieve the shutter interval for the sublayer specified by the variable subLayerShutterInterval[i] in units of seconds when HighestTid is equal to i.

Значение subLayerShutterInterval[i] для HighestTid, равного i, извлекается следующим образом. Когда значение fixed_shutter_interval_within_cvs_flag равно 0 и значение sub_layer_shutter_interval_denom[i] превышает 0,The value of subLayerShutterInterval[i] for HighestTid equal to i is retrieved as follows. When fixed_shutter_interval_within_cvs_flag is 0 and sub_layer_shutter_interval_denom[i] is greater than 0,

- 24 042523 subLayerShutterlntervalfi] =ShutterInterval*sub_layer_shutter_interval_numer[i] sub l ay ershutterintervaldenom [i ]- 24 042523 subLayerShutterIntervalfi] =ShutterInterval*sub_layer_shutter_interval_numer[i] sub l ay ershutterintervaldenom [i ]

Иначе (значение sub_layer_shutter_interval_denom[i] равно 0) subLayerShutterInterval[i] должен интерпретироваться как неизвестный или неуказанный. Когда значение fixed_shutter_interval_within_cvs_flag не равно 0, subLayerShutterlnterval [i]=ShutterInterval.Otherwise (sub_layer_shutter_interval_denom[i] is 0) subLayerShutterInterval[i] shall be interpreted as unknown or unspecified. When fixed_shutter_interval_within_cvs_flag is not 0, subLayerShutterInterval [i]=ShutterInterval.

В альтернативном варианте осуществления вместо использования числителя и знаменателя для сигнализирования интервала срабатывания затвора для подслоя используется одно значение. Пример такого синтаксиса показывается в табл. 23.In an alternative embodiment, instead of using the numerator and denominator to signal the shutter interval for the sublayer, a single value is used. An example of such syntax is shown in Table. 23.

Таблица 23Table 23

Примерный обмен SEI-сообщениями для сигнализирования интервала срабатывания затвораExemplary SEI Message Exchange for Shutter Interval Signaling

shutter_interval_information(payloadSize) { shutter_interval_information(payloadSize) { Дескриптор Descriptor sii_num_units_in_shutter_interval sii_num_units_in_shutter_interval u(32) u(32) sii_time_scale sii_time_scale u(32) u(32) fixed_shutter_interval_within_cvs_flag fixed_shutter_interval_within_cvs_flag u(l) u(l) if(!fixed_shutter_interval_within_cvs_flag) if(!fixed_shutter_interval_within_cvs_flag) for(i=0; i<=vps_max_sub_layers_minusl; i++) { for(i=0; i<=vps_max_sub_layers_minusl; i++) { sub_layer_num_units_in_shutter_interval[i] sub_layer_num_units_in_shutter_interval[i] u(32) u(32) } } } }

Семантика Shi-сообщении с информацией интервала срабатывания затвора.Semantics of the Shi-message with shutter interval information.

SEI-сообщение с информацией интервала срабатывания затвора указывает интервал срабатывания затвора для ассоциированного видеоконтента до кодирования и отображения, например для захваченного камерой контента, количество времени, когда датчик изображений экспонируется для того, чтобы формировать изображение.The shutter interval information SEI message indicates the shutter interval for associated video content prior to encoding and display, for example, for camera-captured content, the amount of time the image sensor is exposed to form an image.

sii_num_units_in_shutter указывает число единиц времени синхросигнала, работающего на частоте sii_time_scale Гц, которая соответствует одному приращению счетчика тактов синхросигнала затвора. Интервал срабатывания затвора, заданный посредством переменной ShutterInterval в единицах секунд, равен частному sii_num_units_in_shutter_interval, деленному на sii_time_scale. Например, когда Shutterlnterval равен 0,04 с, sii_time_scale может быть равен 27000000, и sii_num_units_in_shutter_interval может быть равен 1080000.sii_num_units_in_shutter specifies the number of time units of the clock signal running at sii_time_scale Hz, which corresponds to one increment of the shutter clock clock counter. The shutter interval specified by the ShutterInterval variable in units of seconds is equal to the quotient sii_num_units_in_shutter_interval divided by sii_time_scale. For example, when ShutterInterval is 0.04s, sii_time_scale may be 27000000 and sii_num_units_in_shutter_interval may be 1080000.

sii_time_scale указывает число единиц времени, которые проходят за одну секунду. Например, система временных координат, которая измеряет время с использованием синхросигнала в 27 МГц, имеет sii_time_scale в 27000000.sii_time_scale specifies the number of units of time that pass in one second. For example, a time frame that measures time using a 27 MHz clock signal has a sii_time_scale of 27000000.

Когда значение sii_time_scale превышает 0, значение Shutterlnterval указывается следующим образом:When the sii_time_scale value is greater than 0, the ShutterInterval value is specified as follows:

Shutterlnterval=sii_num_units_in_shutter_interval siitimescaleShutterInterval=sii_num_units_in_shutter_interval siitimescale

Иначе (значение sii_time_scale равно 0) Shutterlnterval должен интерпретироваться как неизвестный или неуказанный.Otherwise (sii_time_scale is 0) ShutterInterval shall be interpreted as unknown or unspecified.

Примечание 1. Значение Shutterlnterval, равное 0, может указывать, что ассоциированный видеоконтент содержит контент захвата экрана, машиногенерируемый контент или другой незахватываемый камерой контент.Note 1: A ShutterInterval value of 0 may indicate that the associated video content contains screen capture content, machine-generated content, or other non-camera-captured content.

Примечание 2. Значение Shutterlnterval, больше значения инверсии частоты кодированных изображений, интервала кодированного изображения, может указывать, что частота кодированных изображений превышает частоту изображений, на которой создан ассоциированный видеоконтент, например, когда частота кодированных изображений составляет 120 Гц и частота изображений ассоциированного видеоконтента до кодирования и отображения составляет 60 Гц. Интервал кодированного изображения для данного временного подслоя Tid может указываться посредством ClockTick и elemental_duration_in_tc_minus1[Tid]. Например, когда fixed_pic_rate_within_cvs_flag [Tid] равен 1, интервал изображения для данного временного подслоя Tid, заданный посредством переменной PictureInterval[Tid], может указываться следующим образом:Note 2: A value of ShutterInterval greater than the inverse value of the encoded picture rate, the encoded picture interval, may indicate that the encoded picture rate is higher than the picture rate at which the associated video content is created, for example, when the encoded picture rate is 120 Hz and the picture rate of the associated video content before encoding. and display is 60Hz. The interval of the encoded picture for a given time sublayer Tid may be indicated by ClockTick and elemental_duration_in_tc_minus1[Tid]. For example, when fixed_pic_rate_within_cvs_flag [Tid] is equal to 1, the picture interval for a given temporal sublayer Tid, given by the variable PictureInterval[Tid], may be specified as follows:

PictureInterval[T id] =ClockT ick* (elemental_duration_in_tc_minus 1 [Tid]+1).PictureInterval[T id] =ClockTick* (elemental_duration_in_tc_minus 1 [Tid]+1).

fixed_shutter_interval_within_cvs_flag, равный 1, указывает, что значение Shutterlnterval является идентичным для всех временных подслоев в CVS.fixed_shutter_interval_within_cvs_flag equal to 1 indicates that the value of ShutterInterval is the same for all time sublayers in CVS.

fixed_shutter_interval_within_cvs_flag, равный 0, указывает, что значение Shutterlnterval может не быть идентичным для всех временных подслоев в CVS.fixed_shutter_interval_within_cvs_flag equal to 0 indicates that the value of ShutterInterval may not be identical for all time sublayers in CVS.

sub_layer_num_units_in_shutter_interval[i] указывает число единиц времен синхросигнала, работающе- 25 042523 го на частоте sii_time_scale Гц, которая соответствует одном приращению счетчика тактов синхросигнала затвора. Интервал срабатывания затвора для подслоя, заданный посредством переменной subLayerShutterInterval[i] в единицах секунд, когда HighestTid равен i, равен частному sub_layer_num_units_in_shutter_interval[i] уделенному на sii_time_scale.sub_layer_num_units_in_shutter_interval[i] specifies the number of time units of the clock signal operating at sii_time_scale 25 042523 Hz, which corresponds to one increment of the shutter clock clock counter. The shutter interval for the sublayer, given by the variable subLayerShutterInterval[i] in units of seconds when the HighestTid is equal to i, is equal to the sub_layer_num_units_in_shutter_interval[i] divided by sii_time_scale.

Когда значение fixed_shutter_interval_within_cvs_flag равно 0 и значение sii_time_scale превышает 0, значение subLayerShutterInterval[i] указывается следующим образом:When the value of fixed_shutter_interval_within_cvs_flag is 0 and the value of sii_time_scale is greater than 0, the value of subLayerShutterInterval[i] is specified as follows:

subLayerShutterlnterval[i]=sub_layer_num_units_in_shutter_interval[i] ^sii_time_scalesubLayerShutterInterval[i]=sub_layer_num_units_in_shutter_interval[i] ^sii_time_scale

Иначе (значение sii_time_scale равно 0) subLayerShutterlnterval[i] должен интерпретироваться как неизвестный или неуказанный. Когда значение fixed_shutter_interval_within_cvs_flag не равно 0, subLayerShutterInterval[i]=ShutterInterval.Otherwise (sii_time_scale value is 0) subLayerShutterInterval[i] shall be interpreted as unknown or unspecified. When fixed_shutter_interval_within_cvs_flag is not 0, subLayerShutterInterval[i]=ShutterInterval.

В табл. 24 приводится краткое представление шести подходов, поясненных в табл. 18-23, для предоставления обмена SEI-сообщениями, связанного с углом затвора или длительностью экспозиции.In table. 24 is a summary of the six approaches explained in Table 2. 18-23 to provide SEI messaging related to shutter angle or exposure time.

Таблица 24Table 24

Краткое представление подходов к обмену SEI-сообщениями для сигнализирования информации угла затвораA Brief Introduction to SEI Messaging Approaches for Signaling Gate Angle Information

Номер таблицы Table number Ключевые элементы сигнализации и зависимости Key elements of signaling and dependencies 18 18 Угол затвора (от 0 до 360) передается явно Shutter angle (from 0 to 360) is passed explicitly 19 19 Угол затвора выражается как отношение значений Numerator и Denominator, которое должно масштабироваться посредством 360 (подразумевается значение такта синхросигнала) The shutter angle is expressed as the ratio of the Numerator and Denominator values, which should be scaled by 360 (assuming the clock clock value) 20 20 Длительность экспозиции передается в качестве отношения значений Numerator и Denominator (подразумевается значение такта синхросигнала) The exposure time is transmitted as a ratio of the Numerator and Denominator values (assuming the clock cycle value) 21 21 Длительность экспозиции передается в качестве отношения значений Numerator и Denominator; значение такта синхросигнала передается явно в качестве отношения двух значений The exposure duration is passed as a ratio of the Numerator and Denominator values; clock cycle value is passed explicitly as a ratio of two values 22 22 Информация интервала срабатывания затвора передается в качестве отношения двух значений: число единиц тактов синхросигнала при экспозиции и временная шкала экспозиции. Связанные с подслоем времена экспозиции передаются в качестве отношения двух значений The shutter interval information is transmitted as a ratio of two values: the number of exposure clock cycles and the exposure timeline. The sublayer-related exposure times are reported as the ratio of the two values 23 23 Информация интервала срабатывания затвора или длительность экспозиции передаются в качестве отношения двух значений: число единиц тактов синхросигнала при экспозиции и временная шкала экспозиции. Связанные с подслоем времена экспозиции передаются в качестве числа единиц тактов синхросигнала при экспозиции в каждом подслое The shutter interval information or exposure duration is transmitted as a ratio of two values: the number of exposure clock cycles and the exposure timeline. Sublayer-related exposure times are transmitted as the number of units of clock cycles at exposure in each sublayer

Сигнализирование переменной частоты кадров.Variable frame rate signaling.

Как пояснено в предварительной заявке на патент (США) 62/883195, поданной 06 августа 2019 г., во множестве вариантов применения требуется, чтобы декодер поддерживал воспроизведение на переменных частотах кадров. Адаптация частоты кадров типично составляет часть операций в гипотетическом опорном декодере (HRD), как описано, например, в приложении С ссылочного материала [2]. В варианте осуществления предлагается сигнализировать через обмен SEI-сообщениями или другое средство синтаксический элемент, задающий время представления изображения (РРТ) в качестве функции синхросигнала в 90 кГц. Это представляет собой определенный тип повторения номинального времени вывода буфера изображений декодера (DPB), как указано в HRD, но теперь с использованием точности ClockTicks в 90 кГц, как указано в MPEG-2-системе. Преимущество этого SEI-сообщения заключается в том, чтоAs explained in U.S. Provisional Patent Application 62/883195, filed August 06, 2019, many applications require a decoder to support playback at variable frame rates. Frame rate adaptation typically forms part of the operations in a hypothetical reference decoder (HRD), as described, for example, in Appendix C of reference material [2]. In an embodiment, it is proposed to signal, via SEI messaging or other means, a syntax element specifying a picture presentation time (PPT) as a function of a 90 kHz clock signal. This is a specific type of repetition of the nominal Decoder Picture Buffer (DPB) output time as specified in the HRD, but now using ClockTicks precision of 90 kHz as specified in the MPEG-2 system. The advantage of this SEI message is that

а) если HRD не предоставляется, можно по-прежнему использовать РРТ SEI-сообщение для того, чтобы указывать синхронизацию (тайминг) для каждого кадра;a) if no HRD is provided, the PPT SEI message may still be used to indicate the timing for each frame;

b) оно может упрощать трансляцию синхронизации по потоку битов и синхронизации в системе.b) it can facilitate the translation of synchronization over the bitstream and synchronization in the system.

Табл. 25 описывает пример синтаксиса предложенного РРТ-сообщения синхронизации, который совпадает с синтаксисом переменной временной метки представления (PTS), используемой в MPEG-2транспортировке (Н 222) (ссылочный материал [4]).Tab. 25 describes an example of the syntax of the proposed PPT synchronization message, which is the same as the Variable Presentation Timestamp (PTS) syntax used in the MPEG-2 transport (H 222) (reference [4]).

- 26 042523- 26 042523

Таблица 25Table 25

Примерный синтаксис для обмена сообщениями по времени представления изображенияSample Syntax for Image Representation Time Messaging

picture_presentation_time(payloadSize) { picture_presentation_time(payloadSize) { Дескриптор Descriptor РРТ PPT и(33) and(33) } }

РРТ (время представления изображения).PPT (Picture Presentation Time).

Времена представления должны быть связаны с временами декодирования следующим образом. РРТ является 33-битовым числом, кодированным в трех отдельных полях. Оно указывает время представления tpn(k) в декодере системных целевых объектов единицы k представления элементарного потока n. Значение РРТ указывается в единицах периода системной тактовой частоты, деленного на 300 (что дает в результате 90 кГц). Время представления изображения извлекается из РРТ согласно следующему уравнению:Presentation times must be related to decoding times as follows. The PPT is a 33-bit number encoded in three separate fields. It indicates the presentation time tpn(k) in the system target decoder of element k representation of elementary stream n. The PPT value is specified in units of the system clock period divided by 300 (resulting in 90 kHz). The image presentation time is extracted from the PPT according to the following equation:

РРТ (k)=((system_clock_frequency* )/ЗОО)%233, где tpn(k) является временем представления единицы Pn(k) представления.PPT (k)=((system_clock_frequency* )/30)%2 33 , where tp n (k) is the presentation time of the presentation unit Pn(k).

Библиографический список.Bibliographic list.

Каждый из ссылочных материалов, перечисленных в данном документе, полностью содержится по ссылке.Each of the referenced materials listed in this document is incorporated by reference in its entirety.

[1] High efficiency video coding, H.265, Series H, Coding of moving video, ITU, (02/2018).[1] High efficiency video coding, H.265, Series H, Coding of moving video, ITU, (02/2018).

[2] B. Brass, J. Chen и S. Liu, Versatile Video Coding (Draft 5), JVET output document, JVET-N1001, v5, выгружено 14 мая 2019 года.[2] B. Brass, J. Chen, and S. Liu, Versatile Video Coding (Draft 5), JVET output document, JVET-N1001, v5, uploaded 14 May 2019.

[3] C. Carbonara, J. DeFilippis, M. Korpi, High Frame Rate Capture and Production, SMPTE 2015 Annual Technical Conference and Exhibition, 26-29 октября 2015 года.[3] C. Carbonara, J. DeFilippis, M. Korpi, High Frame Rate Capture and Production, SMPTE 2015 Annual Technical Conference and Exhibition, October 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.[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.

Примерная реализация компьютерной системы.An exemplary implementation of a computer system.

Варианты осуществления настоящего изобретения могут реализовываться с помощью компьютерной(ых) системы(систем), сконфигурированной(ых) в электронных схемах и компонентах, устройства на интегральных схемах (IC), такого как микроконтроллер, программируемая пользователем вентильная матрица (FPGA) или другое конфигурируемое или программируемое логическое устройство (PLD), дискретный временной процессор или процессор цифровых сигналов (DSP), специализированная IC (ASIC), и/или оборудования, которое включает в себя одну или более таких систем, устройств или компонентов. Компьютер и/или IC могут выполнять, управлять или приводить в исполнение инструкции, связанные с масштабируемостью по частоте кадров, такие как инструкции, описанные в данном документе. Компьютер и/или IC могут вычислять любые из множества параметров или значений, которые относятся к масштабируемости по частоте кадров, описанной в данном документе. Связанные с изображениями и видео варианты осуществления могут реализовываться в аппаратных средствах, программном обеспечении, микропрограммном обеспечении и различных комбинациях вышеозначенного.Embodiments of the present invention may be implemented by computer system(s) configured in electronic circuitry and components, an integrated circuit (IC) device such as a microcontroller, field programmable gate array (FPGA), or other configurable or programmable logic device (PLD), discrete time processor or digital signal processor (DSP), application specific IC (ASIC), and/or equipment that includes one or more such systems, devices or components. The computer and/or IC may execute, control, or execute instructions related to frame rate scalability, such as the instructions described herein. The computer and/or IC may calculate any of a variety of parameters or values that relate to frame rate scalability described herein. Image and video related embodiments may be implemented in hardware, software, firmware, and various combinations of the foregoing.

Определенные реализации изобретения содержат компьютерные процессоры, которые выполняют программные инструкции, которые инструктируют процессорам осуществлять способ изобретения. Например, один или более процессоров в дисплее, кодере, абонентской приставке, транскодере и т.п. могут реализовывать способы, связанные с масштабируемостью по частоте кадров, как описано выше, посредством выполнения программных инструкций в запоминающем устройстве программ, доступном для процессоров. Варианты осуществления изобретения также могут предоставляться в форме программного продукта. Программный продукт может содержать любой Долговременный и материальный носитель, который переносит набор машиночитаемых сигналов, содержащих инструкции, которые при выполнении посредством процессора данных инструктируют процессору данных осуществлять способ изобретения. Программные продукты согласно изобретению могут иметь любые из широкого спектра энергонезависимых и материальных форм. Программный продукт может содержать, например, физические носители, такие как магнитные носители хранения данных, включающие в себя гибкие дискеты, жесткие диски, оптические носители хранения данных, включающие в себя CD-ROM, DVD, электронные носители хранения данных, включающие в себя ROM, флэш-RAM и т.п. Машиночитаемые сигналы на программном продукте необязательно могут сжиматься или шифроваться.Certain implementations of the invention comprise computer processors that execute program instructions that instruct the processors to carry out the method of the invention. For example, one or more processors in a display, encoder, set-top box, transcoder, or the like. may implement frame rate scalability techniques as described above by executing program instructions in program storage accessible to processors. Embodiments of the invention may also be provided in the form of a software product. The software product may comprise any durable and tangible medium that carries a set of machine-readable signals containing instructions that, when executed by a data processor, instruct the data processor to carry out the method of the invention. The software products of the invention may take any of a wide variety of non-volatile and tangible forms. The software product may include, for example, physical media such as magnetic storage media including floppy disks, hard drives, optical storage media including CD-ROM, DVD, electronic storage media including ROM, flash RAM, etc. Machine-readable signals on the software product may optionally be compressed or encrypted.

Когда компонент (например, программный модуль, процессор, узел, устройство, схема и т.д.) упоминается выше, если не указано иное, ссылка на этот компонент (включающая в себя ссылку на средство) должна интерпретироваться как включающая в качестве эквивалентов этого компонента любой компонент, который выполняет функцию описанного компонента (например, который является функ- 27 042523 ционально эквивалентным), включающий в себя компоненты, которые не являются структурно эквивалентными раскрытой структуре, которая выполняет функцию в проиллюстрированных примерных вариантах осуществления изобретения.When a component (e.g., a software module, processor, node, device, circuit, etc.) is mentioned above, unless otherwise noted, reference to that component (including a reference to a facility) is to be interpreted as including, as equivalents to that component any component that performs the function of the described component (eg, that is functionally equivalent), including components that are not structurally equivalent to the disclosed structure that performs the function in the illustrated exemplary embodiments of the invention.

Эквиваленты, дополнения, альтернативы, а также разное.Equivalents, additions, alternatives, and miscellaneous.

В силу этого описываются примерные варианты осуществления, которые относятся к масштабируемости по частоте кадров. В вышеприведенном подробном описании варианты осуществления настоящего изобретения описаны со ссылкой на множество конкретных подробностей, которые могут варьироваться в зависимости от реализации. Таким образом, единственным и исключительным индикатором того, что представляет собой изобретение и что подразумевается заявителями под изобретением, является формула изобретения, которая вытекает из данной заявки, в конкретной форме, в которой данная формула изобретения выдается, в том числе все последующие корректировки. Все определения, явно изложенные в данном документе для терминов, содержащихся в данной формуле изобретения, должны диктовать смысл этих терминов при использовании в формуле изобретения. Следовательно, ограничения, элементы, свойства, признаки, преимущества или атрибуты, которые не изложены явно в формуле изобретения, не должны ограничивать объем данной формулы изобретения каким-либо образом. Следовательно, подробное описание и чертежи должны рассматриваться в иллюстративном, а не в ограничительном смысле.As such, exemplary embodiments that relate to frame rate scalability are described. In the above detailed description, embodiments of the present invention are described with reference to a variety of specific details, which may vary depending on the implementation. Thus, the sole and exclusive indication of what constitutes an invention and what applicants mean by invention is the claims that follow from this application, in the particular form in which the claims are issued, including any subsequent amendments. All definitions expressly set forth in this document for the terms contained in this claims, should dictate the meaning of these terms when used in the claims. Therefore, limitations, elements, properties, features, advantages, or attributes that are not expressly set forth in the claims should not limit the scope of the claims in any way. Therefore, the detailed description and drawings are to be considered in an illustrative and not a limiting sense.

Приложение.Application.

Это приложение предоставляет копию табл. D.2 и ассоциированную связанную с pic_struct информацию из спецификации Н 265 (ссылочный материал [1]).This application provides a copy of the table. D.2 and the associated pic_struct related information from specification H 265 (ref. [1]).

Таблица D.2Table D.2

Интерпретация pic_structInterpreting pic_struct

Значение Meaning Указываемое отображение изображения Specified display Images Ограничения Restrictions 0 0 (Построчный) кадр (Progressive) frame field_seq_flag должен быть равен 0 field_seq_flag must be 0 1 1 Верхнее поле Top field fieldseqflag должен быть равен 1 fieldseqflag must be 1 2 2 Нижнее поле bottom field fieldseqflag должен быть равен 1 fieldseqflag must be 1 3 3 Верхнее поле, нижнее поле, в этом порядке Top margin, bottom margin, in that order field_seq_flag должен быть равен 0 field_seq_flag must be 0 4 4 Нижнее поле, верхнее поле, в этом порядке Bottom margin, top margin, in that order field_seq_flag должен быть равен 0 field_seq_flag must be 0 5 5 Верхнее поле, нижнее поле, повторенное верхнее поле, в этом порядке Top margin, bottom margin, repeated top margin, in that order field_seq_flag должен быть равен 0 field_seq_flag must be 0 6 6 Нижнее поле, верхнее поле, повторенное нижнее поле, в этом порядке Bottom margin, top margin, repeated bottom margin, in that order field_seq_flag должен быть равен 0 field_seq_flag must be 0 7 7 Удвоение кадров Frame doubling field_seq_flag должен быть равен 0 fixed_pic_rate_within_cvs_flag должен быть равен 1 field_seq_flag must be 0 fixed_pic_rate_within_cvs_flag must be be equal to 1 8 8 Утроение кадров Frame tripling field_seq_flag должен быть равен 0 fixed_pic_rate_within_cvs_flag должен быть равен 1 field_seq_flag must be 0 fixed_pic_rate_within_cvs_flag must be be equal to 1 9 9 Верхнее поле, спаренное с предыдущим нижним полем в порядке вывода Top margin paired with previous bottom margin in output order field seq flag должен быть равен 1 field seq flag must be 1 10 10 Нижнее поле, спаренное с предыдущим верхним полем в порядке вывода Bottom margin paired with previous top margin in output order field seq flag должен быть равен 1 field seq flag must be 1 11 eleven Верхнее поле, спаренное со следующим нижним полем в порядке вывода Top margin paired with next bottom margin in output order field seq flag должен быть равен 1 field seq flag must be 1 12 12 Нижнее поле, спаренное со следующим верхним полем в порядке вывода Bottom margin paired with next top margin in output order field seq flag должен быть равен 1 field seq flag must be 1

--

Claims (3)

Семантика синтаксического элемента pic_struct.The semantics of the pic_struct syntax element. 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 specifies whether or not the image should be displayed as a frame or as one or more fields, and for displaying frames when fixed_pic_rate_within_cvs_flag is 1, may specify a frame doubling or tripling repeat period for displays that use a fixed frame refresh interval equal to DpbOutputElementalInterval [n] as given by Equation E-73. The interpretation of pic_struct is indicated in Table. D.2. pic_struct values that are not listed in Table. D.2 are reserved for future use by ITU-T|ISO/IEC and shall not be present in bitstreams conforming to this version of this specification. Decoders MUST ignore reserved pic_struct values. Когда присутствует, требование соответствия потока битов заключается в том, что значение pic_struct должно ограничиваться таким образом, что точно одно из следующих условий является истинным:When present, the bitstream matching requirement is that the value of pic_struct must be constrained such that exactly one of the following conditions is true: значение pic_struct равно 0, 7 или 8 для всех изображений в CVS;pic_struct is 0, 7, or 8 for all images in CVS; значение pic_struct равно 1, 2, 9, 10, 11 или 12 для всех изображений в CVS;the value of pic_struct is 1, 2, 9, 10, 11, or 12 for all images in CVS; значение pic_struct равно 3, 4, 5 или 6 для всех изображений в CVS.the value of pic_struct is 3, 4, 5, or 6 for all images in CVS. Когда fixed_pic_rate_within_cvs_flag равен 1, удвоение кадров указывается посредством pic_struct, равного 7, что указывает, что кадр должен отображаться два раза последовательно на дисплеях с интервалом обновления кадров, равным DpbOutputElementalInterval[n], как задано посредством уравнения Е-73, и утроение кадров указывается посредством pic_struct, равного 8, что указывает, что кадр должен отображаться три раза последовательно на дисплеях с интервалом обновления кадров, равным DpbOutputElementalInterval[n], как задано посредством уравнения Е-73.When fixed_pic_rate_within_cvs_flag is 1, frame doubling is indicated by pic_struct equal to 7, which indicates that the frame is to be displayed twice consecutively on displays with a frame refresh interval equal to DpbOutputElementalInterval[n] as given by Equation E-73, and frame tripling is indicated by pic_struct equal to 8, which indicates that the frame should be displayed three times consecutively on displays with a frame refresh interval equal to DpbOutputElementalInterval[n] as given by Equation E-73. Примечание 3. Удвоение кадров может использоваться для того, чтобы упрощать отображение, например, видео с построчным сканированием при 25 Гц на дисплее с построчным сканированием при 50 Гц или видео с построчным сканированием при 30 Гц на дисплее с построчным сканированием при 60 Гц. Использование удвоения кадров и утроения кадров в переменной комбинации для каждого второго кадра может использоваться для того, чтобы упрощать отображение видео с построчным сканированием при 24 Гц на дисплее с построчным сканированием при 60 Гц.Note 3: Frame doubling can be used to make it easier to display, for example, 25 Hz progressive scan video on a 50 Hz progressive scan display, or 30 Hz progressive scan video on a 60 Hz progressive scan display. Using frame doubling and frame tripling in a variable combination for every second frame can be used to facilitate displaying 24 Hz progressive scan video on a 60 Hz progressive scan display. Номинальные местоположения вертикальной и горизонтальной дискретизации выборок в верхних и нижних полях для форматов сигнала цветности 4:2:0, 4:2:2 и 4:4:4 показаны на фиг. D.1, D.2 и D.3 соответственно.The nominal vertical and horizontal sample locations in the top and bottom fields for the 4:2:0, 4:2:2, and 4:4:4 chrominance signal formats are shown in FIG. D.1, D.2 and D.3 respectively. Индикаторы ассоциирования для полей (pic_struct, равных 9-12) предоставляют подсказки, чтобы ассоциировать поля комплементарной четности вместе в качестве кадров. Четность поля может быть верхней или нижней и четность двух полей считается комплементарной, когда четность одного поля является верхней, а четность другого поля является нижней.The association indicators for fields (pic_struct equal to 9-12) provide hints to associate complementary parity fields together as frames. The parity of a field can be high or low, and the parity of two fields is said to be complementary when the parity of one field is high and the parity of the other field is low. Когда frame_field_info_present_flag равен 1, требование соответствия потока битов заключается в том, что должны применяться ограничения, указываемые в третьем столбце табл. D.2.When frame_field_info_present_flag is 1, the bitstream matching requirement is that the constraints specified in the third column of Table 1 apply. D.2. Примечание 4. Когда frame_field_info_present_flag равен 0, то во многих случаях значения по умолчанию могут логически выводиться или указываться посредством другого средства. При отсутствии других индикаторов намеченного типа отображения изображения декодер должен логически выводить значение pic_struct как равное 0, когда frame_field_info_present_flag равен 0.Note 4.— When frame_field_info_present_flag is 0, then in many cases default values may be inferred or indicated by another means. In the absence of other indications of the intended image display type, the decoder shall logically infer the value of pic_struct as equal to 0 when frame_field_info_present_flag is equal to 0. ФОРМУЛА ИЗОБРЕТЕНИЯCLAIM 1. Машиночитаемый носитель данных, который содержит структуру кодированного видеопотока, причем структура кодированного видеопотока содержит секцию кодированных изображений, включающую в себя кодирование последовательности видеоизображений; и секцию сигнализации, включающую в себя кодирование флага первого угла затвора, который указывает, является или нет информация угла затвора фиксированной для всех временных подслоев в секции кодированных изображений, причем если флаг первого угла затвора указывает, что информация угла затвора является фиксированной, то секция сигнализации включает в себя значение фиксированного угла затвора для отображения декодированной версии последовательности видеоизображений для всех временных подслоев в секции кодированных изображений с использованием значения фиксированного угла затвора, иначе секция сигнализации включает в себя массив значений угла затвора для подслоя, при этом для каждого из временных подслоев значение в массиве значений угла затвора для подслоя указывает соответствующий угол затвора для отображения декодированной версии временного подслоя последовательности видеоизображений.1. Machine-readable storage medium that contains the structure of the encoded video stream, and the structure of the encoded video stream contains a section of encoded images, including encoding a sequence of video images; and a signaling section including encoding a first gate angle flag that indicates whether or not the gate angle information is fixed for all temporal sublayers in the coded picture section, wherein if the first gate angle flag indicates that the gate angle information is fixed, then the signaling section includes a fixed shutter angle value for displaying a decoded version of the video sequence for all temporal sublayers in the coded picture section using the fixed shutter angle value, otherwise the signaling section includes an array of sublayer shutter angle values, where for each of the temporal sublayers a value of array of sublayer shutter angle values indicates the corresponding shutter angle for displaying the decoded version of the temporal sublayer of the video sequence. 2. Машиночитаемый носитель данных по п.1, в котором секция сигнализации дополнительно включает в себя кодирование значения повторения кадров, указывающего число раз, когда декодированное изображение в последовательности видеоизображений должно последовательно отображаться.2. The computer-readable storage medium of claim 1, wherein the signaling section further includes encoding a frame repetition value indicating the number of times a decoded image in the video sequence is to be sequentially displayed. 3. Машиночитаемый носитель данных по п.1, в котором секция сигнализации дополнительно вклю-3. The computer-readable storage medium according to claim 1, in which the signaling section further includes --
EA202092024 2019-03-11 2020-03-11 VIDEO ENCODING SCALED BY FRAME RATE EA042523B1 (en)

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
EA042523B1 true EA042523B1 (en) 2023-02-22

Family

ID=

Similar Documents

Publication Publication Date Title
US11582472B2 (en) Frame-rate scalable video coding
EA042523B1 (en) VIDEO ENCODING SCALED BY FRAME RATE
EA044734B1 (en) FRAME RATE SCALABLE VIDEO ENCODING
EA047543B1 (en) FRAME RATE SCALABLE VIDEO ENCODING