RU2783961C1 - Method for indicating the number of sublevels in a multilevel video stream - Google Patents

Method for indicating the number of sublevels in a multilevel video stream Download PDF

Info

Publication number
RU2783961C1
RU2783961C1 RU2021131424A RU2021131424A RU2783961C1 RU 2783961 C1 RU2783961 C1 RU 2783961C1 RU 2021131424 A RU2021131424 A RU 2021131424A RU 2021131424 A RU2021131424 A RU 2021131424A RU 2783961 C1 RU2783961 C1 RU 2783961C1
Authority
RU
Russia
Prior art keywords
image
video
sub
encoded
value
Prior art date
Application number
RU2021131424A
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 Тенсент Америка Ллс
Application granted granted Critical
Publication of RU2783961C1 publication Critical patent/RU2783961C1/en

Links

Images

Abstract

FIELD: video decoding.
SUBSTANCE: group of inventions relates to video encoding and decoding technologies, more specifically, to extracting the output level in a multilevel encoded video stream. Proposed is a method for video decoding executed by at least one processor. The method includes a stage of identifying the maximum number of time sublevels permitted in the encoded video sequence referring to a video parameter set in a video parameter set (VPS) field and in a sequence parameter set (SPS) field, respectively. The encoded video sequence is then decoded based on the identified maximum number of time sublevels permitted in the encoded video sequence referring to a video parameter set.
EFFECT: reduced redundancy in the input video signal by means of compression.
9 cl, 23 dwg, 1 tbl

Description

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

[0001] Настоящее изобретение испрашивает приоритет патентной заявки США №16/994,004, поданной 14 августа 2020 г., которая, согласно § 119 раздела 35 Свода законов США, испрашивает приоритет предварительной заявки США №63/000,936, поданной 27 марта 2020 г., в Бюро по регистрации патентов и товарных знаков США. Содержание предыдущих заявок, таким образом, включено посредством ссылки в полном объеме.[0001] The present invention claims priority of U.S. Patent Application No. 16/994,004, filed Aug. 14, 2020, which, pursuant to 35 U.S.C. § 119, claims priority of U.S. Provisional Application No. 63/000,936, filed March 27, 2020, at the US Patent and Trademark Office. The contents of previous applications are hereby incorporated by reference in their entirety.

Область техникиTechnical field

[0002] Раскрытое изобретение относится к кодированию и декодированию видео, а более конкретно - к извлечению выходного уровня в кодированном видеопотоке с несколькими уровнями.[0002] The disclosed invention relates to video encoding and decoding, and more specifically, to extracting an output level in an encoded video stream with multiple layers.

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

[0003] Кодирование и декодирование видео с использованием предсказания между изображениями с компенсацией движения известно уже несколько десятилетий. Цифровое видео без сжатия может включать в себя последовательность изображений, каждое из которых имеет пространственный размер, например, 1920 × 1080 отсчетов яркости и связанных с ними отсчетов цветности. Последовательность изображений может иметь фиксированную или переменную частоту смены изображений (неформально также называемую «частотой кадров»), например, 60 изображений в секунду, или 60 Гц. К несжатым видеоданным предъявляются серьезные требования в отношении битовой скорости передачи. Например, видео 1080р60 4:2:0 с 8 битами на отсчет (разрешение отсчетов яркости 1920×1080 при частоте кадров 60 Гц) требует полосы около 1,5 Гбит/с.Час такого видео требует объема памяти более 600 ГБ.[0003] Video encoding and decoding using motion-compensated inter-picture prediction has been known for several decades. Uncompressed digital video may include a sequence of images, each of which has a spatial size of, for example, 1920×1080 luma samples and their associated chrominance samples. An image sequence may have a fixed or variable image rate (informally also referred to as a "frame rate"), such as 60 images per second, or 60 Hz. Uncompressed video data has significant bit rate requirements. For example, a 1080p60 4:2:0 video with 8 bits per sample (resolution of 1920×1080 luminance samples at 60Hz frame rate) requires about 1.5 Gbps of bandwidth. An hour of such video requires more than 600 GB of memory.

[0004] Одной целью кодирования и декодирования видеосигнала может быть снижение избыточности во входном видеосигнале путем сжатия. Сжатие может способствовать смягчению вышеупомянутых требований к полосе или объему памяти, в ряде случаев на два порядка величины или более. Для этого может применяться сжатие как без потерь, так и с потерями. Сжатие без потерь относится к методам реконструкции точной копии исходного сигнала из сжатого исходного сигнала. При использовании сжатия с потерями реконструированный сигнал может быть не идентичен исходному сигналу, но расхождение между исходным и реконструированным сигналами достаточно мало, так чтобы реконструированный сигнал можно было использовать для намеченного применения. Сжатие с потерями широко применяется для видео. Допустимая степень искажения зависит от применения; например, пользователи некоторых заказных потоковых приложений могут мириться с более высокими искажениями, чем пользователи телевещательных приложений. Достижимая степень сжатия может отражать, что более высокое разрешенное/допустимое искажение может давать более высокую степень сжатия.[0004] One goal of video encoding and decoding may be to reduce redundancy in the input video signal by compressing. Compression can help to alleviate the aforementioned bandwidth or storage requirements, in some cases by two orders of magnitude or more. For this, both lossless and lossy compression can be used. Lossless compression refers to techniques for reconstructing an exact copy of the original signal from the compressed original signal. When using lossy compression, the reconstructed signal may not be identical to the original signal, but the discrepancy between the original and reconstructed signals is small enough that the reconstructed signal can be used for the intended application. Lossy compression is widely used for video. The amount of distortion allowed depends on the application; for example, users of some custom streaming applications may tolerate higher distortion than users of broadcast television applications. The achievable compression ratio may reflect that a higher allowed/allowable distortion may result in a higher compression ratio.

[0005] Кодер и декодер видеосигнала может использовать методы из нескольких широких категорий, включающих в себя, например, компенсацию движения, преобразование, квантование и энтропийное кодирование, некоторые из них представлены ниже.[0005] The video encoder and decoder may use techniques from several broad categories including, for example, motion compensation, transformation, quantization, and entropy coding, some of which are presented below.

[0006] Исторически видеокодеры и видеодекодеры были предназначены для работы с заданным размером изображения, который в большинстве случаев для кодированной видеопоследовательности (CVS, Coded Video Sequence), группы изображений (GOP, Group of Pictures) или аналогичного временного кадра с несколькими изображениями был определен и оставался постоянным. Например, что касается MPEG-2, известно, что конструкции системы изменяют горизонтальное разрешение (и, следовательно, размер изображения) в зависимости от таких факторов как активность сцены, но только для 1-изображений, что обычно является обычным для GOP. Передискретизация опорных изображений для использования различных разрешений в рамках CVS известна, например, из стандарта ITU-T Н.263, приложение Р. Однако в этом случае размер изображения не изменяется, передискретизация выполняется только для опорных изображений, в результате этого потенциально используются только части изображения (в случае понижающей дискретизации) или только части захватываемой сцены (в случае повышающей дискретизации). Кроме того, стандарт Н.263, приложение Q допускает передискретизацию отдельного макроблока с коэффициентом два (в каждом измерении), в сторону повышения или понижения. Опять же, размер изображения не изменяется. Размер макроблока фиксирован в Н.263, и поэтому его не требуется передавать.[0006] Historically, video encoders and video decoders were designed to work with a given image size, which in most cases for a coded video sequence (CVS, Coded Video Sequence), a group of pictures (GOP, Group of Pictures) or a similar multi-picture time frame was defined and remained constant. For example, with respect to MPEG-2, system designs are known to change the horizontal resolution (and hence image size) depending on factors such as scene activity, but only for 1-pictures, which is typically the case for GOP. Resampling of reference pictures to use different resolutions within CVS is known, for example, from ITU-T H.263 Annex P. However, in this case, the image size does not change, resampling is performed only for reference pictures, as a result of which only parts of the image are potentially used. (in the case of downsampling) or only part of the captured scene (in the case of upsampling). In addition, the H.263 standard, Annex Q allows single macroblock resampling by a factor of two (in each dimension), up or down. Again, the image is not resized. The macroblock size is fixed in H.263 and therefore does not need to be transmitted.

[0007] Изменение размера изображения в предсказанных изображениях стало господствующей тенденцией в современных способах кодирования видео. Например, VP9 предоставляет возможность передискретизации опорных изображений и изменения разрешения для всего изображения. Аналогично, некоторые решения для VVC (включая, например, решение под авторством Hendry и др., «Об адаптивном изменении разрешения (ARC) для VVC», документ организации Joint Video Team JVET-M0135-vl, от 9-19 января 2019 г., целиком включенный в настоящий документ) предоставляют возможность передискретизации целых опорных изображений с другим, более высоким или более низким, разрешением. В этом документе предлагается кодировать различные варианты разрешения в наборе параметров последовательности и ссылаться на них с помощью элементов синтаксиса для каждого изображения в наборе параметров изображения.[0007] Image resizing in predicted images has become mainstream in current video coding techniques. For example, VP9 provides the ability to resample reference pictures and change resolution for the entire picture. Similarly, some solutions for VVC (including, for example, the solution by Hendry et al., "About Adaptive Resolution Resizing (ARC) for VVC", Joint Video Team document JVET-M0135-vl, January 9-19, 2019. , incorporated herein in its entirety) provide the possibility of resampling entire reference pictures with a different, higher or lower resolution. This document proposes to encode the different resolutions in a sequence parameter set and refer to them using the syntax elements for each image in the image parameter set.

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

[0008] Раскрыты методы сигнализации адаптивного размера изображения в битовом потоке видео.[0008] Techniques for signaling adaptive image size in a video bitstream are disclosed.

[0009] Способ может включать в себя определение максимального числа временных подуровней, разрешенного в кодированной видеопоследовательности, ссылающейся на набор параметров; и декодирование кодированной видеопоследовательности на основе идентифицированного максимального числа временных подуровней, разрешенного в кодированной видеопоследовательности, ссылающейся на набор параметров.[0009] The method may include determining the maximum number of temporal sublayers allowed in the encoded video sequence referring to the parameter set; and decoding the coded video sequence based on the identified maximum number of temporal sublayers allowed in the coded video sequence referring to the parameter set.

[0010] Устройство может включать в себя по меньшей мере один модуль памяти, сконфигурированный для хранения компьютерного программного кода; и, по меньшей мере, один процессор, сконфигурированный для считывания программного кода и работающий под управлением компьютерного программного кода, при этом программный код может включать в себя идентификационный код, сконфигурированный таким образом, чтобы процессор идентифицировал максимальное число временных подуровней, разрешенное в кодированной видеопоследовательности, ссылающейся на набор параметров; и код декодирования, сконфигурированный таким образом, чтобы процессор декодировал кодированную видеопоследовательность на основе идентифицированного максимального числа временных подуровней, разрешенного в кодированной видеопоследовательности, ссылающейся на набор параметров.[0010] The device may include at least one memory module configured to store computer program code; and at least one processor configured to read the program code and operating under the control of the computer program code, wherein the program code may include an identification code configured such that the processor identifies the maximum number of temporal sublevels allowed in the encoded video sequence, referring to a set of parameters; and decoding code configured such that the processor decodes the encoded video sequence based on the identified maximum number of temporal sublayers allowed in the encoded video sequence referring to the parameter set.

[0011] Компьютерно-считываемый носитель может содержать инструкции, которые при выполнении одним или более процессорами устройства приводят к тому, что один или более процессоров идентифицируют максимальное число временных подуровней, разрешенное в кодированной видеопоследовательности, ссылающейся на набор параметров; и декодируют кодированную видеопоследовательность на основе идентифицированного максимального числа временных подуровней, разрешенного в кодированной видеопоследовательности, ссылающейся на набор параметров.[0011] The computer-readable medium may comprise instructions that, when executed by one or more device processors, cause the one or more processors to identify the maximum number of temporal sublayers allowed in the encoded video sequence referring to the parameter set; and decoding the encoded video sequence based on the identified maximum number of temporal sublayers allowed in the encoded video sequence referring to the parameter set.

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

[0012] Дополнительные особенности, характер и различные преимущества раскрытого изобретения будут понятны из нижеследующего подробного описания и прилагаемых чертежей, на которых:[0012] Additional features, nature and various advantages of the disclosed invention will be apparent from the following detailed description and the accompanying drawings, in which:

[0013] фиг. 1 - схематическое представление упрощенной блок-схемы системы связи согласно варианту осуществления;[0013] FIG. 1 is a schematic representation of a simplified block diagram of a communication system according to an embodiment;

[0014] фиг. 2 - схематическое представление упрощенной блок-схемы системы связи согласно варианту осуществления;[0014] FIG. 2 is a schematic representation of a simplified block diagram of a communication system according to an embodiment;

[0015] фиг. 3 - схематическое представление упрощенной блок-схемы декодера согласно варианту осуществления;[0015] FIG. 3 is a schematic representation of a simplified block diagram of a decoder according to an embodiment;

[0016] фиг. 4 - схематическое представление упрощенной блок-схемы кодера согласно варианту осуществления;[0016] FIG. 4 is a schematic representation of a simplified block diagram of an encoder according to an embodiment;

[0017] фиг. 5 - схематическое представление опций сигнализации параметров ARC согласно уровню техники или варианту осуществления, как показано;[0017] FIG. 5 is a schematic representation of ARC parameter signaling options according to the prior art or embodiment, as shown;

[0018] фиг. 6 - пример таблицы синтаксиса согласно варианту осуществления;[0018] FIG. 6 is an example of a syntax table according to an embodiment;

[0019] фиг. 7 - схематическое представление компьютерной системы согласно варианту осуществления;[0019] FIG. 7 is a schematic representation of a computer system according to an embodiment;

[0020] фиг. 8 - пример структуры предсказания для масштабируемости с адаптивным изменением разрешения;[0020] FIG. 8 is an example of a prediction structure for adaptive resolution scalability;

[0021] фиг. 9 - пример таблицы синтаксиса согласно варианту осуществления;[0021] FIG. 9 is an example of a syntax table according to an embodiment;

[0022] фиг. 10 - схематическое представление упрощенной блок-схемы анализа и декодирования цикла РОС согласно блоку доступа и порядковому номеру блока доступа;[0022] FIG. 10 is a schematic representation of a simplified flowchart of parsing and decoding a DOC cycle according to an access block and an access block sequence number;

[0023] фиг. 11 - схематическое представление структуры битового потока видео, содержащего многоуровневые субизображения;[0023] FIG. 11 is a schematic representation of the structure of a video bitstream containing layered sub-images;

[0024] фиг. 12 - схематическое представление отображения субизображения с повышенным разрешением;[0024] FIG. 12 is a schematic representation of an enhanced resolution sub-image display;

[0025] фиг. 13 - схематическое представление процесса декодирования и отображения битового потока видео, содержащего многоуровневые субизображения;[0025] FIG. 13 is a schematic representation of a process for decoding and displaying a video bitstream containing layered sub-images;

[0026] фиг. 14 - схематическое представление отображения видео 360 градусов с уровнем улучшения субизображения;[0026] FIG. 14 is a schematic representation of a 360 degree video display with a sub-image enhancement level;

[0027] фиг. 15 - пример информации о структуре субизображений и соответствующей структуре уровней и предсказания изображений;[0027] FIG. 15 is an example of sub-image structure information and corresponding level structure and image prediction;

[0028] фиг. 16 - пример информации о структуре субизображений и соответствующей структуре уровней и предсказания изображений с пространственной масштабируемостью локальной области;[0028] FIG. 16 shows an example of sub-image structure information and corresponding layer structure and image prediction with local area spatial scalability;

[0029] фиг. 17 - пример таблицы синтаксиса для структуры субизображений;[0029] FIG. 17 is an example of a syntax table for a sub-image structure;

[0030] фиг. 18 - пример таблицы синтаксиса сообщения SEI для информации о структуре субизображений;[0030] FIG. 18 is an example of an SEI message syntax table for sub-picture structure information;

[0031] фиг. 19 - пример таблицы синтаксиса для указания выходных уровней и информации профилей/ярусов/уровней для каждого набора выходных уровней;[0031] FIG. 19 is an example of a syntax table for specifying output levels and profile/tier/level information for each set of output levels;

[0032] фиг. 20 - пример таблицы синтаксиса для указания режима выходного уровня для каждого набора выходных уровней;[0032] FIG. 20 is an example of a syntax table for specifying an output level mode for each set of output levels;

[0033] фиг. 21 - пример таблицы синтаксиса для указания текущего субизображения каждого уровня для каждого набора выходных уровней;[0033] FIG. 21 is an example of a syntax table for specifying the current sub-image of each level for each set of output levels;

[0034] фиг. 22 - пример RBSP набора параметров видео;[0034] FIG. 22 is an example of a video parameter set RBSP;

[0035] фиг. 23 - пример RBSP набора параметров последовательности.[0035] FIG. 23 is an example of a sequence parameter set RBSP.

Подробное описаниеDetailed description

[0036] Когда изображения кодируются в битовый поток, который включает в себя несколько уровней с разным качеством, битовый поток может иметь элементы синтаксиса, которые определяют, какие уровни могут быть выведены на стороне декодера. Набор подлежащих выводу уровней определяется как набор выходных уровней. В самом последнем видеокодеке, поддерживающем несколько уровней и масштабируемость, один или более наборов выходных уровней передаются в наборе параметров видео. Эти элементы синтаксиса, определяющие наборы выходных уровней и их зависимости, параметры профилей/ярусов/уровней и гипотетической эталонной модели декодера, должны эффективно передаваться в наборе параметров.[0036] When images are encoded into a bitstream that includes multiple levels of different quality, the bitstream may have syntax elements that determine which levels can be output on the decoder side. The set of levels to be output is defined as the set of output levels. In the latest video codec supporting multiple levels and scalability, one or more output level sets are carried in a video parameter set. These syntax elements defining output level sets and their dependencies, profile/tier/level parameters and a hypothetical decoder reference model must be efficiently conveyed in a parameter set.

[0037] На фиг. 1 показана упрощенная блок-схема системы (100) связи согласно варианту осуществления настоящего изобретения. Система (100) может включать в себя по меньшей мере два оконечных устройства (110 и 120), соединенных друг с другом через сеть (150). В случае однонаправленной передачи данных первое оконечное устройство (110) может кодировать видеоданные в локальном местоположении для передачи на другое оконечное устройство (120) через сеть (150). Второе оконечное устройство (120) может принимать кодированные видеоданные другого оконечного устройства из сети (150), декодировать кодированные данные и отображать реконструированные видеоданные. Однонаправленная передача данных может быть свойственна приложениям служб массовой информации и т.п.[0037] FIG. 1 shows a simplified block diagram of a communication system (100) according to an embodiment of the present invention. System (100) may include at least two terminals (110 and 120) connected to each other via network (150). In the case of unidirectional data transmission, the first terminal (110) may encode video data at the local location for transmission to another terminal (120) via the network (150). The second terminal device (120) may receive the encoded video data of another terminal device from the network (150), decode the encoded data, and display the reconstructed video data. One-way communication may be inherent in media service applications and the like.

[0038] На фиг. 1 показана вторая пара оконечных устройств (130, 140), предназначенных для поддержки двунаправленной передачи кодированных видеоданных, которая может осуществляться, например, в процессе видеоконференцсвязи. В случае двунаправленной передачи данных каждое оконечное устройство (130, 140) может кодировать видеоданные, захваченные в локальном местоположении, для передачи на другое оконечное устройство через сеть (150). Каждое оконечное устройство (130, 140) также может принимать кодированные видеоданные, переданные другим оконечным устройством, может декодировать кодированные данные и может отображать реконструированные видеоданные на локальном устройстве отображения.[0038] FIG. 1 shows a second pair of terminals (130, 140) designed to support bi-directional transmission of encoded video data, which may occur, for example, during a video conference. In the case of bi-directional data transmission, each terminal device (130, 140) may encode the video data captured at the local location for transmission to another terminal device via the network (150). Each terminal device (130, 140) may also receive the encoded video data transmitted by the other terminal device, may decode the encoded data, and may display the reconstructed video data on a local display device.

[0039] На фиг. 1, оконечные устройства (110-140) могут быть проиллюстрированы как серверы, персональные компьютеры и смартфоны, но это не ограничивает принципы настоящего изобретения. Варианты осуществления настоящего изобретения находят применение для портативных компьютеров, планшетных компьютеров, медиаплееров и/или специального оборудования для видеоконференцсвязи. Сеть (150) представляет любое количество сетей, которые переносят кодированные видеоданные между оконечными устройствами (110-140), включая, например, проводные и/или беспроводные сети связи. Сеть (150) связи позволяет обмениваться данными в режиме канальной коммутации и/или пакетной коммутации. Иллюстративные сети включают в себя телекоммуникационные сети, локальные сети, глобальные сети и/или Интернет. В целях настоящего рассмотрения, архитектура и топология сети (150) могут не иметь отношения к настоящему изобретению, если конкретно не указаны ниже.[0039] FIG. 1, terminal devices (110-140) can be illustrated as servers, personal computers, and smartphones, but this does not limit the principles of the present invention. Embodiments of the present invention find application in laptop computers, tablet computers, media players and/or dedicated video conferencing equipment. Network (150) represents any number of networks that carry encoded video data between terminals (110-140), including, for example, wired and/or wireless networks. The communication network (150) allows data to be exchanged in a circuit-switched and/or packet-switched mode. Exemplary networks include telecommunications networks, local area networks, wide area networks, and/or the Internet. For the purposes of this discussion, the architecture and topology of the network (150) may not be relevant to the present invention unless specifically noted below.

[0040] На фиг. 2 показано, в порядке примера применения раскрытого изобретения, размещение видеокодера и видеодекодера в окружении потоковой передачи. Раскрытое изобретение может быть в равной степени применимо к другим применениям обработки видео, включая, например, видеоконференцсвязь, цифровое телевидение, хранение сжатого видео на цифровых носителях, в том числе на CD-диске, DVD-диске, карте памяти и т.п.[0040] In FIG. 2 shows, as an example of the application of the disclosed invention, the placement of a video encoder and a video decoder in a streaming environment. The disclosed invention may be equally applicable to other video processing applications including, for example, videoconferencing, digital television, storage of compressed video on digital media, including CD, DVD, memory card, and the like.

[0041] Система потоковой передачи может включать в себя подсистему (213) захвата, которая может включать в себя источник (201) видеосигнала, например, цифровую камеру, создающую, например, поток (202) отсчетов видео, не подвергнутых сжатию. Этот поток (202) отсчетов, показанный жирной линией, чтобы подчеркнуть большой объем данных по сравнению с битовыми потоками кодированного видео, может быть обработан кодером (203), подключенным к камере (201). Кодер (203) может включать в себя оборудование, программное обеспечение или их комбинацию для обеспечения или реализации аспектов раскрытого изобретения, как более подробно описано ниже. Битовый поток (204) кодированного видео, показанный тонкой линией, чтобы подчеркнуть меньший объем данных по сравнению с потоком отсчетов, может храниться на потоковом сервере (205) для использования в будущем. Один или более клиентов (206, 208) потоковой передачи могут осуществлять доступ к потоковому серверу (205) для извлечения копий (207, 209) битового потока (204) кодированного видео. Клиент (206) может включать в себя видеодекодер (210), который декодирует входящую копию битового потока (207) кодированного видео и создает исходящий поток (211) отсчетов видео, который может отображаться на дисплее (212) или на другом устройстве визуализации (не показано). В некоторых системах потоковой передачи битовые потоки видео (204, 207, 209) могут кодироваться согласно тем или иным стандартам кодирования/сжатия видео. Примеры этих стандартов включают в себя ITU-T Recommendation Н.265. Разрабатывается стандарт кодирования видео под официальным названием «Универсальное кодирование видео» (Versatile Video Coding) или VVC. Раскрытое изобретение может использоваться в контексте VVC.[0041] The streaming system may include a capture subsystem (213), which may include a video source (201), such as a digital camera, producing, for example, a stream (202) of uncompressed video samples. This stream (202) of samples, shown with a thick line to emphasize the large amount of data compared to the bitstreams of the encoded video, can be processed by the encoder (203) connected to the camera (201). The encoder (203) may include hardware, software, or a combination thereof for providing or implementing aspects of the disclosed invention, as described in more detail below. The encoded video bitstream (204), shown as a thin line to emphasize the smaller amount of data compared to the sample stream, may be stored on the streaming server (205) for future use. One or more streaming clients (206, 208) may access the streaming server (205) to retrieve copies (207, 209) of the encoded video bitstream (204). The client (206) may include a video decoder (210) that decodes an incoming copy of the encoded video bitstream (207) and produces an outgoing stream (211) of video samples that can be displayed on a display (212) or other rendering device (not shown). ). In some streaming systems, the video bitstreams (204, 207, 209) may be encoded according to one video coding/compression standard or another. Examples of these standards include ITU-T Recommendation H.265. A video coding standard is being developed, officially called Versatile Video Coding or VVC. The disclosed invention may be used in the context of VVC.

[0042] Фиг. 3 может быть функциональной блок-схемой видеодекодера (210) согласно варианту осуществления настоящего изобретения.[0042] FIG. 3 may be a functional block diagram of a video decoder (210) according to an embodiment of the present invention.

[0043] Приемник (310) может принимать одну или более видеопоследовательностей кодека для декодирования декодером (210); в том же или другом варианте осуществления, по одной кодированной видеопоследовательности за раз, где декодирование каждой кодированной видеопоследовательности не зависит от других кодированных видеопоследовательностей. Кодированная видеопоследовательность может приниматься из канала (312), который может быть аппаратной/программной линией связи с запоминающим устройством, где хранятся кодированные видеоданные. Приемник (310) может принимать кодированные видеоданные с другими данными, например, кодированными аудиоданными и/или вспомогательными потоками данных, которые могут ретранслироваться на соответствующие им используемые объекты (не показаны). Приемник (310) может отделять кодированную видеопоследовательность от других данных. Для борьбы с джиттером сети буферная память (315) может быть подключена между приемником (310) и энтропийным декодером / анализатором (320) (далее «анализатором»). Если приемник (310) принимает данные из запоминающего устройства/устройства пересылки с достаточной полосой пропускания и управляемостью или из изосинхронной сети, буфер (315) может не использоваться или иметь небольшой размер. Для использования в пакетных сетях наилучшей попытки, например, в Интернете, может потребоваться буферная память (315), которая может быть сравнительно большой и может иметь преимущественно адаптивный размер.[0043] The receiver (310) may receive one or more codec video sequences for decoding by the decoder (210); in the same or another embodiment, one coded video sequence at a time, where the decoding of each coded video sequence is independent of other coded video sequences. The encoded video sequence may be received from a channel (312), which may be a hardware/software link to a storage device where the encoded video data is stored. The receiver (310) may receive encoded video data with other data, such as encoded audio data and/or auxiliary data streams, which may be relayed to their respective usable objects (not shown). The receiver (310) may separate the encoded video sequence from other data. To combat network jitter, a buffer memory (315) may be connected between the receiver (310) and the entropy decoder/analyzer (320) (hereinafter "analyzer"). If the receiver (310) receives data from a storage/forwarder with sufficient bandwidth and controllability, or from an isosynchronous network, the buffer (315) may not be used or may be small. For use in best effort packet networks, such as the Internet, a buffer memory (315) may be required, which may be relatively large and may have a predominantly adaptive size.

[0044] Видеодекодер (210) может включать в себя анализатор (320) для реконструкции символов (321) из энтропийно кодированной видеопоследовательности. Категории этих символов включают в себя информацию, используемую для управления работой видеодекодера (210), и возможно информацию для управления устройством визуализации, например, дисплеем (212), который не является неотъемлемой частью декодера, но может быть подключен к нему, как показано на фиг.2. Информация управления для устройств(а) визуализации может представлять собой сообщения информации дополнительного улучшения (SEI, Supplementary Enhancement Information) или фрагменты набора параметров информации пригодности видео (VUI, Video Usability Information) (не показаны). Анализатор (320) может анализировать / энтропийно декодировать принятую кодированную видеопоследовательность. Кодирование кодированной видеопоследовательности может выполняться согласно методу или стандарту видеокодирования и может следовать принципам, хорошо известным специалисту в этой области техники, включая кодирование с переменной длиной, кодирование по методу Хаффмана, арифметическое кодирование с учетом или без учета контекстной зависимости и т.д. Анализатор (320) может извлекать из кодированной видеопоследовательности набор параметров подгруппы по меньшей мере для одной из подгрупп пикселей в видеодекодере на основании по меньшей мере одного параметра, соответствующего группе. Подгруппы могут включать в себя группы изображений (GOP, Groups of Pictures), изображения, тайлы, слайсы, макроблоки, блоки кодирования (CU, Coding Units), блоки (blocks), блоки преобразования (TU, Transform Units), блоки предсказания (PU, Prediction Units) и т.д. Энтропийный декодер / анализатор также может извлекать из кодированной видеопоследовательности информацию, например, коэффициенты преобразования, значения параметров квантователя, векторы движения и т.д.[0044] The video decoder (210) may include an analyzer (320) for reconstructing symbols (321) from an entropy coded video sequence. The categories of these symbols include information used to control the operation of the video decoder (210) and possibly information to control a visualization device such as a display (212) that is not an integral part of the decoder but may be connected to it, as shown in FIG. .2. The control information for the rendering device(s) may be Supplementary Enhancement Information (SEI) messages or Video Usability Information (VUI) parameter set fragments (not shown). The analyzer (320) may analyze/entropy decode the received encoded video sequence. Encoding of the encoded video sequence may be performed according to a video coding method or standard, and may follow principles well known to one skilled in the art, including variable length coding, Huffman coding, arithmetic coding with or without context sensitivity, etc. The analyzer (320) can extract from the encoded video sequence a set of subgroup parameters for at least one of the subgroups of pixels in the video decoder based on at least one parameter corresponding to the group. Subgroups may include groups of pictures (GOP, Groups of Pictures), images, tiles, slices, macroblocks, coding units (CU, Coding Units), blocks (blocks), transformation units (TU, Transform Units), prediction units (PU , Prediction Units), etc. The entropy decoder/analyzer can also extract information from the encoded video sequence, such as transform coefficients, quantizer parameter values, motion vectors, etc.

[0045] Анализатор (320) может осуществлять операцию энтропийного декодирования / анализа видеопоследовательности, принятой из буфера (315), для создания символов (321).[0045] The analyzer (320) may perform an entropy decoding/analysis operation of the video sequence received from the buffer (315) to create symbols (321).

[0046] Для реконструкции символов (321) могут использоваться несколько разных модулей в зависимости от типа кодированного видеоизображения или его частей (например, интер- и интра-изображения, интер- и интра-блока) и других факторов. Какие модули используются, и как, может определяться информацией управления подгруппами, выделенной из кодированной видеопоследовательности анализатором (320). Поток такой информации управления подгруппами между анализатором (320) и множественными модулями для простоты в дальнейшем не показан.[0046] Several different modules may be used for symbol reconstruction (321) depending on the type of encoded video image or parts thereof (eg, inter- and intra-image, inter- and intra-block) and other factors. Which modules are used, and how, may be determined by the subgroup management information extracted from the encoded video sequence by the analyzer (320). The flow of such subgroup management information between the analyzer (320) and the multiple modules is not shown hereinafter for simplicity.

[0047] Помимо ранее упомянутых функциональных блоков, декодер (210) может принципиально подразделяться на несколько функциональных модулей, как описано ниже. В практической реализации, работающей в условиях коммерческих ограничений, многие из этих модулей тесно взаимодействуют друг с другом и могут, по меньшей мере частично, встраиваться один в другой. Однако в целях описания раскрытого изобретения уместно принципиальное подразделение на нижеперечисленные функциональные модули.[0047] In addition to the previously mentioned functional blocks, the decoder (210) can be fundamentally divided into several functional modules, as described below. In a practical implementation operating under commercial constraints, many of these modules interact closely with one another and can, at least partially, be nested within one another. However, for the purposes of describing the disclosed invention, a fundamental subdivision into the following functional modules is appropriate.

[0048] Первым модулем является модуль (351) масштабирования / обратного преобразования. Модуль (351) масштабирования / обратного преобразования принимает квантованный коэффициент преобразования, а также информацию управления, включающую в себя используемое преобразование, размер блока, коэффициент квантования, матрицы масштабирования квантования и т.д. в качестве символа(ов) (321) от анализатора (320). Этот модуль может выводить блоки, содержащие значения отсчетов, которые можно вводить в агрегатор (355).[0048] The first module is the scaling/inverse transform module (351). The scaling/inverse transform module (351) receives the quantized transform coefficient as well as control information including the transform used, block size, quantization factor, quantization scaling matrices, etc. as character(s) (321) from the analyzer (320). This module can output blocks containing sample values that can be entered into the aggregator (355).

[0049] В ряде случаев, выходные отсчеты блока (351) масштабирования / обратного преобразования могут относиться к внутренне-кодированному блоку; то есть блоку, который не использует предсказанную информацию из ранее реконструированных изображений, но может использовать предсказанную информацию из ранее реконструированных частей текущего изображения. Такая предсказанная информация может обеспечиваться модулем (352) предсказания внутри изображения. В ряде случаев модуль (352) предсказания внутри изображения генерирует блок такого же размера и формы, как блок, подлежащий реконструкции, с использованием информации ранее реконструированного окружения, извлеченной из текущего (частично реконструированного) изображения (356). Агрегатор (355) в ряде случаев добавляет для каждого отсчета информацию предсказания, сгенерированную модулем (352) внутреннего предсказания, в информацию выходных отсчетов, обеспеченную модулем (351) масштабирования / обратного преобразования.[0049] In some cases, the output samples of the scaling / inverse transform block (351) may refer to an intra-coded block; that is, a block that does not use predicted information from previously reconstructed images, but may use predicted information from previously reconstructed portions of the current image. Such predicted information may be provided by an intra-picture prediction module (352). In some cases, the intra-image prediction module (352) generates a block of the same size and shape as the block to be reconstructed using previously reconstructed environment information extracted from the current (partially reconstructed) image (356). The aggregator (355) in some cases adds, for each sample, the prediction information generated by the intra prediction module (352) to the output sample information provided by the scaling/inverse transform module (351).

[0050] В других случаях выходные отсчеты модуля (351) масштабирования / обратного преобразования могут относиться к блоку, кодированному с внешним предсказанием, возможно, с компенсацией движения. В таком случае модуль (353) предсказания с компенсацией движения может осуществлять доступ к памяти (357) опорных изображений для извлечения отсчетов, используемых для предсказания. После применения компенсации движения к извлеченным отсчетам в соответствии с символами (321), относящимися к блоку, эти отсчеты могут добавляться агрегатором (355) к выходному сигналу модуля масштабирования / обратного преобразования (в этом случае именуемому «остаточными отсчетами» или «остаточным сигналом») для генерации информации выходных отсчетов. Адреса в памяти опорных изображений, откуда модуль предсказания с компенсацией движения извлекает предсказанные отсчеты, могут регулироваться векторами движения, доступными модулю предсказания с компенсацией движения, в форме символов (321), которые могут иметь, например, компоненты X, Y и опорного изображения. Компенсация движения также может включать в себя интерполяцию значений отсчетов, извлеченных из памяти опорных изображений, когда используются точные векторы движения подотсчетов, механизмы предсказания векторов движения и т.д.[0050] In other cases, the output samples of the scaler/inverse transform module (351) may refer to an inter-prediction encoded block, possibly with motion compensation. In such a case, the motion compensation prediction module (353) may access the reference picture memory (357) to retrieve samples used for prediction. After motion compensation has been applied to the extracted samples according to the symbols (321) associated with the block, these samples can be added by the aggregator (355) to the output of the scaler/demap module (in this case referred to as "residual samples" or "residual signal") to generate output sample information. The reference picture memory addresses from where the motion compensation prediction module retrieves the predicted samples may be governed by the motion vectors available to the motion compensation prediction module in the form of symbols (321), which may have X, Y and reference picture components, for example. Motion compensation may also include interpolation of sample values retrieved from reference picture memory when accurate subsample motion vectors, motion vector prediction mechanisms, and so on are used.

[0051] К выходным отсчетам агрегатора (355) можно применять различные методы контурной фильтрации в модуле (356) контурного фильтра. Технологии сжатия видео могут включать в себя методы деблокирующего фильтра под управлением параметров, включенных в битовый поток кодированного видео, и становиться доступными модулю (356) контурного фильтра в качестве символов (321) от анализатора (320), но также могут реагировать на метаинформацию, полученную в ходе декодирования предыдущих (в порядке декодирования) частей кодированного изображения или кодированной видеопоследовательности, а также реагировать на ранее реконструированные и подвергнутые контурной фильтрации значения отсчетов.[0051] Various loop filtering techniques can be applied to the aggregator (355) output samples in the loop filter module (356). The video compression techniques may include deblocking filter techniques driven by parameters included in the encoded video bitstream and made available to the loop filter module (356) as symbols (321) from the analyzer (320), but may also respond to metainformation received during decoding of the previous (in the order of decoding) parts of the encoded image or encoded video sequence, as well as to respond to previously reconstructed and contour filtered sample values.

[0052] Модуль (356) контурного фильтра может выдавать поток отсчетов, который может поступать на устройство (212) визуализации, а также сохраняться в памяти (356) опорных изображений для использования в будущем предсказании между изображениями.[0052] The loop filter module (356) may provide a stream of samples that may be fed to the renderer (212) as well as stored in the reference picture memory (356) for use in future inter-picture prediction.

[0053] Некоторые кодированные изображения, будучи полностью реконструированными, могут использоваться в качестве опорных изображений для будущего предсказания. Когда кодированное изображение полностью реконструировано, и кодированное изображение идентифицировано как опорное изображение (например, анализатором (320)), буфер (356) текущего изображения может становиться частью буфера (357) опорных изображений, и свежий буфер текущего изображения может повторно выделяться до начала реконструкции следующего кодированного изображения.[0053] Some encoded pictures, when fully reconstructed, can be used as reference pictures for future prediction. When the encoded picture is fully reconstructed and the encoded picture is identified as a reference picture (e.g., by the analyzer (320)), the current picture buffer (356) may become part of the reference picture buffer (357), and a fresh current picture buffer may be re-allocated before reconstruction of the next picture begins. encoded image.

[0054] Видеодекодер 320 может выполнять операции декодирования в соответствии с предварительно определенным методом сжатия видеоданных, которая может документироваться в стандарте, таком как рекомендация ITU-T Н.265. Кодированная видеопоследовательность может соответствовать синтаксису, указанному используемым методом или стандартом сжатия видеоданных, в том смысле, что она придерживается синтаксиса метода или стандарта сжатия видеоданных, заданным в документе или стандарте по технологии сжатия видеоданных и, в особенности, в профильных документах этих стандартов. Также для согласованности может быть необходимо, чтобы сложность кодированной видеопоследовательности оставалась в границах, заданных уровнем технологии или стандарта сжатия видео. В ряде случаев, уровни ограничивают максимальный размер изображения, максимальную частоту кадров, максимальную частоту отсчетов для реконструкции (измеряемую, например, в мегаотсчетах в секунду), максимальный размер опорного изображения и т.д. Пределы, установленные уровнями, в ряде случаев могут дополнительно ограничиваться спецификациями гипотетического эталонного декодера (HRD, Hypothetical Reference Decoder) и метаданными для управления буфером HRD, сигнализируемого в кодированной видеопоследовательности.[0054] Video decoder 320 may perform decoding operations in accordance with a predefined video data compression method, which may be documented in a standard such as ITU-T recommendation H.265. The encoded video sequence may conform to the syntax specified by the video compression method or standard used, in the sense that it adheres to the syntax of the video compression method or standard specified in a video compression technology document or standard, and in particular in the related documents of those standards. It may also be necessary for consistency that the complexity of the encoded video sequence remain within the boundaries set by the video compression technology level or standard. In some cases, the levels limit the maximum image size, the maximum frame rate, the maximum sampling rate for reconstruction (measured in megasamples per second, for example), the maximum reference image size, and so on. The limits set by the levels, in some cases, may be further limited by the specifications of the hypothetical reference decoder (HRD, Hypothetical Reference Decoder) and metadata for managing the HRD buffer signaled in the encoded video sequence.

[0055] Согласно вариантам осуществления приемник (310) может принимать дополнительные (избыточные) данные с кодированным видео. Дополнительные данные могут быть включены как часть кодированной(ых) видеопоследовательности(ей). Дополнительные данные могут использоваться видеодекодером (320) для правильного декодирования данных и/или более точной реконструкции исходных видеоданных. Дополнительные данные могут предоставляться в виде, например, временных, пространственных уровней или уровней улучшения SNR, избыточных слайсов, избыточных изображений, кодов с прямым исправлением ошибок и т.д.[0055] According to embodiments, the receiver (310) may receive additional (redundant) data with encoded video. Additional data may be included as part of the encoded video sequence(s). The additional data may be used by the video decoder (320) to correctly decode the data and/or more accurately reconstruct the original video data. Additional data may be provided in the form of, for example, temporal, spatial or SNR enhancement levels, redundant slices, redundant pictures, forward error correction codes, and so on.

[0056] Фиг. 4 может быть функциональной блок-схемой видеокодера (203) согласно варианту осуществления настоящего изобретения.[0056] FIG. 4 may be a functional block diagram of a video encoder (203) according to an embodiment of the present invention.

[0057] Кодер (203) может принимать отсчеты видео из источника (201) видео (который не входит в состав кодера), который может захватывать видеоизображение(я), подлежащее(ие) кодированию кодером (203).[0057] The encoder (203) may receive video samples from a video source (201) (which is not part of the encoder) that may capture the video image(s) to be encoded by the encoder (203).

[0058] Источник (201) видео может обеспечивать исходную видеопоследовательность, подлежащую кодированию кодером (203), в форме потока отсчетов цифрового видео любой подходящей битовой глубины (например, 8 битов, 10 битов, 12 битов и т.д.), любого цветового пространства (например, ВТ.601 Y CrCB, RGB и т.д.), и любой подходящей структуры дискретизации (например, Y CrCb 4:2:0, Y CrCb 4:4:4). В системе службы массовой информации источником (201) видеосигнала может быть запоминающее устройство, где хранится ранее подготовленное видео. В системе видеоконференцсвязи источником (203) видеосигнала может быть камера, которая захватывает информацию локального изображения как видеопоследовательность. Видеоданные могут обеспечиваться как множество отдельных изображений, которые создают ощущение движения при наблюдении в последовательности. Непосредственно изображения могут быть организованы как пространственный массив пикселей, каждый из которых может содержать одну или более выборок, в зависимости от используемых структуры дискретизации, цветового пространства и т.д. Специалисту в данной области техники нетрудно понять соотношение между пикселями и отсчетами. В последующем описании делается акцент на выборки.[0058] The video source (201) may provide the source video sequence to be encoded by the encoder (203) in the form of a digital video sample stream of any suitable bit depth (e.g., 8 bits, 10 bits, 12 bits, etc.), any color space (eg, BT.601 Y CrCB, RGB, etc.), and any suitable sampling structure (eg, Y CrCb 4:2:0, Y CrCb 4:4:4). In a media service system, the video source (201) may be a storage device where previously prepared video is stored. In a videoconferencing system, the video source (203) may be a camera that captures local image information as a video sequence. The video data may be provided as a plurality of individual images that give a sense of movement when viewed in sequence. The images themselves can be organized as a spatial array of pixels, each of which may contain one or more samples, depending on the sampling structure, color space, etc. used. It is not difficult for a person skilled in the art to understand the relationship between pixels and samples. In the following description, emphasis is placed on sampling.

[0059] Согласно варианту осуществления, кодер (203) может кодировать и сжимать изображения видеопоследовательности исхточника в кодированную видеопоследовательность (443) в реальном времени или с учетом любых других временных ограничений, налагаемых применением. Установление надлежащей скорости кодирования является одной из функций контроллера (450). Контроллер управляет другими функциональными модулями, как описано ниже, и функционально подключен к этим функциональным модулям. Подключение для простоты не показано. Параметры, установленные контроллером, могут включать в себя параметры, связанные с регулировкой частоты (пропуск изображения, квантователь, значение лямбда, применяемое при оптимизация скорости-искажения т.д.), размер изображения, схему групп изображений (GOP, Group Of Pictures), максимальную зону поиска вектора движения и т.д. Специалист в этой области техники может легко идентифицировать другие функции контроллера (450) в той мере, в какой они могут относиться к видеокодеру (203), оптимизированному для конструкции определенной системы.[0059] According to an embodiment, the encoder (203) may encode and compress images of the source video sequence into the encoded video sequence (443) in real time or subject to any other time constraints imposed by the application. Setting the proper coding rate is one of the functions of the controller (450). The controller controls other function modules as described below and is operatively connected to these function modules. The connection is not shown for simplicity. The parameters set by the controller may include parameters related to frequency adjustment (picture skip, quantizer, lambda value applied in rate-distortion optimization, etc.), picture size, group of pictures scheme (GOP, Group Of Pictures), maximum motion vector search area, etc. A person skilled in the art can readily identify other functions of the controller (450) as they may relate to a video encoder (203) optimized for a particular system design.

[0060] Некоторые видеокодеры работают в режиме, который специалисту в этой области техники известен как «петля кодирования». В качестве очень упрощенного описания петля кодирования может включать в себя компонент кодирования кодера (430) (далее «кодера источника») (отвечающего за создание символов на основе входного изображения, подлежащего кодированию, и опорного(ых) изображения(ий)), и (локального) декодера (433), встроенного в кодер (203), который реконструирует символы для создания данных отсчетов, которые (удаленный) декодер также должен создавать (поскольку любое сжатие между символами и битовым потоком кодированного видео происходит без потерь в технологиях сжатия видео, рассматриваемых в раскрытом изобретении). Этот реконструированный поток отсчетов поступает в память (434) опорных изображений. Поскольку декодирование потока символов приводит к результатам, с точностью до бита, не зависящим от положения декодера (локального или удаленного), содержимое буфера опорных изображений также будет одинаковым с точностью до бита для локального кодера и удаленного кодера. Другими словами, предсказанная часть кодера «видит» в качестве отсчетов опорного изображения точно такие же значения отсчетов, как «видел» бы декодер при использовании предсказания в ходе декодирования. Этот фундаментальный принцип синхронизма опорного изображения (и, в итоге, дрейф, если синхронизм не удается поддерживать, например, вследствие канальных ошибок) хорошо известен специалисту в этой области техники.[0060] Some video encoders operate in a mode known to those skilled in the art as "coding loop". As a very simplified description, an encoding loop may include an encoding component of an encoder (430) (hereinafter "source encoder") (responsible for creating symbols based on the input image to be encoded and the reference image(s)), and ( local) decoder (433) built into the encoder (203) that reconstructs the symbols to produce sample data that the (remote) decoder must also produce (because any compression between the symbols and the encoded video bitstream is lossless in the video compression technologies considered in the disclosed invention). This reconstructed sample stream enters the reference picture memory (434). Since decoding a stream of symbols produces bit-accurate results independent of the position of the decoder (local or remote), the contents of the reference picture buffer will also be the same bit-accuracy for the local encoder and the remote encoder. In other words, the predicted portion of the encoder "sees" as reference picture samples exactly the same sample values as the decoder would "see" if using prediction during decoding. This fundamental principle of reference picture synchronism (and eventually drift if synchronism cannot be maintained due to, for example, channel errors) is well known to those skilled in the art.

[0061] «Локальный» декодер (433) может действовать таким же образом, как «удаленный» декодер (210), подробно описанный выше со ссылкой на фиг. 3. Однако, опять же, согласно фиг. 3, поскольку символы доступны, и кодирование/декодирование символов в кодированной видеопоследовательности энтропийным кодером (445) и анализатором (320) может осуществляться без потерь, части энтропийного декодирования декодера (210), включающие в себя канал (312), приемник (310), буфер (315) и анализатор (320), могут быть не полностью реализованы в локальном декодере (433).[0061] The "local" decoder (433) may operate in the same manner as the "remote" decoder (210) detailed above with reference to FIG. 3. However, again, referring to FIG. 3, since symbols are available and encoding/decoding of symbols in the encoded video sequence by the entropy encoder (445) and analyzer (320) can be lossless, the entropy decoding parts of the decoder (210), including the channel (312), the receiver (310), buffer (315) and parser (320) may not be fully implemented in the local decoder (433).

[0062] При этом можно сделать вывод, что любая технология декодирования, присутствующая в декодере, за исключением анализа/энтропийного декодирования, также обязательно должна присутствовать, по существу в идентичной функциональной форме в соответствующем кодере. По этой причине раскрытое изобретение сконцентрировано на работе декодера. Описание технологий кодирования может быть сокращено, поскольку они являются обратными подробно описанным технологиям декодирования. Только в некоторых областях требуется более детальное описание, которое приведено ниже.[0062] In doing so, it can be concluded that any decoding technology present in a decoder, with the exception of analysis/entropy decoding, must also be present, in essentially identical functional form, in the corresponding encoder. For this reason, the disclosed invention is focused on the operation of the decoder. The description of the encoding technologies can be abbreviated as they are the inverse of the decoding technologies described in detail. Only in some areas a more detailed description is required, which is given below.

[0063] В ходе работы кодер (430) источника может осуществлять кодирование с предсказанием и компенсацией движения, при котором входной кадр кодируется с предсказанием на основании одного или более ранее кодированных кадров из видеопоследовательности, указанных как «опорные кадры». Таким образом, машина (432) кодирования кодирует различия между пиксельными блоками входного кадра и пиксельными блоками опорного кадра(ов), которое(ые) может(ут) выбираться в качестве предсказанной(ых) ссылки(ок) на входной кадр.[0063] In operation, the source encoder (430) may perform motion-compensated predictive coding, in which an input frame is predictively encoded based on one or more previously encoded frames from the video sequence, referred to as "reference frames". Thus, the encoding engine (432) encodes the differences between the pixel blocks of the input frame and the pixel blocks of the reference frame(s) that can be selected as the predicted reference(s) to the input frame.

[0064] Локальный видеодекодер (433) может декодировать кодированные видеоданные кадров, которые могут быть указаны как опорные кадры основе символов, созданных исходным кодером (430). Операции машины (432) кодирования могут быть преимущественно процессами с потерями. Когда кодированные видеоданные могут декодироваться в видеодекодере (не показан на фиг.4), реконструированная видеопоследовательность обычно может представлять собой копию исходной видеопоследовательности с некоторыми ошибками. Локальный видеодекодер (433) дублирует процессы декодирования, которые могут осуществляться видеодекодером на опорных кадрах, и может предписывать сохранение реконструированных опорных кадров в кэш-памяти (434) опорных изображений. Таким образом, кодер (203) может локально сохранять копии реконструированных опорных кадров, имеющих такое же содержимое, как реконструированные опорные кадры, которые будут получены видеодекодером на стороне приемника (в отсутствие ошибок передачи).[0064] The local video decoder (433) may decode the encoded video data of the frames, which may be specified as reference frames, based on the symbols generated by the source encoder (430). The operations of the encoding engine (432) may be predominantly lossy processes. When the encoded video data can be decoded in a video decoder (not shown in FIG. 4), the reconstructed video sequence can typically be a copy of the original video sequence with some errors. The local video decoder (433) duplicates the decoding processes that may be performed by the video decoder on the reference frames and may cause the reconstructed reference frames to be stored in the reference picture cache (434). Thus, the encoder (203) can locally store copies of the reconstructed key frames having the same content as the reconstructed key frames that will be received by the video decoder at the receiver side (in the absence of transmission errors).

[0065] Предсказатель (435) может осуществлять поиски предсказания для машины (432) кодирования. Таким образом, для нового кадра, подлежащего кодированию, предсказатель (435) может искать в памяти (434) опорных изображений данные отсчетов (в качестве кандидатов на роль опорных пиксельных блоков) или те или иные метаданные, например, векторы движения опорного изображения, формы блоков и т.д., которые могут служить надлежащей ссылкой для предсказания новых изображений. Предсказатель (435) может работать на основе «блоки отсчетов □ пиксельные блоки» для нахождения надлежащих ссылок для предсказания. В ряде случаев, согласно результатам поиска, полученным предсказателем (435), входное изображение может иметь ссылки для предсказания, извлеченные из множества опорных изображений, хранящихся в памяти (434) опорных изображений.[0065] The predictor (435) may perform prediction searches for the encoding engine (432). Thus, for a new frame to be encoded, the predictor (435) can search the reference picture memory (434) for sample data (as candidates for the role of reference pixel blocks) or some metadata, for example, motion vectors of the reference picture, block shapes etc., which can serve as a proper reference for predicting new images. The predictor (435) may operate based on "sample blocks □ pixel blocks" to find proper references for prediction. In some cases, according to the search results obtained by the predictor (435), the input picture may have prediction references extracted from the plurality of reference pictures stored in the reference picture memory (434).

[0066] Контроллер (450) может управлять операциями кодирования видеокодера (430), включая, например, установление параметров и параметров подгруппы, используемых для кодирования видеоданных.[0066] The controller (450) may control the encoding operations of the video encoder (430), including, for example, setting parameters and subgroup parameters used to encode video data.

[0067] Выходной сигнал всех вышеупомянутых функциональных модулей может подвергаться энтропийному кодированию в энтропийном кодере (445). Энтропийный кодер переводит символы, сгенерированные различными функциональными модулями, в кодированную видеопоследовательность путем сжатия символов без потерь согласно технологиям, известным специалисту в этой области техники, например кодирования по Хаффману, кодирования с переменной длиной серии, арифметического кодирования и т.д.[0067] The output of all of the above functional modules may be entropy encoded in an entropy encoder (445). The entropy encoder translates symbols generated by various functional modules into an encoded video sequence by lossless symbol compression according to techniques known to one skilled in the art, such as Huffman coding, variable run length coding, arithmetic coding, and so on.

[0068] Передатчик (440) может буферизовать кодированную(ые) видеопоследовательность(и), созданную энтропийным кодером (445), для подготовки к передаче через канал (460) связи, который может быть аппаратной/программной линией связи с запоминающим устройством, где хранятся кодированные видеоданные. Передатчик (440) может объединять кодированные видеоданные от видеокодера (430) с другими данными, подлежащими передаче, например, кодированными аудиоданными и/или вспомогательными потоками данных (источники не показаны).[0068] The transmitter (440) may buffer the encoded video sequence(s) created by the entropy encoder (445) in preparation for transmission over a communication channel (460), which may be a hardware/software link to a storage device where encoded video data. The transmitter (440) may combine the encoded video data from the video encoder (430) with other data to be transmitted, such as encoded audio data and/or auxiliary data streams (sources not shown).

[0069] Контроллер (450) может управлять работой кодера (203). В ходе кодирования контроллер (450) может назначать каждому кодированному изображению тот или иной тип кодированного изображения, который может определять методы кодирования, применимые к соответствующему изображению. Например, изображениям часто могут назначаться следующие типы кадров:[0069] The controller (450) may control the operation of the encoder (203). During encoding, the controller (450) may assign to each encoded picture one or another encoded picture type, which may determine the encoding methods applicable to the corresponding picture. For example, images can often be assigned the following frame types:

[0070] Внутренне кодированное (интра-) изображение (I-изображение) может представлять собой изображение, которое может кодироваться и декодироваться без использования любого другого кадра в последовательности в качестве источника предсказания. Некоторые видеокодеки допускают разные типы интра-изображений, включая, например, изображения в формате независимого обновления декодера (IDR, Independent Decoder Refresh). Специалисту в данной области техники известны разновидности 1-изображений и их соответствующие варианты применения и особенности.[0070] An intra-coded (intra-) picture (I-picture) may be a picture that can be encoded and decoded without using any other frame in the sequence as a prediction source. Some video codecs allow different types of intra-pictures, including, for example, pictures in the Independent Decoder Refresh (IDR) format. One skilled in the art will be aware of the 1-image varieties and their respective uses and features.

[0071] Предсказанное изображение (Р-изображение), которое можно кодировать и декодировать с использованием внутреннего предсказания или внешнего предсказания с использованием не более одного вектора движения и опорного индекса для предсказания значений отсчетов каждого блока.[0071] A predicted picture (P-picture) that can be encoded and decoded using intra prediction or inter prediction using at most one motion vector and a reference index to predict sample values of each block.

[0072] Двунаправленно-предсказанное изображение (В-изображение), которое можно кодировать и декодировать с использованием внутреннего предсказания или внешнего предсказания с использованием не более двух векторов движения и опорных индексов для предсказания значений отсчетов каждого блока. Аналогично, мультипредсказанные изображения могут использовать более двух опорных изображений и связанные метаданные для реконструкции единого блока.[0072] A bi-directionally predicted picture (B-picture) that can be encoded and decoded using intra prediction or inter prediction using no more than two motion vectors and reference indices to predict sample values of each block. Likewise, multi-predicted pictures may use more than two reference pictures and associated metadata to reconstruct a single block.

[0073] Исходные изображения обычно допускают пространственное разделение на множество блоков отсчетов (например, блоки 4×4, 8×8, 4×8 или 16×16 отсчетов каждый) и кодирование на поблочной основе (блок за блоком). Блоки могут кодироваться предиктивно со ссылкой на другие (ранее кодированные) блоки, определенные назначением кодирования, применяемым к соответствующим изображениям этих блоков. Например, блоки I-изображений могут кодироваться без предсказания или с предсказанием со ссылкой на ранее кодированные блоки того же изображения (пространственным предсказанием или внутренним предсказанием). Блоки пикселей Р-изображений могут кодироваться без предсказания, с использованием пространственного предсказания или временного предсказания со ссылкой на одно предварительно кодированное ссылочное изображение. Блоки В-изображений могут кодироваться без предсказания посредством пространственного предсказания или временного предсказания со ссылкой на одно или два ранее кодированных опорных изображения.[0073] Source images typically allow for spatial division into multiple blocks of samples (eg, blocks of 4x4, 8x8, 4x8, or 16x16 samples each) and coding on a block-by-block basis. Blocks may be predictively encoded with reference to other (previously encoded) blocks determined by the coding assignment applied to the respective images of those blocks. For example, I-picture blocks may be encoded without prediction or predictively with reference to previously encoded blocks of the same picture (spatial prediction or intra prediction). Blocks of pixels of P-pictures may be encoded without prediction, using spatial prediction or temporal prediction with reference to one pre-coded reference picture. Blocks of B-pictures may be encoded without prediction by spatial prediction or temporal prediction with reference to one or two previously encoded reference pictures.

[0074] Видеокодер (203) может осуществлять операции кодирования согласно заранее заданной технологии или стандарту кодирования видео, например, ITU-T Rec. Н.265. В своей работе видеокодер (203) может осуществлять различные операции сжатия, в том числе операции предиктивного кодирования, которые используют временные и пространственные избыточности во входной видеопоследовательности. Поэтому кодированные видеоданные могут согласовываться с синтаксисом, заданным используемой технологией или стандартом кодирования видео.[0074] The video encoder (203) may perform encoding operations according to a predetermined video coding technology or standard, such as ITU-T Rec. H.265. In operation, the video encoder (203) may perform various compression operations, including predictive encoding operations that exploit temporal and spatial redundancies in the input video sequence. Therefore, the encoded video data may conform to the syntax given by the video coding technology or standard used.

[0075] Согласно варианту осуществления, передатчик (440) может передавать дополнительные данные с кодированным видео. Видеокодер (430) может включать такие данные как часть кодированной видеопоследовательности. Дополнительные данные могут включать в свой состав временные уровни/пространственные уровни/уровни улучшения SNR, другие виды избыточных данных, такие как избыточные изображения и слайсы, сообщения информации дополнительного улучшения (SEI, Supplementary Enhancement Information), фрагменты набора параметров применимости визуальной информации (VUI, Visual Usability Information) и т.д.[0075] According to an embodiment, the transmitter (440) may transmit additional data with encoded video. Video encoder (430) may include such data as part of an encoded video sequence. Supplementary data may include temporal/spatial/SNR enhancement levels, other types of redundant data such as redundant images and slices, Supplementary Enhancement Information (SEI) messages, visual information applicability parameter set (VUI, Visual Usability Information), etc.

[0076] Перед более подробным описанием определенных аспектов раскрытого изобретения необходимо ввести несколько терминов, на которые будут выполняться ссылки в оставшейся части этого описания.[0076] Before a more detailed description of certain aspects of the disclosed invention, it is necessary to introduce several terms that will be referred to in the remainder of this description.

[0077] Далее субизображение относится, в некоторых случаях, к прямоугольной компоновке отсчетов, блоков, макроблоков, блоков кодирования или подобных объектов, которые семантически сгруппированы и которые могут независимо кодироваться с измененным разрешением. Одно или более субизображений могут формировать изображение. Одно или более кодированных субизображений могут формировать кодированное изображение. Одно или более субизображений может быть объединено в изображение, и одно или более субизображений может быть извлечено из изображения. В определенных средах одно или более кодированных субизображений может быть объединено в сжатой области без перекодирования до уровня отсчетов в кодированное изображение, и в тех же или в других определенных случаях одно или более кодированных субизображений может быть извлечено из кодированного изображения в сжатой области.[0077] Further, a sub-image refers, in some cases, to a rectangular arrangement of samples, blocks, macroblocks, coding blocks, or the like, which are semantically grouped and which can be independently encoded with a changed resolution. One or more sub-images may form an image. One or more encoded sub-images may form an encoded image. One or more sub-images may be combined into an image, and one or more sub-images may be extracted from the image. In certain environments, one or more encoded sub-images may be combined in the compressed region without being re-coded to the sample level in the encoded picture, and in the same or in certain other cases, one or more encoded sub-images may be extracted from the encoded image in the compressed region.

[0078] Далее, адаптивное изменение разрешения (ARC, Adaptive Resolution Change) относится к механизмам, которые позволяют изменять разрешение изображения или субизображения в кодированной видеопоследовательности, например, посредством передискретизации опорного изображения. Далее параметры ARC относятся к управляющей информации, требующейся для выполнения адаптивного изменения разрешения, которая может включать в себя, например, параметры фильтров, коэффициенты масштабирования, разрешения выходных и/или опорных изображений, различные флаги управления и т.д.[0078] Further, adaptive resolution change (ARC, Adaptive Resolution Change) refers to mechanisms that allow changing the resolution of an image or sub-image in an encoded video sequence, for example, by resampling a reference image. In the following, ARC parameters refer to control information required to perform adaptive resolution change, which may include, for example, filter parameters, scaling factors, output and/or reference picture resolutions, various control flags, and so on.

[0079] Описание, приведенное выше, ориентировано на кодировании и декодировании одиночного семантически независимого кодированного видеоизображения. Перед описанием реализации кодирования/декодирования множества субизображений с независимыми параметрами ARC и подразумеваемого дополнительного усложнения рабочего процесса должны быть описаны варианты сигнализации параметров ARC.[0079] The description above is focused on encoding and decoding a single semantically independent encoded video image. Before describing the implementation of encoding/decoding of multiple sub-images with independent ARC parameters and the implied additional complication of the workflow, options for signaling ARC parameters should be described.

[0080] На фиг. 5 показано несколько новых опций сигнализации параметров ARC. Необходимо отметить, что каждая из опций имеет определенные преимущества и недостатки с точки зрения эффективности кодирования, сложности и архитектуры. В стандарте или в технологии кодирования видео для сигнализации параметров ARC может быть выбрана одна или более этих опций или опций, известных из предшествующего уровня техники. Параметры могут не быть взаимоисключающими и предположительно могут меняться местами в зависимости от требований применения, используемых стандартов или выбора кодера.[0080] FIG. Figure 5 shows several new ARC parameter signaling options. It should be noted that each of the options has certain advantages and disadvantages in terms of coding efficiency, complexity and architecture. In a video coding standard or technology, one or more of these options, or options known in the art, may be selected to signal the ARC parameters. The parameters may not be mutually exclusive and are expected to be interchanged depending on application requirements, standards used, or choice of encoder.

[0081] Классы параметров ARC могут включать:[0081] ARC parameter classes may include:

[0082] - коэффициенты повышающей и/или понижающей дискретизации, отдельные или объединенные в измерениях X и Y;[0082] - upsampling and/or downsampling coefficients, separate or combined in the X and Y dimensions;

[0083] - коэффициенты повышающей и/или понижающей дискретизации с добавлением временного измерения, указывающего увеличение/уменьшение масштаба с постоянной скоростью для заданного количества изображений;[0083] - upsampling and/or downsampling coefficients with the addition of a temporal dimension indicating zooming in/out at a constant rate for a given number of images;

[0084] - любой из указанных выше двух пунктов может инициировать кодирование одного или более предположительно коротких элементов синтаксиса, которые могут указывать на таблицу, содержащую коэффициенты);[0084] - any of the above two items may trigger the encoding of one or more supposedly short syntax elements that may point to a table containing coefficients);

[0085] - разрешение, по измерению X или Y, в единицах отсчетов, блоков, макроблоков, CU или в любой другой подходящей степени детализации входного изображения, выходного изображения, опорного изображения, кодированного изображения, объединенного или отдельного. Если имеется более одного разрешения (например, одно для входного изображения, и одно для опорного изображения), в некоторых случаях один набор значений может быть выведен из другого набора значений. Управление этим может выполняться, например, с помощью флагов. Более подробный пример см. ниже.[0085] is the resolution, in terms of X or Y, in units of samples, blocks, macroblocks, CUs, or any other suitable granularity of the input picture, output picture, reference picture, coded picture, merged or separate. If there is more than one resolution (eg, one for the input image and one for the reference image), in some cases one set of values may be derived from another set of values. This can be controlled, for example, using flags. See below for a more detailed example.

[0086] - Координаты «деформирования», подобные используемым в приложении Р стандарта Н.263, опять же с подходящей степенью детализации, как описано выше. В приложении Р стандарта Н.263 определяется один эффективный способ кодирования таких координат деформирования, но, возможно, также разрабатываются другие, потенциально более эффективные способы. Например, реверсивное кодирование с переменной длиной, в стиле Хаффмана, координат деформирования согласно приложению Р может быть заменено двоичным кодированием с подходящей длиной, где длина двоичного кодового слова может быть, например, определена на основе максимального размера изображения, возможно умноженного на определенный коэффициент и смещенного на определенное значение, чтобы учесть «деформирование» за пределами границ максимального размера изображения.[0086] - "Warp" coordinates similar to those used in Annex P of the H.263 standard, again with the appropriate granularity as described above. Annex P of the H.263 standard defines one efficient way to encode such warp coordinates, but other potentially more efficient ways may also be developed. For example, the reverse Huffman-style variable-length encoding of Annex P warp coordinates may be replaced by a suitable length binary encoding, where the length of the binary codeword may, for example, be determined based on the maximum image size, possibly multiplied by a certain factor and offset by a certain value to account for "warping" beyond the limits of the maximum image size.

[0087] - Параметры фильтров повышающей или понижающей дискретизации. В самом простом случае может использоваться только один фильтр для повышающей и/или понижающей дискретизации. Однако в некоторых случаях предпочтительнее может быть обеспечение большей гибкости в конструкции фильтра, для этого может потребоваться сигнализация параметров фильтра. Такие параметры могут быть выбраны с помощью индекса в списке возможных конструкций фильтров, фильтр может быть полностью определен (например, с помощью списка коэффициентов фильтра с использованием подходящих методов энтропийного кодирования), фильтр может быть неявно выбран с помощью соотношений повышающей и/или понижающей дискретизации в соответствии с которыми, в свою очередь, выполняется сигнализация в соответствии с любым из упомянутых выше механизмов и т.д.[0087] - Upsampling or downsampling filter parameters. In the simplest case, only one upsampling and/or downsampling filter can be used. However, in some cases it may be preferable to provide more flexibility in the design of the filter, this may require the signaling of the filter parameters. Such parameters may be selected by an index into a list of possible filter designs, a filter may be fully specified (e.g., by a list of filter coefficients using suitable entropy coding techniques), a filter may be implicitly selected by upsampling and/or downsampling relationships in which, in turn, are signaled according to any of the mechanisms mentioned above, and so on.

[0088] В дальнейшем описании предполагается кодирование конечного набора коэффициентов повышающей и/или понижающей дискретизации (тот же коэффициент, который должен использоваться как в измерении X, так и в измерении Y), указанных с помощью кодового слова. Для этого кодового слова преимущественно используется кодирование с переменной длиной, например, с использованием экспоненциального кода Голомба, общего для определенных элементов синтаксиса в спецификациях кодирования видео, таких как Н.264 и Н.265. Одно подходящее сопоставление значений коэффициентам повышающей и/или понижающей дискретизации может, например, соответствовать следующей таблице:[0088] The following description assumes encoding a finite set of upsampling and/or downsampling coefficients (the same coefficient to be used in both the X dimension and the Y dimension) indicated by a codeword. For this codeword, variable length encoding is advantageously used, such as using exponential Golomb code common to certain syntax elements in video coding specifications such as H.264 and H.265. One suitable mapping of values to upsampling and/or downsampling coefficients may, for example, correspond to the following table:

Figure 00000001
Figure 00000001

[0089] Многие аналогичные отображения могут быть разработаны в соответствии с требованиями применения и возможностями механизмов увеличения и уменьшения дискретизации, доступных в технологии или стандарте сжатия видео. Эта таблица может содержать большее количество значений. Значения также могут быть представлены механизмами энтропийного кодирования, отличными от экспоненциальных кодов Голомба, например, с использованием двоичного кодирования. Это может иметь определенные преимущества, когда коэффициенты передискретизации представляют интерес за пределами самих механизмов обработки видео (прежде всего кодера и декодера), например, с помощью MANE. Необходимо отметить, что для (предположительно) наиболее распространенного случая, когда изменение разрешения не требуется, можно выбрать короткий экспоненциальный код Голомба; в таблице выше это только один бит.Это может иметь преимущество по эффективности кодирования по сравнению с использованием двоичных кодов для наиболее распространенного случая.[0089] Many similar mappings can be designed in accordance with the requirements of the application and the capabilities of the upsampling and downsampling mechanisms available in the video compression technology or standard. This table can contain more values. Values may also be represented by entropy encoding mechanisms other than Exponential Golomb codes, such as using binary encoding. This can have certain advantages when the oversampling factors are of interest outside of the video processing engines themselves (primarily the encoder and decoder), such as with MANE. It should be noted that for the (presumably) most common case where no resolution change is required, a short exponential Golomb code can be chosen; in the table above it is only one bit. This may have an advantage in coding efficiency over using binary codes for the most common case.

[0090] Количество записей в таблице, а также их семантика могут быть полностью или частично конфигурируемыми. Например, основная структура таблицы может быть передана в наборе параметров «высокого» уровня, таком как последовательность или набор параметров декодера. В альтернативном варианте или дополнительно одна или более таких таблиц могут быть определены в методе или стандарте видеокодирования и могут быть выбраны, например, с помощью декодера или набора параметров последовательности.[0090] The number of entries in the table, as well as their semantics, can be fully or partially configurable. For example, the basic table structure may be conveyed in a "high" level parameter set, such as a sequence or a decoder parameter set. Alternatively, or additionally, one or more such tables may be defined in a video coding method or standard and may be selected, for example, by a decoder or sequence parameter set.

[0091] Ниже описывается, как коэффициент повышающей и/или понижающей дискретизации (информация ARC), кодированный согласно описанию выше, может быть включен в синтаксис метода или стандарта кодирования видео. Подобные соображения могут применяться к одному или более кодовым словам, управляющим фильтрами повышающей и/или понижающей дискретизации. См. ниже обсуждение случая, когда для фильтра или других структур данных требуются сравнительно большие объемы данных.[0091] The following describes how the upsampling and/or downsampling ratio (ARC information) encoded as described above can be included in the syntax of a video coding method or standard. Similar considerations may apply to one or more codewords driving upsampling and/or downsampling filters. See below for a discussion of the case where a filter or other data structure requires relatively large amounts of data.

[0092] Приложение Р стандарта Н.263 включает в себя информацию (502) ARC в форме четырех координат деформирования в заголовке (501) изображения, в частности, в расширении заголовка Н.263 PLUSPTYPE (503). Это может быть разумным выбором конструкции, когда а) имеется доступный заголовок изображения и б) ожидаются частые изменения информации ARC. Однако объем данных при использовании сигнализации в стиле Н.263 может быть довольно большим, и коэффициенты масштабирования могут не относиться к границам изображения, поскольку заголовок изображения может иметь временный характер.[0092] H.263 Annex P includes ARC information (502) in the form of four warp coordinates in the image header (501), specifically in the H.263 PLUSPTYPE header extension (503). This may be a reasonable design choice when a) there is an image header available and b) frequent changes to the ARC information are expected. However, the amount of data when using H.263-style signaling can be quite large, and the scaling factors may not refer to picture boundaries because the picture header may be temporary.

[0093] JVCET-M135-vl, процитированный выше, включает в себя ссылочную информацию (505) ARC (индекс), находящуюся в наборе (504) параметров изображения, индексацию таблицы (506), включая целевые разрешения, которая, в свою очередь, находится внутри набора (507) параметров последовательности. Размещение возможного разрешения в таблице (506) в наборе (507) параметров последовательности может, по устным заявлениям авторов, быть оправдано использованием SPS в качестве точки согласования совместимости во время обмена возможностями. Разрешение может изменяться в пределах, установленных значениями в таблице (506), от изображения к изображению путем обращения к соответствующему набору (504) параметров изображения.[0093] The JVCET-M135-vl cited above includes the ARC (index) reference information (505) found in the image parameter set (504), table indexing (506) including target resolutions, which in turn is within the set (507) of sequence parameters. Placing a possible resolution in a table (506) in a set (507) of sequence parameters can, according to the oral statements of the authors, be justified by using the SPS as a compatibility negotiation point during capability exchange. The resolution can be changed within the limits set by the values in the table (506) from image to image by referring to the corresponding set (504) of image parameters.

[0094] Согласно фиг. 5 могут существовать следующие дополнительные опции для передачи информации ARC в битовом потоке видео. Каждая из этих опций имеет определенные преимущества по сравнению с существующим уровнем техники, как описано выше. Эти опции могут быть одновременно представлены в одном и том же методе или стандарте кодирования видео.[0094] Referring to FIG. 5, the following additional options may exist for transmitting ARC information in the video bitstream. Each of these options has certain advantages over the prior art, as described above. These options may be simultaneously present in the same video coding method or standard.

[0095] Согласно варианту осуществления, информация (509) ARC, такая как коэффициент передискретизации (масштабирования), может быть представлен в заголовке слайса, в заголовке GOB, в заголовке тайла или в заголовке группы тайлов (далее «заголовок группы тайлов) (508). Этого может быть достаточно для информации ARC небольшого размера, такой как одиночное кодовое слово переменной длины ue(v) или кодовое слово фиксированной длины из нескольких битов, например, как показано выше. Наличие информации ARC в заголовке группы тайлов само по себе является дополнительным преимуществом, поскольку информация ARC может применяться к тому или иному субизображению, представленному, например, этой группой тайлов, а не ко всему изображению. См. также ниже. Кроме того, даже если метод или стандарт сжатия видео предусматривает адаптивное изменение разрешения только всего изображения (в отличие, например, от адаптивных изменений разрешения на основе группы тайлов), размещение информации ARC в заголовке группы тайлов вместо помещения ее в заголовок изображения в стиле Н.263 имеет определенные преимущества с точки зрения устойчивости к ошибкам.[0095] According to an embodiment, ARC information (509) such as a resampling (scaling) factor may be represented in a slice header, a GOB header, a tile header, or a tile group header (hereinafter referred to as "tile group header) (508) . This may be sufficient for small size ARC information such as a single variable length codeword ue(v) or a fixed length codeword of several bits, such as shown above. The presence of ARC information in the header of a tile group is in itself an additional advantage, since the ARC information can be applied to one or another sub-image represented, for example, by this tile group, and not to the entire image. See also below. In addition, even if a video compression method or standard provides for adaptive resizing of only the entire image (as opposed to, for example, adaptive resizing based on a group of tiles), placing the ARC information in the tile group header instead of placing it in the H. 263 has certain advantages in terms of error tolerance.

[0096] Согласно этому же или другому варианту осуществления, сама информация (512) ARC может быть представлена в соответствующем наборе (511) параметров, например в наборе параметров изображения, наборе параметров заголовков, наборе параметров тайлов, наборе параметров адаптации и т.д. (показан набор параметров адаптации). Объем этого набора параметров не может быть больше, чем изображение, например группа тайлов. Использование информации ARC в неявном виде осуществляется путем активации соответствующего набора параметров. Например, когда в методе или стандарте кодирования видео рассматривается только ARC на основе изображения, может использоваться набор параметров изображения, либо эквивалент.[0096] According to the same or another embodiment, the ARC information (512) itself may be represented in a corresponding parameter set (511), such as an image parameter set, a header parameter set, a tile parameter set, an adaptation parameter set, etc. (a set of adaptation parameters is shown). The volume of this set of parameters cannot be larger than the image, for example, a group of tiles. The use of ARC information in an implicit form is carried out by activating the corresponding set of parameters. For example, when only image-based ARC is considered in a video coding method or standard, an image parameter set or equivalent may be used.

[0097] Согласно этому же или другому варианту осуществления, ссылочная информация (513) ARC может быть представлена в заголовке (514) группы тайлов или в аналогичной структуре данных. Эта ссылочная информация (513) может относиться к подмножеству информации (515) ARC, доступной в наборе (516) параметров с объемом, выходящим за рамки одного изображения, например, набор параметров последовательности или набор параметров декодера.[0097] According to the same or another embodiment, the ARC reference information (513) may be represented in a tile group header (514) or a similar data structure. This reference information (513) may refer to a subset of the ARC information (515) available in a parameter set (516) with a scope larger than a single picture, such as a sequence parameter set or a decoder parameter set.

[0098] Дополнительный уровень непрямого обращения, подразумевающего активацию PPS из заголовка группы тайлов, PPS, SPS, как это используется в JVET-M0135-vl, является ненужным, поскольку наборы параметров изображения, как и наборы параметров последовательности, могут (и имеются в некоторых стандарты, таких как RFC3984) использоваться для согласования возможностей или уведомлений. Однако, если информация ARC должна быть применена к субизображению, представленному, например, также группами тайлов, то набор параметров с областью активации, ограниченной группой тайлов, такой как набор параметров адаптации или набор параметров заголовков, может быть наилучшим выбором. Кроме того, если информация ARC имеет очень маленький размер - например, содержит информацию управления фильтрами, такую как различные коэффициенты фильтров - тогда параметр может быть лучшим выбором, чем использование заголовка (508) непосредственно с точки зрения эффективности кодирования, поскольку эти установки могут быть повторно использованы в будущих изображениях или субизображениях с помощью ссылки на этот же набор параметров.[0098] The additional level of indirection implying the activation of PPS from the tile group header, PPS, SPS, as used in JVET-M0135-vl, is unnecessary, since image parameter sets, like sequence parameter sets, can (and are available in some standards such as RFC3984) be used to negotiate capabilities or notifications. However, if the ARC information is to be applied to a sub-image represented, for example, also by tile groups, then a parameter set with an activation area limited by the tile group, such as an adaptation parameter set or a header parameter set, may be the best choice. Also, if the ARC information is of very small size - for example, contains filter management information such as different filter coefficients - then the parameter may be a better choice than using the (508) header directly from a coding gain point of view, since these settings can be reused. used in future images or subimages by referring to the same set of parameters.

[0099] При использовании набора параметров последовательности или другого набора параметров более высокого уровня с областью действия, охватывающей несколько изображений, могут применяться определенные соображения:[0099] When using a sequence parameter set or other higher level parameter set with a scope spanning multiple images, certain considerations may apply:

[0100] 1. Набор параметров для сохранения таблицы (516) с информацией ARC в некоторых случаях может быть набором параметров последовательности, но в других случаях - предпочтительно набором параметров декодера. Набор параметров декодера может иметь область активации нескольких CVS, а именно кодированного видеопотока - то есть, всех битов кодированного видео от начала до прерывания сеанса. Такой объем может быть более подходящим, потому что возможные коэффициенты ARC могут быть функцией декодера, возможно реализованной аппаратными средствами, а аппаратные функции, как правило, не изменяются при кодировании видеопоследовательности (которая, по меньшей мере в некоторых развлекательных системах, представляет собой группу изображений длительностью в одну секунду или менее). Тем не менее, включение таблицы в набор параметров последовательности в явном виде включено в описанные здесь варианты размещения, в частности вместе с пунктом 2 ниже.[0100] 1. The parameter set for storing the ARC information table (516) may be a sequence parameter set in some cases, but preferably a decoder parameter set in other cases. A decoder parameter set may have an activation area of several CVSs, namely the encoded video stream - that is, all bits of the encoded video from start to session interruption. This amount may be more appropriate because the possible ARC coefficients may be a function of the decoder, possibly implemented in hardware, and the hardware functions are generally not changed when encoding a video sequence (which, at least in some entertainment systems, is a group of pictures of duration one second or less). However, the inclusion of a table in a sequence parameter set is explicitly included in the placement options described here, specifically in conjunction with item 2 below.

[0101] 2. Ссылочная информация (513) ARC может быть предпочтительно помещена непосредственно в заголовок (514) изображения/тайла слайса/GOB/rpynnbi тайлов (далее «заголовок группы тайлов»), а не в набор параметров изображения, как в JVCET-M0135-vl. Причина заключается в следующем: когда кодировщику требуется изменить одно значение в наборе параметров изображения, например ссылочную информацию ARC, он должен создать новый PPS и ссылаться на этот новый PPS. Предположим, что изменяется только ссылочная информация ARC, а другая информация, например информация матрицы квантования в PPS, сохраняется. Такая информация может иметь значительный размер, и ее необходимо будет повторно передать для формирования нового PPS. Поскольку в качестве ссылочной информации ARC может использоваться одно кодовое слово, например индекс в таблице (513), и оно может быть единственным изменяемым значением, было бы излишне и неэкономно повторно передавать всю, например, информацию матрицы квантования. В учетом этого, с точки зрения эффективности кодирования может быть значительно лучше избежать непрямого обращения через PPS, как предлагается в JVET-M0135-vl. Таким же образом, ввод ссылочной информации ARC в PPS имеет дополнительный недостаток, заключающийся в том, что информация ARC, на которую указывает ссылочная информация ARC (513), обязательно должна применяться ко всему изображению, а не к тому или иному субизображению, поскольку набор параметров изображения активируется для всего изображения.[0101] 2. The ARC reference information (513) may preferably be placed directly in the slice/GOB/rpynnbi image/tile header (514) of tiles (hereinafter "tile group header") rather than in the image parameter set as in JVCET- M0135-vl. The reason is that when an encoder needs to change one value in a set of image parameters, such as ARC reference information, it must create a new PPS and refer to this new PPS. Assume that only the ARC reference information is changed and other information, such as the quantization matrix information in PPS, is kept. Such information may be of considerable size and will need to be retransmitted to form a new PPS. Since a single codeword, such as an index in a table (513), may be used as the ARC reference information, and may be the only changeable value, it would be redundant and uneconomical to retransmit all, such as the quantization matrix information. With this in mind, from a coding efficiency point of view, it may be much better to avoid indirection via PPS, as proposed in JVET-M0135-vl. In the same way, inputting the ARC reference information in the PPS has the additional disadvantage that the ARC information pointed to by the ARC reference information (513) must necessarily be applied to the entire picture, and not to a particular sub-picture, because the set of parameters image is activated for the entire image.

[0102] Согласно этому же или другому варианту осуществления, сигнализация параметров ARC может выполняться согласно подробному примеру, как показано на фиг. 6. На фиг. 6 показаны синтаксические диаграммы в представлении, используемом в стандартах кодирования видео по меньшей мере с 1993 г. Обозначения таких синтаксических диаграмм примерно соответствуют программированию в С-стиле. «Жирные» линии указывают элементы синтаксиса в битовом потоке, а «нежирные» линии, как правило, указывают поток управления или установку переменных.[0102] According to the same or another embodiment, ARC parameter signaling may be performed according to a detailed example as shown in FIG. 6. In FIG. 6 shows syntax diagrams in the representation used in video coding standards since at least 1993. The designations of such syntax diagrams roughly correspond to C-style programming. "Bold" lines indicate syntax elements in the bitstream, while "non-bold" lines generally indicate control flow or variable setting.

[0103] Заголовок (601) группы тайлов в качестве примера синтаксической структуры заголовка, применяемой к (возможно, прямоугольной) части изображения, может при определенных условиях содержать кодированный с помощью экспоненциального кода Голомба элемент синтаксиса переменной длины dec_pic_size_idx (602) (показан жирным шрифтом). Наличие этого элемента синтаксиса в заголовке группы тайлов может быть ограничено использованием адаптивного разрешения (603) - здесь значение флага не выделено жирным шрифтом, что означает, что этот флаг представлен в битовом потоке в той точке, где он встречается на синтаксической диаграмме. Информация о том, используется ли адаптивное разрешение для этого изображения или его частей, может быть передана в любой синтаксической структуре высокого уровня внутри или вне битового потока. В показанном примере это передается в наборе параметров последовательности, как показано ниже.[0103] A tile group header (601) as an example of a header syntax structure applied to a (possibly rectangular) portion of an image may, under certain conditions, contain an exponential Golomb encoded variable length syntax element dec_pic_size_idx (602) (shown in bold) . The presence of this syntax element in a tilegroup header can be limited by using adaptive resolution (603) - here the flag value is not in bold, which means that this flag is present in the bitstream at the point where it occurs in the syntax diagram. Information about whether adaptive resolution is used for this image or parts of it can be conveyed in any high-level syntactic structure inside or outside the bitstream. In the example shown, this is passed in a sequence parameter set, as shown below.

[0104] На фиг. 6 также показана выборка из набора (610) параметров последовательности. Первый показанный элемент синтаксиса - adaptive_pic_resolution_change_flag (611). Этот флаг может указывать на использование адаптивного разрешения, для чего, в свою очередь, может требоваться определенная управляющая информация. В примере указание такой управляющей информации определяется значением этого флага на основе оператора if() [если ()] в наборе (612) параметров и в заголовке (601) группы тайлов. [0104] In FIG. 6 also shows a selection from the set (610) of sequence parameters. The first syntax element shown is adaptive_pic_resolution_change_flag (611). This flag may indicate the use of an adaptive resolution, which in turn may require certain control information. In the example, the indication of such control information is determined by the value of this flag based on the if () [if ()] statement in the parameter set (612) and in the tile group header (601).

[0105] Когда используется адаптивное разрешение, в этом примере выходное разрешение кодируется в единицах отсчетов (613). Числовое значение (613) относится к элементу синтаксиса output_pic_width_in_luma_samples, и к элементу синтаксиса output_pic_height_in_luma_samples, которые вместе могут определять разрешение выходного изображения. В другом месте в методе или стандарте кодирования видео могут быть определены определенные ограничения для любого значения. Например, определение уровня может ограничивать количество общих выходных отсчетов, которые могут быть произведением значений этих двух элементов синтаксиса. Кроме того, определенные методы или стандарты кодирования видео, или внешние методы или стандарты, такие как, например, системные стандарты, могут ограничивать диапазон нумерации (например, одно или оба измерения должны делиться на степень числа 2) или формат изображения (например, ширина и высота должны иметь отношение 4:3 или 16:9). Такие ограничения могут быть введены для облегчения аппаратных реализаций, либо по другим причинам, которые будут понятны специалисту в этой области техники.[0105] When adaptive resolution is used, in this example, the output resolution is encoded in units of samples (613). The numeric value (613) refers to the output_pic_width_in_luma_samples syntax element, and the output_pic_height_in_luma_samples syntax element, which together can define the resolution of the output image. Elsewhere in a video coding method or standard, certain restrictions may be defined for any value. For example, the level definition may limit the number of total output samples that can be the product of the values of these two syntax elements. In addition, certain video coding methods or standards, or external methods or standards such as, for example, system standards, may restrict the numbering range (for example, one or both dimensions must be divisible by a power of 2) or image format (for example, width and height must have a ratio of 4:3 or 16:9). Such restrictions may be introduced to facilitate hardware implementations, or for other reasons that will be understood by a person skilled in the art.

[0106] В некоторых вариантах применения может быть целесообразно, чтобы кодер выдавал декодеру указание на использование определенного размера опорного изображения, а не предполагать, что этот размер является размером выходного изображения. В этом примере элемент синтаксиса reference_pic_size_presentflag (614) блокирует условное присутствие размеров (615) опорного изображения (опять же, числовое значение относится и к ширине, и к высоте).[0106] In some applications, it may be desirable for the encoder to instruct the decoder to use a specific reference picture size, rather than assuming that this size is the size of the output picture. In this example, the reference_pic_size_presentflag (614) syntax element disables the conditional presence of the reference picture sizes (615) (again, the numeric value refers to both width and height).

[0107] В заключение показана таблица возможной ширины и высоты изображения для декодирования. Такая таблица может быть выражена, например, указанием таблицы (num_dec_pic_size_in_luma_samples_minus1) (616). Оператор «minus1» может относиться к интерпретации значения этого элемента синтаксиса. Например, если кодированное значение равно нулю, то в таблице имеется одна запись. Если значение равно пяти, то в таблице имеется шесть записей. Для каждой «строки» в таблице ширина и высота декодированного изображения включаются в синтаксис (617).[0107] Finally, a table of possible image width and height for decoding is shown. Such a table may be expressed, for example, by specifying a table (num_dec_pic_size_in_luma_samples_minus1) (616). The "minus1" operator can refer to the interpretation of the meaning of this syntax element. For example, if the encoded value is zero, then there is one entry in the table. If the value is five, then there are six entries in the table. For each "row" in the table, the width and height of the decoded picture are included in the syntax (617).

[0108] Представленные записи (617) в таблице могут быть индексированы с использованием элемента синтаксиса dec_pic_size_idx (602) в заголовке группы тайлов, что разрешает различные декодированные размеры - в сущности, коэффициенты масштабирования - для каждой группы тайлов.[0108] Represented entries (617) in the table can be indexed using the dec_pic_size_idx (602) syntax element in the tile group header, which allows for different decoded sizes - essentially scaling factors - for each tile group.

[0109] Определенные методы или стандарты кодирования видео, например VP9, поддерживают пространственную масштабируемость путем реализации определенных форм передискретизации опорных изображений (реализуется совершенно иначе, чем раскрытое изобретение) в сочетании с временной масштабируемостью для обеспечения пространственной масштабируемости. В частности, для некоторых опорных изображений может выполняться повышающая дискретизация с использованием методов ARC-стиля с более высоким разрешением для формирования основы уровня пространственного улучшения. Эти изображения, для которых выполнена повышающая дискретизация, можно улучшить, используя обычные механизмы прогнозирования с высоким разрешением для добавления деталей.[0109] Certain video coding techniques or standards, such as VP9, support spatial scalability by implementing certain forms of reference picture resampling (implemented quite differently from the disclosed invention) in combination with temporal scalability to provide spatial scalability. In particular, some reference pictures may be upsampled using higher resolution ARC-style techniques to form the basis of the spatial enhancement layer. These upsampled images can be enhanced using conventional high resolution prediction engines to add detail.

[ОНО] Раскрытое изобретение может использоваться в такой среде. В некоторых случаях, в том же или в другом варианте осуществления, значение в заголовке блока NAL, например поле временного идентификатора, может использоваться для указания не только временного, но и пространственного уровня. Это дает определенные преимущества для определенных систем; например, существующие выбранные блоки для пересылки (SFU, Selected Forwarding Unit), созданные и оптимизированные для пересылки, выбранной на временном уровне на основе значения временного идентификатора заголовка блока NAL, могут использоваться без модификации для масштабируемых сред. Чтобы сделать это возможным, может существовать требование для соответствия между размером кодированного изображения и временным уровнем, указываемым полем временного идентификатора в заголовке блока NAL.[IT] The disclosed invention can be used in such an environment. In some cases, in the same or in another embodiment, a value in the NAL unit header, such as a temporal identifier field, may be used to indicate not only the temporal but also the spatial level. This provides certain advantages for certain systems; for example, existing Selected Forwarding Units (SFUs) created and optimized for forwarding selected at the temporal level based on the NAL Header Temporal Identifier value can be used without modification for scalable environments. To make this possible, there may be a requirement for a match between the encoded picture size and the temporal level indicated by the temporal identifier field in the NAL unit header.

[0111] В некоторых методах кодирования видео, блок доступа (AU, Access Unit) может относиться к кодированному изображению(ям), слайсу(ам), тайлу(ам), блоку(ам) NAL и т.д., которые были захвачены и введены в соответствующий битовый поток изображений/слайсов/тайлов/блоков NAL в указанный момент времени. Таким моментом времени может быть время композиции.[0111] In some video coding techniques, an Access Unit (AU) may refer to the encoded image(s), slice(s), tile(s), NAL unit(s), etc. that have been captured and inserted into the corresponding bitstream of images/slices/tiles/NAL units at the specified point in time. Such point in time can be composition time.

[0112] Согласно HEVC и некоторым другим методам кодирования видео значение порядкового номера изображения (РОС, Picture Order Count) может использоваться для указания выбранного опорного изображения из множества опорных изображений, хранящихся в буфере декодированных изображений (DPB, Decoded Picture Buffer). Когда блок доступа (AU, Access Unit) содержит одно или более изображений, слайсов или тайлов, каждое изображение, слайс или тайл, относящиеся к одному и тому же AU, могут переносить одно и то же значение РОС, по которому можно сделать вывод, что они были созданы из контента с одним и тем же временем композиции. Другими словами, в сценарии, где два изображения/слайса/тайла переносят одно и то же указанное значение РОС, это может указывать на то, что эти два изображения/слайса/тайла относятся к одному и тому же AU и имеют одно и то же время композиции. И наоборот, два изображения/слайса/тайла с разными значениями РОС могут указывать изображения/слайсы/тайлы, относящиеся к разным AU и имеющие разное время композиции.[0112] According to HEVC and some other video coding techniques, a Picture Order Count (POC) value can be used to indicate a selected reference picture from a plurality of reference pictures stored in a Decoded Picture Buffer (DPB). When an access unit (AU, Access Unit) contains one or more images, slices or tiles, each image, slice or tile belonging to the same AU can carry the same POC value, from which it can be concluded that they were created from content with the same composition time. In other words, in a scenario where two images/slices/tiles carry the same specified POC value, this may indicate that the two images/slices/tiles belong to the same AU and have the same time. compositions. Conversely, two images/slices/tiles with different POC values may indicate images/slices/tiles belonging to different AUs and having different composition times.

[0113] Согласно варианту осуществления раскрытого изобретения вышеупомянутая жесткая взаимосвязь может быть смягчена, поскольку блок доступа может содержать изображения, слайсы и тайлы с разными значениями РОС.Допуская различные значения РОС в рамках одной AU, становится возможным использование значения РОС для идентификации потенциально независимо декодируемых изображений/слайсов/тайлов с идентичным временем представления. Это, в свою очередь, может обеспечить поддержку множества масштабируемых уровней без изменения сигнализации выбора опорного изображения (например, сигнализации набора опорных изображений или сигнализации списка опорных изображений), как более подробно описано ниже.[0113] According to an embodiment of the disclosed invention, the aforementioned rigid relationship can be mitigated because the access block can contain pictures, slices, and tiles with different POC values. By allowing different POC values within the same AU, it becomes possible to use the POC value to identify potentially independently decodable pictures. /slices/tiles with identical presentation times. This, in turn, can support multiple scalable levels without changing the reference picture selection signaling (eg, reference picture set signaling or reference picture list signaling), as described in more detail below.

[0114] Однако все еще желательно иметь возможность идентификации AU, к которой относится изображение/слайс/тайл, относительно других изображений/слайсов/тайлов с другим значением РОС только на основе значения РОС.Этого можно добиться в соответствии с описанием.[0114] However, it is still desirable to be able to identify the AU to which an image/slice/tile belongs relative to other images/slices/tiles with a different POC value based on the POC value alone. This can be achieved as described.

[0115] Согласно этому же или другим вариантам осуществления номер блока доступа (AUC, Access Unit Count) может передаваться в синтаксической структуре высокого уровня, такой как заголовок блока NAL, заголовок слайса, заголовок группы тайлов, сообщение SEI, набор параметров или ограничитель AU. Значение AUC может использоваться для идентификации того, какие блоки NAL, изображения, слайсы или тайлы относятся к данной AU. Значение AUC может соответствовать конкретному моменту времени композиции. Значение AUC может быть кратно значению РОС.Значение AUC можно вычислить делением значения РОС на целое число. В некоторых случаях операции деления могут создать определенную нагрузку при реализациях декодера. В таких случаях небольшие ограничения в пространстве нумерации значений AUC могут позволить замену операции деления операциями сдвига. Например, значение AUC может быть равно значению старшего бита (MSB, Most Significant Bit) из диапазона значений РОС.[0115] According to the same or other embodiments, an access unit number (AUC, Access Unit Count) may be conveyed in a high-level syntax structure such as a NAL unit header, slice header, tile group header, SEI message, parameter set, or AU delimiter. The AUC value may be used to identify which NAL units, pictures, slices, or tiles belong to a given AU. The AUC value may correspond to a specific point in time of the composition. The AUC value can be a multiple of the POC value. The AUC value can be calculated by dividing the POC value by an integer. In some cases, division operations can create some overhead in decoder implementations. In such cases, slight restrictions on the numbering space of the AUC values may allow shift operations to replace division. For example, the AUC value may be equal to the value of the most significant bit (MSB, Most Significant Bit) from the range of POC values.

[0116] Согласно этому же варианту осуществления, значение РОС для AU (рос_cycle_au) может передаваться в синтаксической структуре высокого уровня, такой как заголовок блока NAL, заголовок слайса, заголовок группы тайлов, сообщение SEI, набор параметров или ограничитель AU. Значение poc_cycle_au может указывать, сколько различных и последовательных значений РОС может быть ассоциировано с одним и тем же AU. Например, если значение рос_cycle_au равно 4, то изображения, слайсы или тайлы со значением РОС, равным 0-3 включительно, ассоциируются с AU со значением AUC, равным 0, а изображения, слайсы или тайлы со значением РОС от 4 до 7 включительно ассоциируются с AU со значением AUC, равным 1. Таким образом, значение AUC может быть получено путем деления значения РОС на значение рос_cycle_au.[0116] According to the same embodiment, a POC value for an AU (poc_cycle_au) may be conveyed in a high-level syntax structure such as a NAL unit header, slice header, tilegroup header, SEI message, parameter set, or AU delimiter. The poc_cycle_au value may indicate how many different and consecutive POC values may be associated with the same AU. For example, if the value of poc_cycle_au is 4, then images, slices, or tiles with a POC value of 0-3 inclusive are associated with an AU with an AUC value of 0, and images, slices, or tiles with a POC value between 4 and 7, inclusive, are associated with AU with an AUC value of 1. Thus, the AUC value can be obtained by dividing the ROS value by the value of loc_cycle_au.

[0117] Согласно этому же или другому варианту осуществления, значение рос_cyle_au может быть получено из информации, находящейся, например, в наборе параметров видео (VPS, Video Parameter Set), которая определяет число пространственных уровней или уровней SNR в кодированной видеопоследовательности. Такая возможная взаимосвязь кратко описывается ниже. Хотя вывод, как описано выше, может сэкономить несколько битов в VPS и, следовательно, может повысить эффективность кодирования, может быть выгодно в явном виде кодировать рос_cycle_au в соответствующей синтаксической структуре высокого уровня иерархически ниже набора параметров видео, чтобы иметь возможность минимизации рос_cycle_au для указанной небольшой части битового потока, например изображения. Эта оптимизация может сэкономить больше битов, чем может быть сохранено с помощью описанного выше процесса, потому что значения РОС (и/или значения элементов синтаксиса, неявно относящиеся к РОС) могут быть кодированы в синтаксических структурах низкого уровня.[0117] According to the same or another embodiment, the value of po_cyle_au can be derived from information found in, for example, a Video Parameter Set (VPS) that specifies the number of spatial or SNR levels in a coded video sequence. Such a possible relationship is briefly described below. Although the derivation as described above may save a few bits in the VPS and therefore may improve coding efficiency, it may be advantageous to explicitly encode pac_cycle_au in an appropriate high-level syntax structure hierarchically below the video parameter set to be able to minimize pac_cycle_au for a specified small parts of a bitstream, such as an image. This optimization can save more bits than can be saved by the above process because POC values (and/or POC implicitly related syntax element values) can be encoded in low level syntax structures.

[0118] Согласно этому же или другому варианту осуществления, на фиг. 9 показан пример таблиц синтаксиса для передачи элемента синтаксиса

Figure 00000002
в VPS (или в SPS), который указывает рос_cycle_au, используемый для всех изображений/слайсов в кодированной видеопоследовательности, и элемент синтаксиса
Figure 00000003
который указывает
Figure 00000004
текущего слайса в заголовке слайса. Если значение РОС увеличивается одинаковым образом для каждой AU, то для
Figure 00000005
в VPS устанавливается значение 1, и в VPS передается
Figure 00000006
В этом случае
Figure 00000007
в явном виде не указывается, и значение AUC для каждого AU вычисляется путем деления значения РОС на
Figure 00000008
Если значение РОС не увеличивается одинаковым образом для каждой AU, то для
Figure 00000009
в VPS устанавливается значение 0. В этом случае
Figure 00000010
не передается, а
Figure 00000011
передается в заголовке слайса для каждого слайса или изображения. У каждого слайса или изображения может быть свое значение
Figure 00000012
Значение AUC для каждого AU вычисляется путем деления значения РОС на
Figure 00000013
На фиг. 10 показана блок-схема, иллюстрирующая соответствующий рабочий процесс.[0118] According to the same or another embodiment, in FIG. 9 shows an example of syntax tables for passing a syntax element
Figure 00000002
in the VPS (or in the SPS) which specifies the growth_cycle_au used for all images/slices in the encoded video sequence and the syntax element
Figure 00000003
which indicates
Figure 00000004
current slice in the slice header. If the POC value increases in the same way for each AU, then for
Figure 00000005
the VPS is set to 1, and the VPS is sent
Figure 00000006
In this case
Figure 00000007
not explicitly stated and the AUC value for each AU is calculated by dividing the POC value by
Figure 00000008
If the POC value does not increase in the same way for each AU, then for
Figure 00000009
VPS is set to 0. In this case
Figure 00000010
not transmitted, but
Figure 00000011
passed in the slice header for each slice or image. Each slice or image can have its own meaning
Figure 00000012
The AUC value for each AU is calculated by dividing the POC value by
Figure 00000013
In FIG. 10 is a flowchart illustrating the corresponding workflow.

[0119] Согласно этому же или другим вариантам осуществления, даже если значение РОС изображения, слайса или тайла может быть другим, изображение, слайс или тайл, соответствующий AU с таким же значением AUC, может быть ассоциирован с таким же временем декодирования или вывода. Таким образом, при отсутствии какой-либо зависимости между анализом/декодированием между изображениями, слайсами или тайлами в одном и том же AU, все или подмножество изображений, слайсов или тайлов, ассоциированных с одним и тем же AU, могут декодироваться одновременно и могут быть выведены в один и тот же момент времени.[0119] According to the same or other embodiments, even though the POC value of an image, slice, or tile may be different, an image, slice, or tile corresponding to an AU with the same AUC value may be associated with the same decoding or output time. Thus, in the absence of any analysis/decoding dependency between images, slices or tiles in the same AU, all or a subset of the images, slices or tiles associated with the same AU can be decoded simultaneously and can be output at the same point in time.

[0120] Согласно этому же или другим вариантам осуществления, даже если значение РОС изображения, слайса или тайла может быть другим, изображение, слайс или тайл, соответствующий AU с таким же значением AUC, может быть ассоциирован с таким же временем композиции/отображения. Когда время композиции содержится в формате контейнера, даже если изображения соответствуют разным AU, если у изображений одно и то же время композиции, изображения могут отображаться в один и тот же момент времени.[0120] According to the same or other embodiments, even though the POC value of an image, slice, or tile may be different, an image, slice, or tile corresponding to an AU with the same AUC value may be associated with the same composition/display time. When the composition time is contained in the container format, even if the images correspond to different AUs, if the images have the same composition time, the images may be displayed at the same point in time.

[0121] Согласно этому же или другим вариантам осуществления, у каждого изображения, слайса или тайла может быть один и тот же временной идентификатор (temporal_id) в одном и том же AU. Все или подмножество изображений, слайсов или тайлов, соответствующих конкретному моменту времени, могут быть ассоциированы с одним и тем же временным подуровнем. Согласно этому же или другим вариантам осуществления у каждого изображения, слайса или тайла может быть один и тот же или разные идентификаторы пространственного уровня (layer_id) в одном и том же AU. Все или подмножество изображений, слайсов или тайлов, соответствующих конкретному моменту времени, могут быть ассоциированы с одним и тем же или разными пространственными уровнями.[0121] According to the same or other embodiments, each image, slice, or tile may have the same temporal identifier (temporal_id) in the same AU. All or a subset of the images, slices or tiles corresponding to a particular point in time may be associated with the same temporal sublayer. According to the same or other embodiments, each image, slice or tile may have the same or different spatial layer identifiers (layer_id) in the same AU. All or a subset of the images, slices or tiles corresponding to a particular point in time may be associated with the same or different spatial levels.

[0122] На фиг. 8 показан пример структуры видеопоследовательности с комбинацией значений temporal_id, layer_id, РОС и AUC с адаптивным изменением разрешения. В этом примере изображение, слайс или тайл в первом AU с AUC=0 может иметь

Figure 00000014
и
Figure 00000015
или 1, а изображение, слайс или тайл во втором AU с
Figure 00000016
и
Figure 00000017
или 1 соответственно. Значение РОС увеличивается на единицу для каждого изображения независимо от значений
Figure 00000018
В этом примере значение
Figure 00000019
может быть равно 2. Предпочтительнее, чтобы в качестве значения
Figure 00000020
было установлено число уровней (пространственной масштабируемости). Таким образом, в этом примере значение РОС увеличивается на 2, а значение AUC увеличивается на 1.[0122] In FIG. 8 shows an example of a video sequence structure with a combination of temporal_id, layer_id, POC, and AUC values with adaptive resolution change. In this example, an image, slice or tile in the first AU with AUC=0 might have
Figure 00000014
and
Figure 00000015
or 1, and the image, slice, or tile in the second AU with
Figure 00000016
and
Figure 00000017
or 1 respectively. The ROS value increases by one for each image, regardless of the values
Figure 00000018
In this example, the value
Figure 00000019
can be equal to 2. Preferably, as a value
Figure 00000020
the number of levels (spatial scalability) has been established. Thus, in this example, the ROS value is increased by 2 and the AUC value is increased by 1.

[0123] Согласно приведенным выше вариантам осуществления, все или подмножество из структуры предсказания между изображениями или предсказания между уровнями и индикация опорного изображения могут поддерживаться за счет использования сигнализации существующего набора опорных изображений (RPS, Reference Picture Set) в HEVC или сигнализации списка опорных изображений (RPL, Reference Picture List). В RPS или RPL выбранное опорное изображение указывается за счет сигнализации значения РОС или изменения значения РОС между текущим изображением и выбранным опорным изображением. В раскрытом изобретении RPS и RPL могут использоваться для указания структуры предсказания между изображениями или предсказания между уровнями без изменения сигнализации, но со следующими ограничениями. Если значение temporal id опорного изображения больше, чем значение temporal_id текущего изображения, то текущее изображение может не использовать опорное изображение для компенсации движения или других предсказаний. Если значение layer_id опорного изображения больше, чем значение layer_id текущего изображения, то текущее изображение может не использовать опорное изображение для компенсации движения или других предсказаний.[0123] According to the above embodiments, all or a subset of the structure of inter-picture prediction or inter-layer prediction and reference picture indication can be supported by using existing reference picture set (RPS) signaling in HEVC or reference picture list signaling ( RPL, Reference Picture List). In RPS or RPL, the selected reference picture is indicated by signaling a POC value or by changing the POC value between the current picture and the selected reference picture. In the disclosed invention, RPS and RPL can be used to indicate an inter-picture prediction or inter-layer prediction structure without signaling change, but with the following limitations. If the temporal id value of the reference picture is greater than the temporal_id value of the current picture, then the current picture may not use the reference picture for motion compensation or other predictions. If the layer_id value of the reference picture is greater than the layer_id value of the current picture, then the current picture may not use the reference picture for motion compensation or other predictions.

[0124] Согласно этому же или другим вариантам осуществления, масштабирование вектора движения на основе разности РОС для временного предсказания вектора движения может быть отключено для множества изображений в блоке доступа. Таким образом, хотя у каждого изображения может быть свое значение РОС в блоке доступа, вектор движения не масштабируется и используется для временного предсказания вектора движения в блоке доступа. Это обусловлено тем, что опорное изображение с другим РОС в том же AU считается опорным изображением с таким же моментом времени. Таким образом, согласно варианту осуществления, функция масштабирования вектора движения может вернуть значение 1, когда опорное изображение относится к AU, ассоциированному с текущим изображением.[0124] According to the same or other embodiments, motion vector scaling based on POC difference for temporal motion vector prediction may be disabled for multiple pictures in an access block. Thus, although each picture may have a different access block POC value, the motion vector is not scaled and is used for temporal prediction of the access block motion vector. This is because a reference picture with a different ROS in the same AU is considered a reference picture with the same point in time. Thus, according to an embodiment, the motion vector scaling function may return a value of 1 when the reference picture refers to an AU associated with the current picture.

[0125] Согласно этому же или другим вариантам осуществления масштабирование вектора движения на основе разности РОС для временного предсказания вектора движения может быть опционально отключено для множества изображений, когда пространственное разрешение опорного изображения отличается от пространственного разрешения текущего изображения. Когда масштабирование вектора движения разрешено, вектор движения масштабируется на основе как разности РОС, так и отношения пространственного разрешения между текущим изображением и опорным изображением.[0125] According to the same or other embodiments, motion vector scaling based on the POC difference for temporal motion vector prediction can be optionally disabled for multiple images when the spatial resolution of the reference image is different from the spatial resolution of the current image. When motion vector scaling is enabled, the motion vector is scaled based on both the POC difference and the spatial resolution ratio between the current picture and the reference picture.

[0126] Согласно этому же или другому варианту осуществления, вектор движения может масштабироваться на основе разности AUC вместо разности РОС для временного предсказания вектора движения, особенно когда

Figure 00000021
имеет неоднородное значение (когда
Figure 00000022
В противном случае (когда
Figure 00000023
масштабирование вектора движения на основе разности AUC может быть идентично масштабированию вектора движения на основе разности РОС.[0126] According to the same or another embodiment, the motion vector may be scaled based on the AUC difference instead of the POC difference for temporal motion vector prediction, especially when
Figure 00000021
has a non-uniform value (when
Figure 00000022
Otherwise (when
Figure 00000023
the motion vector scaling based on the AUC difference may be identical to the motion vector scaling based on the POC difference.

[0127] Согласно этому же или другому варианту осуществления, когда вектор движения масштабируется на основе разности AUC, опорный вектор движения в этом же AU (с этим значением AUC) с текущим изображением не масштабируется на основе разности AUC и используется для предсказания вектора движения без масштабирования или с масштабированием на основе отношения пространственного разрешения между текущим изображением и опорным изображением.[0127] According to the same or another embodiment, when the motion vector is scaled based on the AUC difference, the reference motion vector in the same AU (with this AUC value) with the current picture is not scaled based on the AUC difference and is used for motion vector prediction without scaling or with scaling based on the ratio of spatial resolution between the current picture and the reference picture.

[0128] Согласно этому же или другим вариантам осуществления значение AUC используется для идентификации границы AU и используется для работы гипотетического эталонного декодера (HRD, Hypothetical Reference Decoder), для которой требуется синхронизация ввода и вывода с детализацией AU. В большинстве случаев может выводиться для отображения декодированное изображение с самым высоким уровнем в AU. Значение AUC и значение layer_id могут использоваться для идентификации выходного изображения.[0128] According to the same or other embodiments, the AUC value is used to identify the AU boundary and is used for Hypothetical Reference Decoder (HRD) operation that requires input and output synchronization with AU granularity. In most cases, the decoded picture with the highest level in the AU can be output for display. The AUC value and the layer_id value may be used to identify the output image.

[0129] Согласно варианту осуществления, изображение может состоять из одного или нескольких субизображений. Каждое субизображение может охватывать локальную область или всю область изображения. Область, поддерживаемая одним субизображением, может перекрываться или не перекрываться областью, поддерживаемой другим субизображением. Область, составленная из одного или нескольких субизображений, может охватывать или не охватывать всю область изображения. Если изображение состоит из одного субизображения, то область, поддерживаемая этим субизображением, идентична области, поддерживаемой всем изображением.[0129] According to an embodiment, an image may consist of one or more sub-images. Each subimage may cover a local area or an entire area of the image. The area supported by one sub-image may or may not overlap with the area supported by another sub-image. An area composed of one or more sub-images may or may not cover the entire image area. If the image consists of one sub-image, then the area supported by this sub-image is identical to the area supported by the entire image.

[0130] Согласно этому же варианту осуществления, субизображение может быть кодировано способом кодирования, аналогичным способу кодирования, используемому для кодированного изображения. Субизображение может кодироваться независимо или в зависимости от другого субизображения или кодированного изображения. Субизображение может анализироваться независимо или в зависимости от другого субизображения или кодированного изображения.[0130] According to the same embodiment, the sub-image may be encoded by a coding method similar to the coding method used for the encoded image. A sub-picture may be encoded independently or dependent on another sub-picture or encoded picture. A sub-image may be analyzed independently or in dependence on another sub-image or encoded image.

[0131] Согласно этому же варианту осуществления, кодированное субизображение может содержаться в одном или нескольких уровнях. У кодированных субизображений в разных уровнях могут быть разные пространственные разрешения. Для исходного субизображения может выполняться пространственная передискретизация (повышающая или понижающая), кодирование с различными параметрами пространственного разрешения, также оно может содержаться в битовом потоке, соответствующем тому или иному уровню.[0131] According to the same embodiment, the encoded sub-image may be contained in one or more layers. Encoded sub-images in different layers may have different spatial resolutions. The original sub-image can be spatially resampled (up or down), encoded with different spatial resolution parameters, and it can also be contained in a bit stream corresponding to one or another level.

[0132] Согласно этому же или другому варианту осуществления, субизображение с (W, Н, где W указывает ширину субизображения, а H указывает высоту субизображения, соответственно), может быть кодировано и содержаться в кодированном битовом потоке, соответствующем уровню 0, а субизображение с повышающей (или понижающей) дискретизацией из субизображения с исходным пространственным разрешением, с (W*Sw,k, Н* Sh,k), может быть кодировано и содержаться в кодированном битовом потоке, соответствующем уровню k, где Sw,k, Sh,k указывают коэффициенты пере дискретизации по горизонтали и вертикали. Если значения Sw,k, Sh,k больше единицы, то выполняется повышающая передискретизация. Если же значения Sw,k, Sh,k меньше единицы, то выполняется понижающая передискретизация.[0132] According to the same or another embodiment, a sub-image with (W, H, where W indicates the width of the sub-image and H indicates the height of the sub-image, respectively) may be encoded and contained in the encoded bitstream corresponding to layer 0, and the sub-image with upsampling (or downsampling) from the sub-image with the original spatial resolution, with (W*S w,k , H* S h,k ), can be encoded and contained in the encoded bitstream corresponding to layer k, where S w,k , S h,k indicate the horizontal and vertical resampling factors. If the values of S w,k , S h,k are greater than one, then upsampling is performed. If the values of S w,k , S h,k are less than one, then downsampling is performed.

[0133] Согласно этому же или другому варианту осуществления, кодированное субизображение на одном уровне может иметь визуальное качество, отличное от качества кодированного субизображения на другом уровне в этом же субизображении или в другом субизображении. Например, субизображение i на уровне n кодируется с использованием параметра квантования Qi,n, а субизображение j на уровне m кодируется с использованием параметра квантования Oj,m.[0133] According to the same or another embodiment, an encoded sub-image in one layer may have a different visual quality than the quality of an encoded sub-image in another layer in the same sub-image or in a different sub-image. For example, sub-image i at level n is encoded using a quantization parameter Q i,n , and sub-image j at level m is encoded using a quantization parameter O j,m .

[0134] Согласно этому же или другому варианту осуществления, кодированное субизображение в том или ином уровне может быть декодировано независимым образом, без какой-либо зависимости от синтаксического анализа или декодирования кодированного субизображения на другом уровне в этой же локальной области. Уровень субизображения, который может быть декодирован независимым образом без ссылки на другой уровень субизображения в этой же локальной области, является независимым уровнем субизображения. Кодированное субизображение в независимом уровне субизображения может иметь или не иметь зависимости декодирования или анализа от ранее кодированного субизображения на этом же уровне субизображения, но кодированное субизображение может не иметь никакой зависимости от кодированного изображения в другом уровне субизображения.[0134] According to the same or another embodiment, an encoded sub-image in one layer or another can be decoded independently, without any dependence on the parsing or decoding of the encoded sub-image in another layer in the same local area. A sub-image layer that can be independently decoded without reference to another sub-image layer in the same local area is an independent sub-image layer. An encoded sub-image in an independent sub-image layer may or may not have a decoding or analysis dependency on a previously encoded sub-image in that same sub-image layer, but an encoded sub-image may not have any dependency on a coded image in another sub-image layer.

[0135] Согласно этому же или другому варианту осуществления, кодированное субизображение в том или ином уровне может быть декодировано зависимым образом, в зависимости от синтаксического анализа или декодирования кодированного субизображения в другом уровне в этой же локальной области. Уровень субизображения, который может быть декодирован зависимым образом со ссылкой на другой уровень субизображения в этой же локальной области, является зависимым уровнем субизображения. Кодированное субизображение в зависимом субизображении может ссылаться на кодированное субизображение, относящееся к этому же субизображению, ранее кодированному субизображения в этом же уровне субизображения, либо на оба опорных субизображения.[0135] According to the same or another embodiment, an encoded sub-image in one layer or another can be decoded in a dependent manner, depending on the parsing or decoding of the encoded sub-image in another layer in the same local area. A sub-image layer that can be decoded in a dependent manner with reference to another sub-image layer in the same local area is a dependent sub-image layer. An encoded sub-image in a dependent sub-image may refer to an encoded sub-image related to the same sub-image, to a previously encoded sub-image in the same sub-image layer, or to both reference sub-images.

[0136] Согласно этому же или другому варианту осуществления, кодированное субизображение состоит из одного или нескольких независимых уровней субизображений и одного или нескольких зависимых уровней субизображений. Однако, по меньшей мере один независимый уровень субизображения может быть представлен для кодированного субизображения. Независимый уровень субизображения может иметь значение идентификатора уровня (layer_id), которое может быть представлено в заголовке блока NAL или в другой синтаксической структуре высокого уровня, равное 0. Уровень субизображения с layer_id, равным 0, является базовым уровнем субизображения.[0136] According to the same or another embodiment, an encoded sub-image consists of one or more independent sub-image layers and one or more dependent sub-image layers. However, at least one independent sub-picture layer may be represented for the encoded sub-picture. An independent sub-image layer may have a layer identifier (layer_id) value, which may be represented in a NAL unit header or other high-level syntax structure, equal to 0. A sub-image layer with layer_id equal to 0 is a base sub-image layer.

[0137] Согласно этому же или другому варианту осуществления, изображение может состоять из одного или нескольких субизображений переднего плана и одного субизображения заднего плана. Область, поддерживаемая субизображением заднего плана, может быть равна области изображения. Область, поддерживаемая субизображением переднего плана, может перекрываться областью, поддерживаемой субизображением заднего плана. Субизображение заднего плана может быть базовым уровнем субизображения, а субизображение переднего плана может быть небазовым (улучшенным) уровнем субизображения. Один или более небазовых уровней субизображений могут ссылаться на один и тот же базовый уровень для декодирования. Каждый небазовый уровень субизображения с layer_id, равным а, может ссылаться на небазовый уровень субизображения с layer_id, равным b, где а больше b.[0137] According to the same or another embodiment, an image may consist of one or more foreground sub-images and one background sub-image. The area supported by the background sub-image may be equal to the image area. The area supported by the foreground sub-image may overlap with the area supported by the background sub-image. The background sub-image may be the base sub-image level, and the foreground sub-image may be the non-base (enhanced) sub-image level. One or more non-base sub-image layers may refer to the same base layer for decoding. Each non-base subimage layer with layer_id equal to a may refer to a non-base subimage layer with layer_id equal to b, where a is greater than b.

[0138] Согласно этому же или другому варианту осуществления, изображение может состоять из одного или нескольких субизображений переднего плана с или без субизображения заднего плана. У каждого субизображения может быть свой базовый уровень субизображения и один или более небазовых (усовершенствованных) уровней. На каждый базовый уровень субизображения может ссылаться один или более небазовых уровней субизображений. Каждый небазовый уровень субизображения с layer_id, равным а, может ссылаться на небазовый уровень субизображения с layer_id, равным b, где а больше b.[0138] According to the same or another embodiment, the image may consist of one or more foreground sub-images with or without a background sub-image. Each subimage may have its own baseline subimage level and one or more non-baseline (enhanced) levels. Each base sub-image level may be referenced by one or more non-base sub-image levels. Each non-base subimage layer with layer_id equal to a may refer to a non-base subimage layer with layer_id equal to b, where a is greater than b.

[0139] Согласно этому же или другому варианту осуществления, изображение может состоять из одного или нескольких субизображений переднего плана с или без субизображения заднего плана. На каждое кодированное субизображение на (базовом или небазовом) уровне субизображения может ссылаться одно или более субизображений небазового уровня, относящихся к одному и тому же субизображению, и одно или более субизображений небазового уровня, которые не относятся к одному субизображению.[0139] According to the same or another embodiment, the image may consist of one or more foreground sub-images with or without a background sub-image. Each encoded sub-image at the (base or non-base) sub-image level may be referenced by one or more non-base-level sub-images that belong to the same sub-image and one or more non-base-level sub-images that do not belong to the same sub-image.

[0140] Согласно этому же или другому варианту осуществления, изображение может состоять из одного или нескольких субизображений переднего плана с или без субизображения заднего плана. Субизображение на уровне а может быть дополнительно разделено на несколько субизображений в одном уровне. Одно или более кодированных субизображений на уровне Ь могут ссылаться на разделенное субизображение в уровне а.[0140] According to the same or another embodiment, the image may consist of one or more foreground sub-images with or without a background sub-image. The sub-image in level a may be further divided into multiple sub-images in one level. One or more encoded sub-images in layer b may refer to a split sub-image in layer a.

[0141] Согласно этому же или другому варианту осуществления, кодированная видеопоследовательность (CVS, Coded Video Sequence) может быть группой кодированных изображений. CVS может состоять из одной или нескольких последовательностей кодированных субизображений (CSPS, Coded Sub-Picture Sequences), где CSPS может быть группой кодированных субизображений, покрывающих одну и ту же локальную область изображения. CSPS может иметь такое же или другое временное разрешение, как у кодированной видеопоследовательности.[0141] According to the same or another embodiment, a coded video sequence (CVS, Coded Video Sequence) may be a group of coded pictures. The CVS may consist of one or more Coded Sub-Picture Sequences (CSPS), where the CSPS may be a group of coded sub-pictures covering the same local area of an image. The CSPS may have the same or different temporal resolution as the encoded video sequence.

[0142] Согласно этому же или другому варианту осуществления, CSPS может быть кодирована и содержаться в одном или нескольких уровнях. CSPS может состоять из одного или нескольких уровней CSPS. Декодирование одного или нескольких уровней CSPS, соответствующих CSPS, может восстанавливать последовательность субизображений, соответствующих одной и той же локальной области.[0142] According to the same or another embodiment, the CSPS may be encoded and contained in one or more layers. The CSPS may consist of one or more levels of CSPS. Decoding one or more CSPS levels corresponding to the CSPS may recover a sequence of sub-images corresponding to the same local area.

[0143] Согласно этому же или другому варианту осуществления, число уровней CSPS, соответствующих одной CSPS, может быть идентично или отличаться от числа уровней CSPS, соответствующих другой CSPS.[0143] According to the same or another embodiment, the number of CSPS levels corresponding to one CSPS may be identical or different from the number of CSPS levels corresponding to another CSPS.

[0144] Согласно этому же или другому варианту осуществления, у уровня CSPS может быть временное разрешение (например, частота кадров), отличающееся от разрешения для другого уровня CSPS. Для исходной (несжатой) последовательности субизображений может выполняться временная передискретизация (повышающая или понижающая), кодирование с различными параметрами временного разрешения, также она может содержаться в битовом потоке, соответствующем тому или иному уровню.[0144] According to the same or another embodiment, a CSPS layer may have a different temporal resolution (eg, frame rate) than another CSPS layer. The original (uncompressed) sequence of sub-images can be temporally resampled (up or down), encoded with different temporal resolution parameters, and it can also be contained in a bitstream corresponding to one or another level.

[0145] Согласно этому же или другому варианту осуществления, последовательность субизображений с частотой кадров F может быть кодирована и содержаться в кодированном битовом потоке битов, соответствующем уровню 0, а последовательность субизображений с повышающей (или понижающей) временной дискретизацией из исходной последовательности субизображений с F* St,k может быть кодирована и содержаться в кодированном битовом потоке, соответствующем уровню к, где St,k указывает коэффициент временной дискретизации для уровня к. Если значение St,k больше единицы, то процесс временной передискретизации идентичен преобразованию с повышением частоты кадров. Если же значение St,k меньше единицы, то процесс временной передискретизации идентичен преобразованию с понижением частоты кадров.[0145] According to the same or another embodiment, the sub-image sequence with frame rate F may be encoded and contained in the encoded bitstream corresponding to level 0, and the time-upsampled (or down-sampled) sub-image sequence from the original sub-image sequence with F* S t,k may be encoded and contained in the encoded bitstream corresponding to layer k, where S t,k indicates the temporal sampling factor for layer k. If the value of S t,k is greater than one, then the temporal resampling process is identical to frame rate upconversion . If the value of S t,k is less than one, then the temporal resampling process is identical to frame rate downconversion.

[0146] Согласно этому же или другому варианту осуществления, когда субизображение с CSPS-уровнем а является ссылкой на субизображение с CSPS-уровнем b для компенсации движения или любого межуровневого предсказания, если пространственное разрешение CSPS-уровня а отличается от пространственного разрешения CSPS-уровня b, декодированные пиксели на CSPS-уровне а передискретизируются и используются для ссылки. Для процесса передискретизации может потребоваться фильтрация с повышающей или понижающей дискретизацией.[0146] According to the same or another embodiment, when the sub-image with CSPS layer a is a reference to the sub-image with CSPS layer b for motion compensation or any inter-layer prediction, if the spatial resolution of CSPS layer a is different from the spatial resolution of CSPS layer b , the decoded pixels at CSPS layer a are resampled and used for reference. The resampling process may require upsampling or downsampling filtering.

[0147] На фиг.11 показан пример видеопотока, содержащего CSPS видео заднего плана с layer_id, равным 0, и несколько уровней CSPS переднего плана. Несмотря на то, что кодированное субизображение может состоять из одного или нескольких уровней CSPS, область заднего плана, которая не относится ни к одному из CSPS переднего плана, может состоять из базового уровня. Базовый уровень может содержать область заднего плана и области переднего плана, а уровень улучшения CSPS содержит область переднего плана. Уровень улучшения CSPS может иметь лучшее визуальное качество, чем базовый уровень, в той же области. Уровень улучшения CSPS может ссылаться на реконструированные пиксели и векторы движения базового уровня, соответствующие одной и той же области.[0147] FIG. 11 shows an example of a video stream containing a background video CSPS with layer_id equal to 0 and multiple foreground CSPS layers. Although an encoded sub-image may be composed of one or more CSPS layers, a background region that does not belong to any of the foreground CSPS may be composed of a base layer. The base layer may contain a background region and foreground regions, and the CSPS enhancement layer contains a foreground region. The CSPS enhancement layer may have better visual quality than the base layer in the same area. The CSPS enhancement layer may refer to reconstructed pixels and base layer motion vectors corresponding to the same area.

[0148] Согласно этому же или другому варианту осуществления, битовый поток видео, соответствующий базовому уровню, содержится в каком-либо треке, а уровни CSPS, соответствующие каждому субизображению, содержатся в отдельном треке в видеофайле.[0148] According to the same or another embodiment, the video bitstream corresponding to the base layer is contained in some track, and the CSPS levels corresponding to each sub-image are contained in a separate track in the video file.

[0149] Согласно этому же или другому варианту осуществления, битовый поток видео, соответствующий базовому уровню, содержится в каком-либо треке, а уровни CSPS с одинаковым layer_id содержатся в отдельном треке в видеофайле. В этом примере трек, соответствующий уровню к, содержит только уровни CSPS, соответствующие уровню к.[0149] According to the same or another embodiment, the video bitstream corresponding to the base layer is contained in some track, and the CSPS layers with the same layer_id are contained in a separate track in the video file. In this example, the track corresponding to level k contains only the CSPS levels corresponding to level k.

[0150] Согласно этому же или другому варианту осуществления, каждый уровень CSPS каждого субизображения сохраняется в отдельном треке. Каждый трек может иметь или не иметь зависимость анализа или декодирования от одного или нескольких других треков.[0150] According to the same or another embodiment, each CSPS level of each sub-image is stored in a separate track. Each track may or may not have an analysis or decoding dependency on one or more other tracks.

[0151] Согласно этому же или другому варианту осуществления, каждый трек может содержать битовые потоки, соответствующие уровню CSPS (от уровня i до уровня j) всех или подмножества субизображений, где 0<i=<j=<k и k - это самый высокий уровень CSPS.[0151] According to the same or another embodiment, each track may contain bitstreams corresponding to the CSPS level (from level i to level j) of all or a subset of sub-images, where 0<i=<j=<k and k is the highest CSPS level.

[0152] Согласно этому же или другому варианту осуществления, изображение состоит из одного или нескольких связанных блоков медиа-данных, включая карту глубины, альфа-карту, данные трехмерной геометрии, карту занятости и т.д. Такие связанные синхронизированные медиа-данных могут быть разделены на один или более субпотоков данных, каждый из которых соответствует одному субизображению.[0152] According to the same or another embodiment, an image consists of one or more associated blocks of media data, including a depth map, an alpha map, 3D geometry data, an occupancy map, and so on. Such associated synchronized media data may be divided into one or more sub-data streams, each corresponding to one sub-image.

[0153] Согласно этому же или другому варианту осуществления, на фиг. 12 показан пример видеоконференции на основе способа создания многоуровневых субизображений. В видеопотоке содержится один битовый поток видео базового уровня, соответствующий изображению заднего плана, и один или более битовых потоков видео уровня улучшения, соответствующих субизображениям переднего плана. Каждый битовый поток видео уровня улучшения соответствует уровню CSPS. На дисплее по умолчанию отображается изображение, соответствующее базовому уровню. Оно содержит одно или более изображений пользователя типа «картинка в картинке» (PIP, Picture ш Picture). Когда конкретный пользователь выбирается по команде клиента, уровень улучшения CSPS, соответствующий выбранному пользователю, декодируется и отображается с улучшенным качеством или пространственным разрешением. На фиг. 13 показана схема рабочего процесса.[0153] According to the same or another embodiment, FIG. 12 shows an example of a video conference based on a layered sub-image generation method. The video stream contains one base layer video bitstream corresponding to the background image and one or more enhancement layer video bitstreams corresponding to the foreground sub-images. Each enhancement layer video bitstream corresponds to a CSPS layer. The default display shows the image corresponding to the baseline. It contains one or more picture-in-picture (PIP) user pictures. When a particular user is selected at the command of the client, the CSPS enhancement level corresponding to the selected user is decoded and displayed with enhanced quality or spatial resolution. In FIG. 13 shows a diagram of the workflow.

[0154] Согласно этому же или другому варианту осуществления, промежуточный сетевой блок (например, маршрутизатор) может выбирать подмножество уровней для передачи данных пользователю в зависимости от его полосы пропускания. Для адаптации полосы пропускания может использоваться организация информации в пределах изображений/субизображений. Например, если у пользователя нет полосы пропускания, то маршрутизатор разделяет уровни или выбирает часть субизображений из-за их важности или на основе используемой настройки; это может быть сделано динамически для адаптации к полосе пропускания.[0154] According to the same or another embodiment, an intermediate network unit (eg, a router) may select a subset of layers for transmitting data to a user depending on its bandwidth. Organization of information within pictures/sub-pictures can be used for bandwidth adaptation. For example, if the user has no bandwidth, then the router splits the layers or selects a portion of the sub-images because of their importance or based on the configuration used; this can be done dynamically to adapt to the bandwidth.

[0155] На фиг. 14 показывает пример использования видео 360 градусов. Когда сферическое изображение 360 градусов проецируется на плоское изображение, изображение проекции 360 градусов может быть разделено на несколько субизображений в качестве базового уровня. Уровень улучшения конкретного субизображения может быть кодирован и передан клиенту. Декодер может декодировать как базовый уровень, содержащий все субизображения, так и уровень улучшения выбранного субизображения. Когда текущее поле просмотра идентично выбранному субизображению, отображаемое изображение может иметь более высокое качество при использовании декодированного субизображения за счет применения уровня улучшения. В противном случае может отображаться декодированное изображение с базовым уровнем с низким качеством.[0155] In FIG. 14 shows an example of using 360 video. When a 360 degree spherical image is projected onto a flat image, the 360 degree projection image can be divided into several sub-images as a base layer. The enhancement level of a particular sub-image may be encoded and transmitted to the client. The decoder may decode both the base layer containing all sub-pictures and the enhancement layer of the selected sub-picture. When the current viewport is identical to the selected sub-picture, the displayed image can be of higher quality when using the decoded sub-picture by applying the enhancement layer. Otherwise, a decoded image with a low quality base layer may be displayed.

[0156] Согласно этому же или другому варианту осуществления, любая информация о структуре для отображения может быть представлена в файле в качестве дополнительной информации (например, в виде сообщений SEI или метаданных). Одно или более декодированных субизображений может быть перемещено и отображено в зависимости от переданной информации о структуре. Информация о структуре может передаваться потоковым сервером или транслятором, либо может быть восстановлена соответствующим сетевым объектом или облачным сервером, либо может определяться индивидуальной настройкой пользователя.[0156] According to the same or another embodiment, any information about the structure to be displayed can be provided in the file as additional information (eg, in the form of SEI messages or metadata). One or more decoded sub-pictures may be moved and displayed depending on the transmitted structure information. The structure information may be transmitted by a streaming server or translator, or may be retrieved by an appropriate network entity or cloud server, or may be determined by a user's individual setting.

[0157] Согласно варианту осуществления, когда входное изображение делится на одну или более (прямоугольных) субобластей, каждая субобласть может кодироваться как независимый уровень. Каждый независимый уровень, соответствующий локальной области, может иметь уникальное значение layer_id. Для каждого независимого уровня может передаваться информация о размере и местоположении субизображения. Например, размер изображения (ширина, высота), информация о смещении левого-верхнего угла (x_offset, y_offset). На фиг. 15 показан пример структуры разделенных субизображений, информации о размере и местоположении и соответствующей структуры предсказания изображений. Информация о структуре, включая размер(ы) субизображения(й) и позицию(и) субизображения(й), может быть передана в виде синтаксической структуры высокого уровня, такой как набор(ы) параметров, заголовок слайса или группы тайлов, либо сообщение SEI.[0157] According to an embodiment, when an input image is divided into one or more (rectangular) sub-regions, each sub-region may be encoded as an independent layer. Each independent layer corresponding to a local area can have a unique layer_id value. For each independent layer, information about the size and location of the sub-image can be transmitted. For example, image size (width, height), information about the offset of the left-upper corner (x_offset, y_offset). In FIG. 15 shows an example of a split sub-image structure, size and location information, and a corresponding image prediction structure. Structure information, including the size(s) of the sub-image(s) and the position(s) of the sub-image(s), may be conveyed as a high-level syntactic structure such as parameter set(s), a slice or tile group header, or an SEI message. .

[0158] Согласно этому же варианту осуществления, каждое субизображение, соответствующее независимому уровню, может иметь свое уникальное значение РОС в рамках AU. Когда какое-либо опорное изображение из изображений, хранящихся в DPB, указывается с использованием элемента(ов) синтаксиса в структуре RPS или RPL, может использоваться значение(я) РОС каждого субизображения, соответствующего определенному уровню.[0158] According to the same embodiment, each sub-image corresponding to the independent layer may have its own unique POC value within the AU. When any reference picture among the pictures stored in the DPB is specified using the syntax element(s) in the RPS or RPL structure, the POC value(s) of each sub-picture corresponding to the particular layer may be used.

[0159] Согласно этому же или другому варианту осуществления, для указания структуры (межуровневого) предсказания layer_id может не использоваться, а может использоваться значение РОС (дельта).[0159] According to the same or another embodiment, the layer_id may not be used to indicate the structure of the (inter-layer) prediction, but a POC (delta) value may be used.

[0160] Согласно этому же варианту осуществления, субизображение со значением РОС, равным N, соответствующее определенному уровню (или локальной области), может использоваться или не использоваться в качестве опорного изображения субизображения со значением РОС, равным N+K, соответствующего этому же уровню (или этой же локальной области) для предсказания с компенсацией движения. В большинстве случаев значение К может быть равно максимальному числу (независимых) уровней, которое может быть идентично числу субобластей.[0160] According to the same embodiment, a sub-image with a POC value of N corresponding to a certain level (or local area) may or may not be used as a reference image of a sub-image with a POC value of N+K corresponding to the same level ( or the same local area) for motion-compensated prediction. In most cases, the value of K may be equal to the maximum number of (independent) levels, which may be identical to the number of subregions.

[0161] Согласно этому же или другому варианту осуществления, на фиг. 16 показан расширенный вариант примера на фиг. 15. Когда входное изображение разделено на несколько (например, четыре) субобластей, каждая локальная область может быть кодирована с одним или более уровнями. В этом случае число независимых уровней может быть равно числу субобластей, и одной субобласти может соответствовать один или более уровней. Таким образом, каждая субобласть может быть кодирована с одним или более независимыми уровнями и без или с несколькими зависимыми уровнями.[0161] According to the same or another embodiment, in FIG. 16 shows an expanded version of the example of FIG. 15. When the input image is divided into multiple (eg, four) sub-regions, each local region may be encoded with one or more levels. In this case, the number of independent levels may be equal to the number of sub-regions, and one or more levels may correspond to one sub-region. Thus, each sub-region may be encoded with one or more independent layers and no or more dependent layers.

[0162] Согласно этому же варианту осуществления, на фиг. 16 входное изображение может быть разделено на четыре субобласти. Правая-верхняя субобласть может быть кодирована как два уровня, уровня 1 и уровня 4, а правая-нижняя субобласть может быть кодирована как два других уровней, уровня 3 и уровня 5. В этом случае уровень 4 может ссылаться на уровень 1 для предсказания с компенсацией движения, а уровень 5 может ссылаться на уровень 3 для компенсации движения.[0162] According to the same embodiment, in FIG. 16, the input image can be divided into four sub-regions. The right-upper sub-region may be coded as two layers, layer 1 and layer 4, and the right-bottom sub-region may be coded as two other layers, layer 3 and layer 5. In this case, layer 4 may refer to layer 1 for compensation prediction. motion, and layer 5 can refer to layer 3 for motion compensation.

[0163] Согласно этому же или другому варианту осуществления, внутриконтурная фильтрация (например, деблокирующая фильтрация, адаптивная внутриконтурная фильтрация, восстановление формы, двусторонняя фильтрация или любая фильтрация на основе глубокого обучения) через границу уровня может быть (опционально) отключена.[0163] According to the same or another embodiment, in-loop filtering (e.g., deblocking filtering, adaptive in-loop filtering, shape recovery, two-way filtering, or any deep learning-based filtering) across the layer boundary can be (optionally) disabled.

[0164] Согласно этому же или другому варианту осуществления, предсказание с компенсацией движения или внутриблочное копирование через границу уровня может быть (опционально) отключено.[0164] According to the same or another embodiment, motion-compensated prediction or intra-block copying across a layer boundary can be (optionally) disabled.

[0165] Согласно этому же или другому варианту осуществления, заполнение на границах для предсказания с компенсацией движения или внутриконтурная фильтрация на границе субизображения может обрабатываться опционально. Флаг, указывающий, обрабатывается ли заполнение на границах или нет, может передаваться в синтаксической структуре высокого уровня, такой как набор(ы) (VPS, SPS, PPS или APS) параметров, заголовок группы слайсов или тайлов, или сообщение SEI.[0165] According to the same or another embodiment, padding at boundaries for motion-compensated prediction or in-loop filtering at a sub-image boundary can be optionally processed. A flag indicating whether padding at boundaries is handled or not may be conveyed in a high-level syntax structure such as parameter set(s) (VPS, SPS, PPS, or APS), a slice or tile group header, or an SEI message.

[0166] Согласно этому же или другому варианту осуществления, информация о структуре субобласти(ей) (или субизображения(ий)) может передаваться в VPS или SPS. На фиг.17 показан пример элементов синтаксиса в VPS и SPS. В этом примере

Figure 00000024
передается в VPS. Этот флаг может указывать, разделено ли входное(ые) изображение(я) на несколько субобластей или нет.Когда значение
Figure 00000025
равно 0, входное изображение(я) в кодированной(ых) видеопоследовательности(ях), соответствующее текущему VPS, не может быть разделено на несколько субобластей. В этом случае размер входного изображения может быть равен размеру кодированного изображения
Figure 00000026
Figure 00000027
который передается в SPS. Когда значение
Figure 00000028
равно 1, входное изображение(я) в кодированной(ых) видеопоследовательности(ях), соответствующее текущему VPS, не может быть разделено на несколько субобластей. В этом случае элементы синтаксиса
Figure 00000029
и
Figure 00000030
передаются в VPS. Значения
Figure 00000031
и
Figure 00000032
могут быть равны ширине и высоте входного изображения(й) соответственно.[0166] According to the same or another embodiment, information about the structure of the sub-area(s) (or sub-image(s)) may be transmitted to the VPS or SPS. 17 shows an example of syntax elements in VPS and SPS. In this example
Figure 00000024
transferred to the VPS. This flag may indicate whether the input image(s) is split into multiple sub-regions or not. When the value
Figure 00000025
is 0, the input image(s) in the encoded video sequence(s) corresponding to the current VPS cannot be divided into multiple sub-regions. In this case, the size of the input image can be equal to the size of the encoded image
Figure 00000026
Figure 00000027
which is transmitted to the SPS. When the value
Figure 00000028
is 1, the input image(s) in the encoded video sequence(s) corresponding to the current VPS cannot be divided into multiple sub-regions. In this case, the syntax elements
Figure 00000029
and
Figure 00000030
transferred to the VPS. Values
Figure 00000031
and
Figure 00000032
may be equal to the width and height of the input image(s), respectively.

[0167] Согласно этому же варианту осуществления значения

Figure 00000033
и
Figure 00000034
могут не использоваться для декодирования, но могут использоваться для композиции и отображения.[0167] According to the same embodiment, the values
Figure 00000033
and
Figure 00000034
may not be used for decoding, but may be used for composition and display.

[0168] Согласно этому же варианту осуществления, когда значение

Figure 00000035
равно 1, элементы синтаксиса
Figure 00000036
могут передаваться в SPS, который соответствует конкретному(ым) уровню(ям). В этом случае размер кодированного изображения
Figure 00000037
Figure 00000038
переданный в SPS, может быть равен ширине и высоте субобласти, соответствующей конкретному уровню. Кроме того, позиция
Figure 00000039
Figure 00000040
левого-верхнего угла субобласти может передаваться в SPS.[0168] According to the same embodiment, when the value
Figure 00000035
equals 1, syntax elements
Figure 00000036
may be transmitted in the SPS that corresponds to the specific layer(s). In this case, the size of the encoded image
Figure 00000037
Figure 00000038
transmitted in the SPS may be equal to the width and height of the sub-region corresponding to the particular layer. In addition, the position
Figure 00000039
Figure 00000040
the left-upper corner of the sub-area may be transmitted to the SPS.

[0169] Согласно этому же варианту осуществления, информация о позиции

Figure 00000041
левого-верхнего угла субобласти может не использоваться для декодирования, но может использоваться для композиции и отображения.[0169] According to the same embodiment, position information
Figure 00000041
the top-left corner of the sub-region may not be used for decoding, but may be used for composition and display.

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

Figure 00000042
указывает число (прямоугольных) субобластей в текущей кодированной видеопоследовательности, а элемент синтаксиса
Figure 00000043
указывает число уровней в текущей кодированной видеопоследовательности. Значение numlayers может быть равно или больше значения
Figure 00000044
Когда какая-либо субобласть кодируется как один уровень, значение num_layers может быть равно значению
Figure 00000045
Когда одна или более субобластей кодируются как несколько уровней, значение num_layers может быть больше значения
Figure 00000046
Элемент синтаксиса
Figure 00000047
указывает зависимость от j-го уровня до i-го уровня,
Figure 00000048
указывает число уровней, ассоциированных с i-ой субобластью.
Figure 00000049
Figure 00000050
указывает layer_id j-го уровня, ассоциированного с i-ой субобластью.
Figure 00000051
и
Figure 00000052
указывают горизонтальное и вертикальное положение левого-верхнего угла i-ой субобласти соответственно.
Figure 00000053
и
Figure 00000054
указывают ширину и высоту i-ой субобласти, соответственно.[0170] According to the same or another embodiment, information about the structure (size and position) of all or a subset of sub-areas of the input(s) image(s), information about the relationship between levels can be transmitted in a parameter set or in an SEI message. In FIG. 18 shows an example of syntax elements for specifying information about the structure of subdomains, dependencies between levels, and relationships between a subdomain and one or more levels. In this example, the syntax element
Figure 00000042
indicates the number of (rectangular) subregions in the current encoded video sequence, and the syntax element
Figure 00000043
indicates the number of levels in the current encoded video sequence. The numlayers value can be equal to or greater than the value
Figure 00000044
When any sub-region is encoded as one layer, the value of num_layers may be equal to the value
Figure 00000045
When one or more subregions are encoded as multiple layers, the value of num_layers may be greater than the value
Figure 00000046
Syntax element
Figure 00000047
indicates dependence from j-th level to i-th level,
Figure 00000048
indicates the number of levels associated with the i-th sub-region.
Figure 00000049
Figure 00000050
indicates the layer_id of the j-th layer associated with the i-th sub-region.
Figure 00000051
and
Figure 00000052
indicate the horizontal and vertical position of the left-upper corner of the i-th sub-region, respectively.
Figure 00000053
and
Figure 00000054
indicate the width and height of the i-th subregion, respectively.

[0171] Согласно одному варианту осуществления, один или более элементов синтаксиса, которые задают набор выходных уровней для указания одного или нескольких уровней, которые должны выводиться с информацией о профилях/ярусах/уровнях или без нее, могут передаваться в синтаксической структуре высокого уровня, например в VPS, DPS, SPS, PPS, APS или в сообщении SEI. На фиг. 19 элемент синтаксиса

Figure 00000055
указывающий число наборов выходных уровней (OLS) в кодированной видеопоследовательности, ссылающейся на VPS, может передаваться в VPS. Для каждого набора выходных уровней элемент синтаксиса
Figure 00000056
может передаваться столько раз, сколько имеется выходных уровней.[0171] According to one embodiment, one or more syntax elements that define a set of output levels to specify one or more levels to be output with or without profile/tier/level information may be conveyed in a high-level syntax structure, e.g. in VPS, DPS, SPS, PPS, APS, or in an SEI message. In FIG. 19 syntax element
Figure 00000055
indicating the number of output level sets (OLS) in the encoded video sequence referring to the VPS may be transmitted to the VPS. For each set of output levels, the syntax element
Figure 00000056
can be transmitted as many times as there are output levels.

[0172] Согласно этому же варианту осуществления

Figure 00000057
равный 1, указывает, что выводится i-ый уровень.
Figure 00000058
равный 0, указывает, что i-ый уровень не выводится.[0172] According to the same embodiment
Figure 00000057
equal to 1 indicates that the i-th level is output.
Figure 00000058
equal to 0 indicates that the i-th level is not output.

[0173] Согласно этому же или другому варианту осуществления, один или более элементов синтаксиса, которые определяют информацию о профилях/ярусах/уровнях для каждого набора выходных уровней, могут передаваться в синтаксической структуре высокого уровня, например в VPS, DPS, SPS, PPS, APS или в сообщении SEI. На фиг. 19 элемент синтаксиса

Figure 00000059
указывающий объем информации о профилях/ярусах/уровнях для OLS в кодированной видеопоследовательности, ссылающейся на VPS, может передаваться в VPS. Для каждого набора выходных уровней набор элементов синтаксиса для информации о профилях/ярусах/уровнях или индекс, указывающий конкретную информации о профилях/ярусах/уровнях среди записей в информации о профилях/ярусах/уровнях, может передаваться столько раз, сколько имеется выходных уровней.[0173] According to the same or another embodiment, one or more syntax elements that define profile/tier/layer information for each set of output layers may be conveyed in a high-level syntax structure, such as in a VPS, DPS, SPS, PPS, APS or in the SEI message. In FIG. 19 syntax element
Figure 00000059
indicating the amount of profile/tier/layer information for the OLS in the encoded video sequence referring to the VPS may be transmitted to the VPS. For each set of output levels, a set of syntax elements for profile/tier/layer information or an index indicating specific profile/tier/layer information among entries in the profile/tier/layer information may be transmitted as many times as there are output levels.

[0174] Согласно этому же варианту осуществления

Figure 00000060
указывает индекс в списке синтаксических структур
Figure 00000061
в VPS, синтаксической структуры
Figure 00000062
которая применяется к j-му уровню i-го OLS.[0174] According to the same embodiment
Figure 00000060
specifies the index in the list of syntactic structures
Figure 00000061
in VPS, syntactic structure
Figure 00000062
which is applied to the j-th level of the i-th OLS.

[0175] Согласно этому же или другому варианту осуществления, на фиг. 20 элементы синтаксиса

Figure 00000063
и/или
Figure 00000064
могут передаваться, когда число максимальных уровней больше 1
Figure 00000065
Figure 00000066
[0175] According to the same or another embodiment, in FIG. 20 syntax elements
Figure 00000063
and/or
Figure 00000064
may be transmitted when the number of maximum levels is greater than 1
Figure 00000065
Figure 00000066

[0176] Согласно этому же или другому варианту осуществления, на фиг. 20 элемент синтаксиса

Figure 00000067
указывающий режим передачи выходного уровня для i-ro набора выходных уровней, может быть представлен в VPS.[0176] According to the same or another embodiment, in FIG. 20 syntax element
Figure 00000067
indicating the output layer transfer mode for the i-ro set of output layers, may be represented in the VPS.

[0177] Согласно этому же варианту осуществления,

Figure 00000068
равный 0, указывает, что выводится только самый высокий уровень с i-ым набором выходных уровней
Figure 00000069
равный 1, указывает, что выводятся все уровни с i-ым набором выходных уровней. vps_output_layer_mode[i], равный 2, указывает, что выводятся уровни с
Figure 00000070
равным 1, с i-ым набором выходных уровней. Могут быть зарезервированы другие значения.[0177] According to the same embodiment,
Figure 00000068
equal to 0 indicates that only the highest level with the i-th set of output levels is output
Figure 00000069
equal to 1 indicates that all levels with the i-th set of output levels are output. vps_output_layer_mode[i] equal to 2 indicates that levels with
Figure 00000070
equal to 1, with the i-th set of output levels. Other values may be reserved.

[0178] Согласно этому же варианту осуществления

Figure 00000071
может или не может передаваться в зависимости от значения
Figure 00000072
Figure 00000073
для i-го набора выходных уровней.[0178] According to the same embodiment
Figure 00000071
may or may not be passed depending on the value
Figure 00000072
Figure 00000073
for the i-th set of output levels.

[0179] Согласно этому же или другому варианту осуществления, на фиг. 20 флаг

Figure 00000074
может быть представлен i-го набора выходных уровней. В зависимости от значения
Figure 00000075
информация о профилях/ярусах/уровнях для i-го набора выходных уровней может передаваться или не передаваться.[0179] According to the same or another embodiment, in FIG. 20 flag
Figure 00000074
can be represented by the i-th set of output levels. Depending on the value
Figure 00000075
the profile/tier/level information for the i-th set of output levels may or may not be transmitted.

[0180] Согласно этому же или другому варианту осуществления, на фиг. 21 число субизображений,

Figure 00000076
в текущем CVS может передаваться в синтаксической структуре высокого уровня, например в VPS, DPS, SPS, PPS, APS или в сообщении SEI.[0180] According to the same or another embodiment, in FIG. 21 number of sub-images,
Figure 00000076
in the current CVS, it may be carried in a high-level syntax, such as VPS, DPS, SPS, PPS, APS, or an SEI message.

[0181] Согласно этому же варианту осуществления, на фиг. 21 идентификатор субизображения,

Figure 00000077
для i-го субизображения может передаваться, когда число субизображений больше 1
Figure 00000078
[0181] According to the same embodiment, in FIG. 21 sub-image ID,
Figure 00000077
for the i-th sub-picture may be transmitted when the number of sub-pictures is greater than 1
Figure 00000078

[0182] Согласно этому же или другому варианту осуществления, один или более элементов синтаксиса, указывающих идентификатор субизображения, относящийся к каждому уровню каждого набора выходных уровней, могут передаваться в VPS. На фиг. 22

Figure 00000079
который указывает k-е субизображение, представлен в j-ом уровне i-го набора выходных уровней. С помощью этой информации декодер может распознать, какое субизображение может быть декодировано и выведено для каждого уровня конкретного набора выходных уровней.[0182] According to the same or another embodiment, one or more syntax elements indicating a sub-image identifier related to each level of each set of output levels may be transmitted to the VPS. In FIG. 22
Figure 00000079
which indicates the k-th sub-image is represented in the j-th layer of the i-th output layer set. With this information, the decoder can recognize which sub-picture can be decoded and output for each level of a particular set of output levels.

[0183] Согласно варианту осуществления, заголовок изображения (РН, Picture Header) представляет собой синтаксическую структуру, содержащую элементы синтаксиса, которые применяются ко всем слайсам кодированного изображения. Блок изображения (PU, Picture Unit) - это набор блоков NAL, которые связаны друг с другом в соответствии с заданным правилом классификации, последовательно расположены в соответствии с порядком декодирования и содержат точно кодированное изображение. PU может содержать заголовок изображения (РН, Picture Header) и один или более блоков NAL с VCL, составляющих кодированное изображение.[0183] According to an embodiment, a picture header (PH, Picture Header) is a syntactic structure containing syntax elements that apply to all slices of an encoded picture. Picture Unit (PU, Picture Unit) is a set of NAL units that are related to each other in accordance with a given classification rule, sequentially arranged in accordance with the decoding order, and contain an accurately encoded image. The PU may contain a Picture Header (PH) and one or more VCL NAL units constituting the encoded picture.

[0184] Согласно варианту осуществления, SPS (RBSP), содержащийся по меньшей мере в одном AU с Temporalid, равным 0, или предоставленный с помощью внешних средств, может быть доступен для процесса декодирования до того, как на него будет сделана ссылка.[0184] According to an embodiment, an SPS (RBSP) contained in at least one AU with Temporalid equal to 0 or provided by external means may be available to the decoding process before it is referenced.

[0185] Согласно варианту осуществления, SPS (RBSP), содержащийся по меньшей мере в одном AU с Temporalid, равным 0, в CVS, который содержит один или более PPS, относящихся к SPS, или предоставленный с помощью внешних средств, может быть доступен для процесса декодирования до того, как на него будет сделана ссылка.[0185] According to an embodiment, an SPS (RBSP) contained in at least one AU with Temporalid equal to 0 in a CVS that contains one or more SPS-related PPSs or provided by external means may be available to decoding process before it is referenced.

[0186] Согласно варианту осуществления, SPS (RBSP) может быть доступен для процесса декодирования до того, как на него будет сделана ссылка одним или более PPS, содержащимися по меньшей мере в одном PU с

Figure 00000080
равным наименьшему значению
Figure 00000081
блоков NAL с PPS, которые относятся к блоку NAL с SPS в CVS, который содержит один или более PPS, относящихся к SPS, или предоставленных с помощью внешних средств.[0186] According to an embodiment, an SPS (RBSP) may be available to the decoding process before it is referenced by one or more PPSs contained in at least one PU with
Figure 00000080
equal to the smallest value
Figure 00000081
PPS NAL units that refer to an SPS NAL unit in a CVS that contains one or more SPS-specific or externally provided PPSs.

[0187] Согласно варианту осуществления, SPS (RBSP) может быть доступен для процесса декодирования до того, как на него будет сделана ссылка одним или более PPS, содержащимися по меньшей мере в одном PU с Temporalid, равным 0, и

Figure 00000082
равным наименьшему значению
Figure 00000083
блоков NAL с PPS, относящихся к блоку NAL с SPS или предоставленных с помощью внешних средств.[0187] According to an embodiment, an SPS (RBSP) may be available to the decoding process before it is referenced by one or more PPSs contained in at least one PU with Temporalid equal to 0, and
Figure 00000082
equal to the smallest value
Figure 00000083
PPS NAL units that are related to the SPS NAL unit or provided by external means.

[0188] Согласно варианту осуществления, SPS (RBSP) может быть доступен для процесса декодирования до того, как на него будет сделана ссылка одним или более PPS, содержащимися по меньшей мере в одном PU с Temporalid, равным 0, и

Figure 00000084
равным наименьшему значению
Figure 00000085
блоков NAL с PPS, которые относятся к блоку NAL с SPS в CVS, который содержит один или более PPS, относящихся к SPS, или предоставленных с помощью внешних средств.[0188] According to an embodiment, an SPS (RBSP) may be available to the decoding process before it is referenced by one or more PPSs contained in at least one PU with Temporalid equal to 0, and
Figure 00000084
equal to the smallest value
Figure 00000085
PPS NAL units that refer to an SPS NAL unit in a CVS that contains one or more SPS-specific or externally provided PPSs.

[0189] Согласно этому же или другому варианту осуществления,

Figure 00000086
указывает значение
Figure 00000087
для указанного SPS. Значение
Figure 00000088
может быть одинаковым во всех PPS, на которые ссылаются кодированные изображения в CLVS.[0189] According to the same or another embodiment,
Figure 00000086
indicates the value
Figure 00000087
for the specified SPS. Meaning
Figure 00000088
may be the same in all PPS referenced by encoded pictures in CLVS.

[0190] Согласно этому же или другому варианту осуществления, все блоки NAL с SPS с определенным значением

Figure 00000089
в CVS могут иметь одинаковое содержимое.[0190] According to the same or another embodiment, all NAL units with SPS with a certain value
Figure 00000089
in CVS can have the same content.

[0191] Согласно этому же или другому варианту осуществления, независимо от значений

Figure 00000090
блоки NAL с SPS могут совместно использовать одно и то же пространство значений
Figure 00000091
[0191] According to the same or another embodiment, regardless of the values
Figure 00000090
NAL units with SPS can share the same value space
Figure 00000091

[0192] Согласно этому же или другому варианту осуществления, значение

Figure 00000092
блока NAL с SPS может быть равно наименьшему значению
Figure 00000093
блоков NAL с PPS, которые относятся к блоку NAL с SPS.[0192] According to the same or another embodiment, the value
Figure 00000092
NAL unit with SPS may be equal to the smallest value
Figure 00000093
PPS NAL units that are related to the SPS NAL unit.

[0193] Согласно варианту осуществления, когда к SPS с

Figure 00000094
равным m, обращается один или более PPS с
Figure 00000095
равным n, уровень с
Figure 00000096
равным m, может быть идентичен уровню с
Figure 00000097
равным n, или (прямым или косвенным) опорным уровнем уровня с
Figure 00000098
равным m.[0193] According to an embodiment, when to the SPS with
Figure 00000094
equal to m, one or more PPS with
Figure 00000095
equal to n, level c
Figure 00000096
equal to m, may be identical to the level with
Figure 00000097
equal to n, or a (direct or indirect) level reference level with
Figure 00000098
equal to m.

[0194] Согласно варианту осуществления, PPS (RBSP), содержащийся по меньшей мере в одном AU с TemporalId, равным TemporalId блока NAL с PPS, или предоставленный с помощью внешних средств, может быть доступен для процесса декодирования до того, как на него будет сделана ссылка.[0194] According to an embodiment, a PPS (RBSP) contained in at least one AU with a TemporalId equal to the TemporalId of the PPS NAL unit, or provided by external means, may be available to the decoding process before any work is done on it. link.

[0195] Согласно варианту осуществления, PPS (RBSP), содержащийся по меньшей мере в одном AU с TemporalId, равным TemporalId блока NAL с PPS в CVS, который содержит один или более РН (или блоков NAL с кодированными слайсами), относящихся к PPS, или предоставленный с помощью внешних средств, может быть доступен для процесса декодирования до того, как на него будет сделана ссылка.[0195] According to an embodiment, a PPS (RBSP) contained in at least one AU with a TemporalId equal to the TemporalId of a PPS NAL unit in a CVS that contains one or more PHs (or slice-coded NAL units) related to the PPS, or provided by external means may be available to the decoding process before it is referenced.

[0196] Согласно варианту осуществления, PPS (RBSP) может быть доступен для процесса декодирования до того, как на него будет сделана ссылка одним или более РН (или блоками NAL с кодированными слайсами), содержащимися по меньшей мере в одном PU с

Figure 00000099
равным наименьшему значению
Figure 00000100
блоков NAL с кодированными слайсами, которые относятся к блоку NAL с PPS в CVS, который содержит один или более РН (или блоков NAL с кодированными слайсами), относящихся к SPS, или предоставленных с помощью внешних средств.[0196] According to an embodiment, a PPS (RBSP) may be available to the decoding process before it is referenced by one or more PHs (or coded slice NAL units) contained in at least one PU with
Figure 00000099
equal to the smallest value
Figure 00000100
coded slice NAL units that refer to a PPS NAL unit in a CVS that contains one or more PHs (or coded slice NAL units) that belong to the SPS or are provided by external means.

[0197] Согласно варианту осуществления, PPS (RBSP) может быть доступен для процесса декодирования до того, как на него будет сделана ссылка одним или более РН (или блоками NAL с кодированными слайсами), содержащимися по меньшей мере в одном PU с TemporalId, равным TemporalId блока NAL с PPS, и с

Figure 00000101
равным наименьшему значению
Figure 00000102
блоков NAL с кодированными слайсами, которые относятся к блоку NAL с PPS в CVS, который содержит один или более РН (или блоков NAL с кодированными слайсами), относящихся к SPS, или предоставленных с помощью внешних средств.[0197] According to an embodiment, a PPS (RBSP) may be available to the decoding process before being referenced by one or more PHs (or coded slice NAL units) contained in at least one PU with a TemporalId equal to TemporalId of the NAL unit with PPS, and with
Figure 00000101
equal to the smallest value
Figure 00000102
coded slice NAL units that refer to a PPS NAL unit in a CVS that contains one or more PHs (or coded slice NAL units) that belong to the SPS or are provided by external means.

[0198] Согласно этому же или другому варианту осуществления,

Figure 00000103
в РН определяет значение
Figure 00000104
для используемого PPS, на который выполняется ссылка. Значение
Figure 00000105
может быть одинаковым во всех PPS, на которые ссылаются кодированные изображения в CLVS.[0198] According to the same or another embodiment,
Figure 00000103
in pH defines the value
Figure 00000104
for the PPS in use that is being referenced. Meaning
Figure 00000105
may be the same in all PPS referenced by encoded pictures in CLVS.

[0199] Согласно этому же или другому варианту осуществления, все блоки NAL с PPS с определенным значением

Figure 00000106
в PU могут иметь одинаковое содержимое.[0199] According to the same or another embodiment, all NAL units with PPS with a certain value
Figure 00000106
in PU can have the same content.

[0200] Согласно этому же или другому варианту осуществления, независимо от значений

Figure 00000107
блоки NAL с SPS могут совместно использовать одно и то же пространство значений
Figure 00000108
[0200] According to the same or another embodiment, regardless of the values
Figure 00000107
NAL units with SPS can share the same value space
Figure 00000108

[0201] Согласно этому же или другому варианту осуществления, значение

Figure 00000109
блока NAL с PPS может быть равно наименьшему значению
Figure 00000110
блоков NAL с кодированными слайсами, которые относятся к блоку NAL, который относится к блоку NAL с PPS.[0201] According to the same or another embodiment, the value
Figure 00000109
NAL unit with PPS may be equal to the smallest value
Figure 00000110
coded slice NAL units that are related to the NAL unit that is related to the PPS NAL unit.

[0202] Согласно варианту осуществления, когда к PPS с

Figure 00000111
равным m, обращается один или более блоков NAL с кодированными слайсами с
Figure 00000112
равным m, уровень с
Figure 00000113
равным m, может быть идентичен уровню с
Figure 00000114
равным n, или (прямым или косвенным) опорным уровнем уровня с
Figure 00000115
равным m.[0202] According to an embodiment, when to the PPS with
Figure 00000111
equal to m, one or more coded slice NAL units are accessed with
Figure 00000112
equal to m, level c
Figure 00000113
equal to m, may be identical to the level with
Figure 00000114
equal to n, or a (direct or indirect) level reference level with
Figure 00000115
equal to m.

[0203] Согласно варианту осуществления, PPS (RBSP), содержащийся по меньшей мере в одном AU с TemporalId, равным TemporalId блока NAL с PPS, или предоставленный с помощью внешних средств, может быть доступен для процесса декодирования до того, как на него будет сделана ссылка.[0203] According to an embodiment, a PPS (RBSP) contained in at least one AU with a TemporalId equal to the TemporalId of the PPS NAL unit, or provided by external means, may be available to the decoding process before it is made link.

[0204] Согласно варианту осуществления, PPS (RBSP), содержащийся по меньшей мере в одном AU с Temporalid, равным Temporalid блока NAL с PPS в CVS, который содержит один или более РН (или блоков NAL с кодированными слайсами), относящихся к PPS, или предоставленный с помощью внешних средств, может быть доступен для процесса декодирования до того, как на него будет сделана ссылка.[0204] According to an embodiment, a PPS (RBSP) contained in at least one AU with a Temporalid equal to the Temporalid of a PPS NAL unit in a CVS that contains one or more PHs (or slice-coded NAL units) related to the PPS, or provided by external means may be available to the decoding process before it is referenced.

[0205] Согласно варианту осуществления, PPS (RBSP) может быть доступен для процесса декодирования до того, как на него будет сделана ссылка одним или более РН (или блоками NAL с кодированными слайсами), содержащимися по меньшей мере в одном PU с

Figure 00000116
равным наименьшему значению
Figure 00000117
блоков NAL с кодированными слайсами, которые относятся к блоку NAL с PPS в CVS, который содержит один или более РН (или блоков NAL с кодированными слайсами), относящихся к SPS, или предоставленных с помощью внешних средств.[0205] According to an embodiment, a PPS (RBSP) may be available to the decoding process before it is referenced by one or more PHs (or coded slice NAL units) contained in at least one PU with
Figure 00000116
equal to the smallest value
Figure 00000117
coded slice NAL units that refer to a PPS NAL unit in a CVS that contains one or more PHs (or coded slice NAL units) that belong to the SPS or are provided by external means.

[0206] Согласно варианту осуществления, PPS (RBSP) может быть доступен для процесса декодирования до того, как на него будет сделана ссылка одним или более РН (или блоками NAL с кодированными слайсами), содержащимися по меньшей мере в одном PU с Temporalid, равным Temporalid блока NAL с PPS, и с

Figure 00000118
равным наименьшему значению
Figure 00000119
блоков NAL с кодированными слайсами, которые относятся к блоку NAL с PPS в CVS, который содержит один или более РН (или блоков NAL с кодированными слайсами), относящихся к SPS, или предоставленных с помощью внешних средств.[0206] According to an embodiment, a PPS (RBSP) may be available to the decoding process before it is referenced by one or more PHs (or encoded slice NAL units) contained in at least one PU with Temporalid equal to Temporalid NAL unit with PPS, and with
Figure 00000118
equal to the smallest value
Figure 00000119
coded slice NAL units that refer to a PPS NAL unit in a CVS that contains one or more PHs (or coded slice NAL units) that belong to the SPS or are provided by external means.

[0207] Согласно этому же или другому варианту осуществления,

Figure 00000120
в РН определяет значение
Figure 00000121
для используемого PPS, на который выполняется ссылка. Значение
Figure 00000122
может быть одинаковым во всех PPS, на которые ссылаются кодированные изображения в CLVS.[0207] According to the same or another embodiment,
Figure 00000120
in pH defines the value
Figure 00000121
for the PPS in use that is being referenced. Meaning
Figure 00000122
may be the same in all PPS referenced by encoded pictures in CLVS.

[0208] Согласно этому же или другому варианту осуществления, все блоки NAL с PPS с определенным значением

Figure 00000123
в PU могут иметь одинаковое содержимое.[0208] According to the same or another embodiment, all NAL units with PPS with a certain value
Figure 00000123
in PU can have the same content.

[0209] Согласно этому же или другому варианту осуществления, независимо от значений

Figure 00000124
блоки NAL с SPS могут совместно использовать одно и то же пространство значений
Figure 00000125
[0209] According to the same or another embodiment, regardless of the values
Figure 00000124
NAL units with SPS can share the same value space
Figure 00000125

[0210] Согласно этому же или другому варианту осуществления, значение

Figure 00000126
блока NAL с PPS может быть равно наименьшему значению
Figure 00000127
блоков NAL с кодированными слайсами, которые относятся к блоку NAL, который относится к блоку NAL с PPS.[0210] According to the same or another embodiment, the value
Figure 00000126
NAL unit with PPS may be equal to the smallest value
Figure 00000127
coded slice NAL units that are related to the NAL unit that is related to the PPS NAL unit.

[0211] Согласно варианту осуществления, когда к PPS с

Figure 00000128
равным m, обращается один или более блоков NAL с кодированными слайсами с
Figure 00000128
равным n, уровень с
Figure 00000129
равным m, может быть идентичен уровню с
Figure 00000130
равным n, или (прямым или косвенным) опорным уровнем уровня с
Figure 00000131
равным m.[0211] According to an embodiment, when to the PPS with
Figure 00000128
equal to m, one or more coded slice NAL units are accessed with
Figure 00000128
equal to n, level c
Figure 00000129
equal to m, may be identical to the level with
Figure 00000130
equal to n, or a (direct or indirect) level reference level with
Figure 00000131
equal to m.

[0212] Выходной уровень указывает уровень из набора выходных уровней, который подается на выход. Набор выходных уровней (OLS, Output Layer Set) указывает набор уровней, состоящий из заданного набора уровней, в котором один или более уровней в наборе уровней определены как выходные уровни. Индекс уровня из набора выходных уровней (OLS) - это индекс уровня в OLS в списке уровней в OLS.[0212] The output level indicates the level from the set of output levels that is output. An Output Layer Set (OLS) indicates a layer set consisting of a given layer set in which one or more levels in the layer set are defined as output layers. The level index from the output level set (OLS) is the index of the level in the OLS in the list of levels in the OLS.

[0213] Подуровень указывает уровень временного масштабирования битового потока с временным масштабированием, содержащего блоки NAL VCL с определенным значением переменной TemporalId и ассоциированные блоки, не являющиеся NAL VCL. Представление подуровня указывает подмножество битового потока, содержащего блоки NAL конкретного подуровня и нижних подуровней.[0213] The sublayer indicates the temporal scaling level of a temporally scalable bitstream containing VCL NAL units with a specific TemporalId variable value and associated non-NAL VCL units. The sublayer representation indicates a subset of the bitstream containing the NAL units of the particular sublayer and lower sublayers.

[0214] RBSP VPS, содержащийся по меньшей мере в одном AU с TemporalId, равным 0, или предоставленный с помощью внешних средств, может быть доступен для процесса декодирования до того, как на него будет сделана ссылка. Все блоки NAL SPS с определенным значением

Figure 00000132
в CVS могут иметь одинаковое содержимое. На фиг. 22 показан пример RBSP VPS.[0214] A VPS RBSP contained in at least one AU with TemporalId equal to 0, or provided by external means, may be available to the decoding process before it is referenced. All SPS NAL units with a specific value
Figure 00000132
in CVS can have the same content. In FIG. 22 shows an example of an RBSP VPS.

[0215]

Figure 00000133
предоставляет идентификатор VPS для ссылки на него других элементов синтаксиса. Значение
Figure 00000134
может быть больше 0.[0215]
Figure 00000133
provides a VPS ID for other syntax elements to refer to. Meaning
Figure 00000134
may be greater than 0.

[0216]

Figure 00000135
плюс 1 указывает максимально допустимое число уровней в каждой CVS, ссылающейся на VPS.[0216]
Figure 00000135
plus 1 specifies the maximum number of levels allowed in each CVS linking to the VPS.

[0217]

Figure 00000136
плюс 1 указывает максимальное число временных подуровней, которые могут быть представлены на одном уровне в каждой CVS, ссылающейся на VPS. Значение
Figure 00000137
должно находиться в диапазоне от 0 до 6 включительно.[0217]
Figure 00000136
plus 1 specifies the maximum number of temporary sublevels that can be present at the same level in each CVS referring to the VPS. Meaning
Figure 00000137
must be between 0 and 6 inclusive.

[0218]

Figure 00000138
равный 1, указывает, что число временных подуровней является одинаковым для всех уровней в каждой CVS, ссылающейся на VPS.
Figure 00000139
равный 0, указывает, что уровни в каждой CVS, ссылающейся на VPS, могут иметь или не иметь одинаковое число временных подуровней. Когда этот элемент синтаксиса не представлен, предполагается, что значение
Figure 00000140
равно 1.[0218]
Figure 00000138
equal to 1 indicates that the number of temporary sublevels is the same for all levels in each CVS referring to the VPS.
Figure 00000139
set to 0 indicates that the levels in each CVS referring to the VPS may or may not have the same number of temporary sublevels. When this syntax element is not present, the value is assumed to be
Figure 00000140
equals 1.

[0219]

Figure 00000141
равный 1, указывает, что все уровни в CVS кодируются независимо без использования межуровневого предсказания.
Figure 00000142
равный 0, указывает, что на одном или более уровней в CVS может использоваться межуровневое предсказание. Когда этот элемент синтаксиса не представлен, предполагается, что значение
Figure 00000143
[0219]
Figure 00000141
equal to 1 indicates that all layers in CVS are encoded independently without using inter-layer prediction.
Figure 00000142
equal to 0 indicates that one or more levels in CVS can use inter-level prediction. When this syntax element is not present, the value is assumed to be
Figure 00000143

[0220]

Figure 00000144
i-го уровня. В случае любых двух неотрицательных целых значений тип, когда m меньше n, значение
Figure 00000145
может быть меньше
Figure 00000146
[0220]
Figure 00000144
i-th level. In the case of any two non-negative integer values, the type, when m is less than n, the value
Figure 00000145
maybe less
Figure 00000146

[0221]

Figure 00000147
равный 1, указывает, что на уровне с индексом i межуровневое предсказание не используется,
Figure 00000148
равный 0, указывает, что на уровне с индексом i может использоваться межуровневое предсказание, а элементы синтаксиса
Figure 00000149
для] в диапазоне от 0 до «i - 1» включительно представлены в VPS. Когда этот элемент синтаксиса не представлен, предполагается, что значение
Figure 00000150
равно 1.[0221]
Figure 00000147
equal to 1 indicates that the level with index i does not use inter-level prediction,
Figure 00000148
equal to 0 indicates that interlevel prediction can be used at the level with index i, and the syntax elements
Figure 00000149
for] in the range from 0 to "i - 1" inclusive are represented in the VPS. When this syntax element is not present, the value is assumed to be
Figure 00000150
equals 1.

[0222]

Figure 00000151
равный 0, указывает, что уровень с индексом j не является прямым опорным уровнем для уровня с индексом i.
Figure 00000152
равный 1, указывает, что уровень с индексом] является прямым опорным уровнем для уровня с индексом i. Когда
Figure 00000153
отсутствует для i и j в диапазоне от 0 до
Figure 00000154
включительно, предполагается, что он равен 0. Когда
Figure 00000155
может быть по меньшей мере одно значение j в диапазоне от 0 до «i - 1» включительно, так что значение
Figure 00000156
[0222]
Figure 00000151
equal to 0 indicates that the level with index j is not a direct reference level for the level with index i.
Figure 00000152
equal to 1 indicates that the level at index] is the direct reference level for the level at index i. When
Figure 00000153
missing for i and j in the range from 0 to
Figure 00000154
inclusive, it is assumed to be 0. When
Figure 00000155
there can be at least one value of j in the range from 0 to "i - 1" inclusive, so that the value
Figure 00000156

[0223] Переменные

Figure 00000157
Figure 00000158
пределяются следующим образом:[0223] Variables
Figure 00000157
Figure 00000158
are defined as follows:

Figure 00000159
Figure 00000159

[0224] Переменная GeneralLayerIdx[i], указывающая индекс уровня с

Figure 00000160
равным
Figure 00000161
определяется следующим образом:[0224] Variable GeneralLayerIdx[i], indicating the index of the layer with
Figure 00000160
equal
Figure 00000161
is defined as follows:

Figure 00000162
Figure 00000162

[0225] Для любых двух разных значений i и j, которые оба находятся в диапазоне от 0 до vps_max_layers_minus 1 включительно, когда dependencyFlag [i] [j] равен 1, требуется согласование битовых потоков, чтобы значения

Figure 00000163
и
Figure 00000164
которые применяются к i-му уровню, могли быть равны значениям
Figure 00000165
соответственно, которые применяются к j-му уровню.[0225] For any two different values of i and j that are both in the range 0 to vps_max_layers_minus 1 inclusive, when dependencyFlag[i][j] is 1, bitstream matching is required so that the values
Figure 00000163
and
Figure 00000164
that apply to the i-th level could be equal to the values
Figure 00000165
respectively, which apply to the j-th level.

[0226]

Figure 00000166
равный 1, указывает, что представлен элемент синтаксиса
Figure 00000167
равный 0, указывает, что элемент синтаксиса
Figure 00000168
не представлен.[0226]
Figure 00000166
equal to 1 indicates that a syntax element is present
Figure 00000167
equal to 0 indicates that the syntax element
Figure 00000168
not presented.

[0227]

Figure 00000169
равный 0, указывает, что межуровневое предсказание для изображений i-ro уровня, не являющимися IRAP, не используется.
Figure 00000170
больше 0 указывает, что для декодирования изображений i-го уровня ни одно изображение с Temporalid больше
Figure 00000171
не используется в качестве ILRP. Когда этот элемент синтаксиса не представлен, предполагается, что значение
Figure 00000172
[0227]
Figure 00000169
equal to 0 indicates that inter-layer prediction for non-IRAP layer i-ro images is not used.
Figure 00000170
greater than 0 indicates that for decoding images of the i-th level, no image with Temporalid is greater than
Figure 00000171
not used as an ILRP. When this syntax element is not present, the value is assumed to be
Figure 00000172

[0228]

Figure 00000173
равный 1, указывает, что в каждом OLS содержится только один уровень, а сам каждый уровень в CVS, ссылающейся на VPS, является OLS с единственным включенным уровнем, который является единственным выходным уровнем.
Figure 00000174
равный 0, указывает, что в OLS может содержаться более одного уровня. Когда значение элемента синтаксиса
Figure 00000175
равно 0, предполагается, что значение элемента синтаксиса
Figure 00000176
В противном случае, когда значение элемента синтаксиса
Figure 00000177
предполагается, что значение элемента синтаксиса
Figure 00000178
[0228]
Figure 00000173
equal to 1 indicates that each OLS contains only one level, and each level in the CVS referring to the VPS is an OLS with a single included level, which is the only output level.
Figure 00000174
equal to 0 indicates that more than one layer can be contained in the OLS. When the value of a syntax element
Figure 00000175
is 0, it is assumed that the value of the syntax element
Figure 00000176
Otherwise, when the value of the syntax element
Figure 00000177
it is assumed that the value of the syntax element
Figure 00000178

[0229]

Figure 00000179
указывает, что общее число OLS, указанное VPS, равно
Figure 00000180
OLS содержит уровни с индексами уровней от 0 до i включительно, и для каждого OLS выводится только самый высокий уровень в OLS.[0229]
Figure 00000179
indicates that the total number of OLSs specified by the VPS is
Figure 00000180
The OLS contains levels with level indices from 0 to i inclusive, and for each OLS only the highest level in the OLS is output.

[0230]

Figure 00000181
равный 1, указывает, что общее число OLS, указанное VPS, равно
Figure 00000182
i-ый OLS содержит уровни с индексами уровней от 0 до i включительно, и для каждого OLS выводятся все уровни в OLS.[0230]
Figure 00000181
equal to 1 indicates that the total number of OLSs specified by the VPS is
Figure 00000182
The i-th OLS contains levels with level indices from 0 to i inclusive, and for each OLS all levels in the OLS are output.

[0231]

Figure 00000183
равный 2, указывает, что общее число OLS, указанных VPS, передается в явном виде, и для каждого OLS в явном виде передаются выходные уровни, и другие уровни являются прямыми или косвенными опорными уровнями выходных уровней OLS.[0231]
Figure 00000183
equal to 2 indicates that the total number of OLSs specified by the VPS is explicitly transmitted, and for each OLS, output layers are explicitly transmitted, and other layers are direct or indirect reference layers of output OLS layers.

[0232] Значение

Figure 00000184
может находиться в диапазоне от 0 до 2 включительно. Значение 3 элемента
Figure 00000185
зарезервировано для использования в будущем в стандартах
Figure 00000186
[0232] Value
Figure 00000184
can be in the range from 0 to 2 inclusive. 3 element value
Figure 00000185
reserved for future use in standards
Figure 00000186

[0233] Когда

Figure 00000187
а
Figure 00000188
равен 0, предполагается, что значение
Figure 00000189
равно 2.[0233] When
Figure 00000187
a
Figure 00000188
is 0, it is assumed that the value
Figure 00000189
equals 2.

[0234]

Figure 00000190
плюс 1 указывает общее число OLS, указанных VPS,
Figure 00000191
равен 2.[0234]
Figure 00000190
plus 1 indicates the total number of OLSs specified by the VPS,
Figure 00000191
equals 2.

[0235] Переменная TotalNumOlss, указывающая общее число OLS, указанных VPS, определяется следующим образом:[0235] The TotalNumOlss variable indicating the total number of OLSs specified by the VPS is defined as follows:

Figure 00000192
Figure 00000192

[0236]

Figure 00000193
равный 1, указывает, что уровень с
Figure 00000194
является выходным уровнем i-го OLS, когда
Figure 00000195
равный 0, указывает, что уровень с
Figure 00000196
не является выходным слоем i-го OLS, когда
Figure 00000197
[0236]
Figure 00000193
equal to 1 indicates that the level with
Figure 00000194
is the output level of the i-th OLS when
Figure 00000195
equal to 0 indicates that the level with
Figure 00000196
is not the output layer of the i-th OLS when
Figure 00000197

[0237] Переменная NumOutputLayersmOls[i], указывающая число выходных уровней в i-ом OLS, переменная NumSubLayersInLayerlnOLS[i][j], указывающая число подуровней j-ом слое в i-ом OLS, переменная OutputLayerldmOls[i][j], указывающая значение

Figure 00000198
выходного уровня в i-ом OLS, и переменная
Figure 00000199
указывающая, используется ли k-ый уровень в качестве выходного уровня по меньшей мере в одном OLS, определяются следующим образом:[0237] The NumOutputLayersmOls[i] variable indicating the number of output layers in the i-th OLS, the NumSubLayersInLayerlnOLS[i][j] variable indicating the number of sublayers of the j-th layer in the i-th OLS, the OutputLayerldmOls[i][j] variable, indicating value
Figure 00000198
output level in the i-th OLS, and the variable
Figure 00000199
indicating whether the k-th layer is used as an output layer in at least one OLS are defined as follows:

Figure 00000200
Figure 00000200

Figure 00000201
Figure 00000201

Figure 00000202
Figure 00000202

[0238] Для каждого значения i в диапазоне от 0 до

Figure 00000203
включительно значения LayerUsedAsRefLayerFlag[i] и LayerUsedAsOutputLayerFlag[i] не могут быть равны 0 одновременно. Другими словами, не может существовать уровень, который не является ни выходным уровнем хотя бы одного OLS, ни прямым опорным уровнем любого другого уровня.[0238] For each value of i in the range from 0 to
Figure 00000203
inclusive, the values of LayerUsedAsRefLayerFlag[i] and LayerUsedAsOutputLayerFlag[i] cannot both be equal to 0. In other words, there cannot be a layer that is neither the output layer of at least one OLS nor the direct reference layer of any other layer.

[0239] Для каждого OLS может существовать по меньшей мере один уровень, который является выходным уровнем. Другими словами, для любого значения i в диапазоне от 0 до TotalNumOlss 1 включительно значение NumOutputLayersInOls[i] может быть больше или равно 1.[0239] For each OLS, there may be at least one layer that is an output layer. In other words, for any value of i between 0 and TotalNumOlss 1 inclusive, NumOutputLayersInOls[i] can be greater than or equal to 1.

[0240] Переменная NumLayersInOls[i], указывающая число уровней i-ом OLS, и переменная LayerIdInOls[i][j], указывающая значение

Figure 00000204
j-го уровня в i-ом OLS, определяются следующим образом:[0240] The NumLayersInOls[i] variable indicating the number of layers of the i-th OLS, and the LayerIdInOls[i][j] variable indicating the value
Figure 00000204
j-th level in the i-th OLS are defined as follows:

Figure 00000205
Figure 00000205

Figure 00000206
Figure 00000206

[0241] Переменная OlsLayerIdx[i][j], указывающая индекс уровня OLS с

Figure 00000207
равным LayerIdInOls[i][j], определяется следующим образом:[0241] Variable OlsLayerIdx[i][j], indicating the index of the OLS layer with
Figure 00000207
equal to LayerIdInOls[i][j] is defined as follows:

Figure 00000208
Figure 00000208

[0242] Самый низкий уровень в каждом OLS может быть независимым уровнем. Другими словами, для каждого i в диапазоне от 0 до TotalNumOlss - 1 включительно значение

Figure 00000209
может быть равно 1.[0242] The lowest layer in each OLS may be an independent layer. In other words, for each i in the range from 0 to TotalNumOlss - 1 inclusive, the value
Figure 00000209
may be equal to 1.

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

Figure 00000210
равным одному из
Figure 00000211
для к в диапазоне от 0 до vps_max_layers_minus1 включительно, может существовать по меньшей мере одна пара значений из i и j, где i находится в диапазоне от 0 до TotalNumOlss 1 включительно, а j находится в диапазоне значений до NumLayersInOls[i] 1 включительно, так что значение LayerIdInOls [i] [j] равно nuhLayerId.[0243] Each layer can be included in at least one OLS specified by the VPS. In other words, for each level with a certain value
Figure 00000210
equal to one of
Figure 00000211
for k in the range 0 to vps_max_layers_minus1 inclusive, there can be at least one pair of i and j where i is in the range 0 to TotalNumOlss 1 inclusive and j is in the range up to and including NumLayersInOls[i] 1, so that the value of LayerIdInOls[i][j] is nuhLayerId.

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

Figure 00000212
в VPS, на который ссылается блок NAL с VCL.[0244] According to an embodiment, the temporalId value of any VCL NAL unit in the encoded video sequence cannot be greater than
Figure 00000212
in the VPS referenced by the NAL unit with the VCL.

[0245] Согласно этому же или другому варианту осуществления,

Figure 00000213
имеет следующую семантику:[0245] According to the same or another embodiment,
Figure 00000213
has the following semantics:

[0246]

Figure 00000214
равный 0, указывает, что межуровневое предсказание для изображений i-ro уровня, не являющимися IRAP, не используется.
Figure 00000215
больше 0 указывает, что для декодирования изображений i-го уровня ни одно изображение с TemporalId больше
Figure 00000216
-1 не используется в качестве ILRP. Когда этот элемент синтаксиса не представлен, предполагается, что значение
Figure 00000217
равно
Figure 00000218
[0246]
Figure 00000214
equal to 0 indicates that inter-layer prediction for non-IRAP layer i-ro images is not used.
Figure 00000215
greater than 0 indicates that for decoding images of the i-th level, no image with TemporalId is greater than
Figure 00000216
-1 is not used as an ILRP. When this syntax element is not present, the value is assumed to be
Figure 00000217
equals
Figure 00000218

[0247] Согласно этому же или другому варианту осуществления,

Figure 00000219
не может быть больше
Figure 00000220
[0247] According to the same or another embodiment,
Figure 00000219
can't be more
Figure 00000220

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

Figure 00000221
и layerIncludedInOlsFlag не могут быть определены для независимых уровней.[0248] According to an embodiment, a set of output levels across sublevels cannot be obtained for independent levels. In this way,
Figure 00000221
and layerIncludedInOlsFlag cannot be defined for independent layers.

[0249] Согласно этому же или другому варианту осуществления, переменная NumOutputLayersInOls[i], указывающая число выходных уровней в i-ом OLS, переменная NumSubLayersInLayerInOLS[i][j], указывающая число подуровней j-ом слое в i-ом OLS, переменная OutputLayerIdInOls[i][j], указывающая значение

Figure 00000222
выходного уровня в i-ом OLS, и переменная LayerUsedAsOutputLayerFlag[k], указывающая, используется ли k-ый уровень в качестве выходного уровня по меньшей мере в одном OLS, определяются следующим образом:[0249] According to the same or another embodiment, the NumOutputLayersInOls[i] variable indicating the number of output layers in the i-th OLS, the NumSubLayersInLayerInOLS[i][j] variable indicating the number of sublayers of the j-th layer in the i-th OLS, the variable OutputLayerIdInOls[i][j] indicating the value
Figure 00000222
output layer in the i-th OLS, and the variable LayerUsedAsOutputLayerFlag[k] indicating whether the k-th layer is used as an output layer in at least one OLS are defined as follows:

Figure 00000223
Figure 00000223

Figure 00000224
Figure 00000224

Figure 00000225
Figure 00000225

[0250] На фиг. 23 показан пример таблицы синтаксиса RBSP SPS. В синтаксической структуре

Figure 00000226
плюс 1 указывает максимальное число временных подуровней, которые могут быть представлены в каждой CLVS, ссылающейся на SPS. Значение
Figure 00000227
должно находиться в диапазоне от 0 до
Figure 00000228
включительно.[0250] FIG. 23 shows an example RBSP SPS syntax table. In syntactical structure
Figure 00000226
plus 1 indicates the maximum number of temporal sublayers that can be present in each CLVS referring to the SPS. Meaning
Figure 00000227
must be in the range from 0 to
Figure 00000228
inclusive.

[0251] Согласно варианту осуществления, когда все уровни в кодированной видеопоследовательности имеют одинаковое число подуровней, число подуровней каждого уровня может быть равно максимальному числу подуровней, передаваемых в наборе параметров видео.[0251] According to an embodiment, when all layers in an encoded video sequence have the same number of sublayers, the number of sublayers of each layer may be equal to the maximum number of sublayers transmitted in the video parameter set.

[0252] Согласно варианту осуществления, когда значение

Figure 00000229
значение
Figure 00000230
в SPS, относящемся к VPS, должно быть равно значению
Figure 00000231
[0252] According to an embodiment, when the value
Figure 00000229
meaning
Figure 00000230
in the VPS related SPS must be equal to the value
Figure 00000231

[0253] Согласно варианту осуществления, когда

Figure 00000232
больше 0 и
Figure 00000233
должен быть равен
Figure 00000234
[0253] According to an embodiment, when
Figure 00000232
greater than 0 and
Figure 00000233
should be equal
Figure 00000234

[0254] Описанные выше методы передачи параметров адаптивного разрешения могут быть реализованы в виде компьютерного программного обеспечения, использующего компьютерно-считываемые инструкции и физически хранящегося на одном или более компьютерно-считываемых носителях. Например, на фиг. 7 показана компьютерная система (700), пригодная для реализации некоторых вариантов осуществления раскрытого изобретения.[0254] The adaptive resolution parameter transmission techniques described above may be implemented in computer software using computer-readable instructions and physically stored on one or more computer-readable media. For example, in FIG. 7 shows a computer system (700) suitable for implementing some embodiments of the disclosed invention.

[0255] Компьютерное программное обеспечение может быть кодировано с использованием любого подходящего машинного кода или языка программирования, который может ассемблироваться, компилироваться, компоноваться или с помощью подобных механизмов формировать код, содержащий команды, которые могут выполняться непосредственно или интерпретироваться, выполняться в виде микрокоманд и т.п.центральными процессорами компьютера (CPU, Central Processing Unit), графическими процессорами (GPU, Graphics Processing Unit) и т.п.[0255] Computer software may be coded using any suitable machine code or programming language that can be assembled, compiled, linked, or similar mechanisms to generate code containing instructions that can be directly executed or interpreted, executed as microinstructions, etc. .p. computer central processing units (CPU, Central Processing Unit), graphic processors (GPU, Graphics Processing Unit), etc.

[0256] Инструкции могут выполняться на компьютерах различных типов или их компонентах, включая, например, персональные компьютеры, планшетные компьютеры, серверы, смартфоны, игровые устройства, устройства интернета вещей и т.п.[0256] Instructions may be executed on various types of computers or components thereof, including, for example, personal computers, tablet computers, servers, smartphones, gaming devices, IoT devices, and the like.

[0257] Компоненты компьютерной системы (700), показанные на фиг. 7, носят иллюстративный характер и не призваны налагать какое-либо ограничение на объем применения или функциональные возможности компьютерного программного обеспечения, реализующего варианты осуществления настоящего изобретения. Конфигурацию компонентов также не следует интерпретировать как имеющую какую-либо зависимость или требование в связи с любым одним или комбинацией компонентов, показанных в иллюстративном варианте осуществления компьютерной системы (700).[0257] The computer system components (700) shown in FIG. 7 are illustrative in nature and are not intended to impose any limitation on the scope of application or functionality of computer software implementing embodiments of the present invention. The configuration of the components should also not be interpreted as having any dependency or requirement in connection with any one or combination of the components shown in the illustrative embodiment of the computer system (700).

[0258] Компьютерная система 700 может включать в свой состав устройства ввода пользовательского интерфейса. Такое устройство ввода может отвечать за ввод одним или более пользователями посредством, например, тактильного ввода (например, нажатий на клавиши, махов, движений информационной перчатки), аудио-ввода (например, голосового, хлопков), визуального ввода (например, жестов), обонятельного ввода (не показан). Устройства интерфейса с человеком также могут использоваться для захвата некоторых информационных носителей, не обязательно напрямую связанных с осознанным вводом человеком, например звука (например, речи, музыки, внешнего звука), изображений (например, отсканированных изображений, фотографических изображений, полученных от камеры неподвижных изображений), видео (например, двухмерного видео, трехмерного видео, включающего в себя стереоскопическое видео).[0258] Computer system 700 may include user interface input devices. Such an input device may be responsible for input by one or more users through, for example, tactile input (e.g., keystrokes, waving, glove movements), audio input (e.g., voice, claps), visual input (e.g., gestures), olfactory input (not shown). Human interface devices can also be used to capture certain media not necessarily directly related to conscious human input, such as sound (e.g. speech, music, external sound), images (e.g. scanned images, photographic images received from a still image camera). ), video (eg, 2D video, 3D video including stereoscopic video).

[0259] Входной человеческий интерфейс устройства может включать в себя один или более следующих компонентов (показано только по одному из них): клавиатура (701), мышь (702), сенсорная панель (703), сенсорный экран (710), информационная перчатка (740), джойстик (705), микрофон (706), сканер (707), камера (708).[0259] The input human interface of the device may include one or more of the following components (only one of them is shown): keyboard (701), mouse (702), touchpad (703), touch screen (710), information glove ( 740), joystick (705), microphone (706), scanner (707), camera (708).

[0260] Компьютерная система (700) может также включать в свой состав устройства вывода пользовательского интерфейса. Такие устройства вывода могут стимулировать органы чувств одного или более пользователей посредством, например, тактильного вывода, звука, света и запаха/вкуса. Такие устройства вывода могут включать в себя устройства тактильного вывода (например, тактильной обратной связи посредством сенсорного экрана (710), информационной перчатки (704) или джойстика (705), но также могут быть устройствами тактильной обратной связи, которые не служат устройствами ввода), устройства вывода аудио (например, громкоговорители (709), наушники (не показаны)), устройства визуального вывода (например, экраны (710), в том числе CRT-экраны, LCD-экраны, плазменные экраны, OLED-экраны, каждый с возможностями сенсорного экранного ввода или без них, каждый с возможностями тактильной обратной связи или без них, некоторые из которых способны к двухмерному визуальному выводу или более чем трехмерному выводу посредством, например, стереографического вывода; очков виртуальной реальности (не показаны), голографических дисплеев и дымовых баков (не показаны)) и принтеров (не показаны).[0260] The computer system (700) may also include user interface output devices. Such output devices may stimulate the senses of one or more users through, for example, tactile output, sound, light, and smell/taste. Such output devices may include tactile output devices (e.g., haptic feedback via touch screen (710), data glove (704), or joystick (705), but may also be tactile feedback devices that do not serve as input devices), audio output devices (e.g., speakers (709), headphones (not shown)), visual output devices (e.g., screens (710), including CRT screens, LCD screens, plasma screens, OLED screens, each with capabilities touch-screen input, each with or without haptic feedback capabilities, some of which are capable of 2D visual output or more than 3D output via, for example, stereographic output; virtual reality goggles (not shown), holographic displays, and smoke tanks (not shown)) and printers (not shown).

[0261] Компьютерная система 700 также может содержать доступные пользователю запоминающие устройства и связанные с ними носители, такие как оптические носители, включая CD/DVD ROM/RW 720 с CD/DVD или похожие носители 721, флэш-накопитель 722, съемный или несъемный жесткий диск 723, традиционные магнитные носители, такие как дискета (не показана на чертеже), специализированные устройства, основанные на ROM/ASIC/PLD, такие как аппаратные ключи (не показаны на чертеже) и т.п.[0261] Computer system 700 may also include user-accessible storage devices and associated media such as optical media, including CD/DVD ROM/RW 720 with CD/DVD or similar media 721, flash drive 722, removable or non-removable hard disk disk 723, conventional magnetic media such as a floppy disk (not shown in the drawing), specialized ROM/ASIC/PLD based devices such as dongles (not shown in the drawing), and the like.

[0262] Специалисты в данной области техники также должны понимать, что термин «компьютерно-считываемые носители», используемый в связи с раскрытым здесь изобретением, не охватывает среды передачи, несущие волны или другие кратковременные сигналы.[0262] Those skilled in the art should also understand that the term "computer-readable media" as used in connection with the invention disclosed herein does not encompass transmission media, carrier waves, or other short-term signals.

[0263] Компьютерная система 700 также может содержать интерфейс с одной или более сетями связи. Сети могут быть, например, беспроводными, проводными, оптическими. Сети могут быть, дополнительно, локальными, глобальными, городскими, транспортными и промышленными, реального времени, допускающими задержку и т.д. Примеры сетей включают в себя локальные сети, например, Ethernet, беспроводные LAN, сотовые сети, в том числе GSM, 3G, 4G, 5G, LTE и т.п., глобальные цифровые сети проводного или беспроводного телевидения, в том числе кабельное телевидение, спутниковое телевидение и наземное телевещание, транспортные и промышленные включают в себя CANBus и т.д. Некоторые сети обычно требуют внешних адаптеров сетевого интерфейса, которые подключены к некоторым портам данных общего назначения или периферийным шинам (749) (например, USB-порты компьютерной системы (700)); другие обычно встраиваются в ядро компьютерной системы (700) путем подключения к системной шине, как описано ниже (например, интерфейс Ethernet в компьютерную систему PC или интерфейс сотовой сети в компьютерную систему смартфона). При использовании любой из этих сетей компьютерная система 700 может взаимодействовать с другими объектами. Такая связь может быть однонаправленной с возможностью только приема (например, телевещания), однонаправленной с возможностью только передачи (например, CANBus к некоторым устройствам CANBus) или двунаправленной, например, к другим компьютерным системам с использованием локальной или глобальной цифровой сети. Некоторые протоколы и стеки протоколов могут использоваться в каждой из этих сетей и вышеописанных сетевых интерфейсов.[0263] Computer system 700 may also include an interface to one or more communication networks. Networks can be, for example, wireless, wired, optical. Networks may additionally be local, wide area, metropolitan, transport and industrial, real-time, latency, etc. Examples of networks include local area networks such as Ethernet, wireless LANs, cellular networks including GSM, 3G, 4G, 5G, LTE, etc., digital wide area networks for wired or wireless television, including cable television, satellite TV and terrestrial TV, transport and industrial include CANBus, etc. Some networks typically require external network interface adapters that are connected to some general purpose data ports or peripheral buses (749) (for example, computer system USB ports (700)); others are typically built into the core of the computer system (700) by connecting to a system bus as described below (eg, an Ethernet interface to a PC computer system or a cellular network interface to a smartphone computer system). When using any of these networks, computer system 700 can communicate with other entities. Such communications may be unidirectional with receive-only capability (eg, broadcast), unidirectional with transmit-only capability (eg, CANBus to some CANBus devices), or bidirectional, eg, to other computer systems using a local or wide area digital network. Several protocols and protocol stacks may be used on each of these networks and the network interfaces described above.

[0264] Вышеупомянутые устройства человеческого интерфейса, доступные человеку запоминающие устройства и сетевые интерфейсы могут подключаться к ядру (740) компьютерной системы (700).[0264] The aforementioned human interface devices, human accessible storage devices, and network interfaces can be connected to the core (740) of the computer system (700).

[0265] Ядро 740 может содержать один или более центральных процессоров (CPU, Central Processing Unit) 741, графических процессоров (GPU, Graphics Processing Unit) 742, специализированных программируемых процессорных блоков в виде программируемых пользователем вентильных матриц (FPGA, Field Programmable Gate Area) 743, аппаратных ускорителей 744 для определенных задач и т.д. Эти устройства, совместно с постоянной памятью (ROM) (745), оперативной памятью (746), внутренним хранилищем данных большой емкости, например, внутренними жесткими дисками, недоступными пользователю, SSD и т.п.(747), могут соединяться посредством системной шины (748). В некоторых компьютерных системах системная шина (748) может быть доступна в форме одного или более физических разъемов для обеспечения расширений за счет дополнительных CPU, GPU и т.п.Периферийные устройства могут подключаться либо напрямую к системной шине (748) ядра, либо через периферийную шину (749). Архитектуры периферийной шины включают в себя PCI, USBht.h.[0265] The core 740 may contain one or more central processing units (CPU, Central Processing Unit) 741, graphics processors (GPU, Graphics Processing Unit) 742, specialized programmable processor units in the form of field programmable gate arrays (FPGA, Field Programmable Gate Area) 743, hardware accelerators 744 for certain tasks, etc. These devices, together with read-only memory (ROM) (745), random access memory (746), high-capacity internal storage such as user-inaccessible internal hard drives, SSDs, etc. (747), can be connected via the system bus (748). In some computer systems, the system bus (748) may be available in the form of one or more physical connectors to allow for expansion with additional CPUs, GPUs, etc. Peripherals may be connected either directly to the kernel system bus (748) or through a peripheral. tire (749). Peripheral bus architectures include PCI, USBht.h.

[0266] CPU (741), GPU (742), FPGA (743) и ускорители (744) могут исполнять определенные инструкции, которые в совокупности могут компенсировать недостатки упомянутого выше компьютерного кода. Этот компьютерный код может храниться в ROM (745) или RAM (746). Переходные данные также могут храниться в RAM (746), тогда как постоянные данные могут храниться, например, во внутреннем хранилище (747) данных большой емкости. Быстрое сохранение и извлечение из любого запоминающего устройства может обеспечиваться за счет использования кэш-памяти, которая может быть тесно связана с одним или более CPU (741), GPU (742), хранилищем (747) данных большой емкости, ROM (745), RAM (746) и т.п.[0266] CPUs (741), GPUs (742), FPGAs (743), and accelerators (744) can execute certain instructions, which together can compensate for the shortcomings of the computer code mentioned above. This computer code may be stored in ROM (745) or RAM (746). Transient data may also be stored in RAM (746), while persistent data may be stored, for example, in an internal mass storage (747). Fast storage and retrieval from any storage device can be achieved through the use of cache memory, which can be closely associated with one or more CPU (741), GPU (742), mass storage (747), ROM (745), RAM (746) etc.

[0267] На компьютерно-считываемых носителях может храниться компьютерный код для осуществления различных компьютерно-реализуемых операций. Носители и компьютерный код могут быть специально созданы в целях настоящего изобретения или могут относиться к хорошо известным и доступным специалистам в области компьютерного программного обеспечения.[0267] Computer-readable media may store computer code for performing various computer-implemented operations. The media and computer code may be specially created for the purposes of the present invention or may be well known and available to those skilled in the art of computer software.

[0268] Например, без ограничения приведенным примером, компьютерная система (700) определенной архитектуры и, в частности, ядро (740) может обеспечивать функциональность в результате выполнения процессором(-ами) (включая CPU, GPU, FPGA, ускорители и т.п.) программного обеспечения, реализованного на один или более машиночитаемых носителях. Такие компьютерно-считываемые носители могут быть носителями, связанными с доступным пользователю хранилищем данных большой емкости, представленным выше, а также некоторым хранилищем ядра (740), носящим долговременный характер, например, внутренним хранилищем (747) данных большой емкости или ROM (745). Программное обеспечение, реализующее различные варианты осуществления настоящего изобретения, может храниться в таких устройствах и выполняться ядром (740). Компьютерно-считываемый носитель может включать в себя одно или более запоминающих устройств или микросхем, в соответствии с конкретными требованиями. Программное обеспечение может инициализировать ядро 740 и, в частности, процессоры, расположенные в нем (включая CPU, GPU, FPGA ит.п.), для выполнения конкретных процессов или частей конкретных процессов, приведенных в этом описании, включая определение структур данных в RAM 746 и модификацию таких структур данных в соответствии с процессами, определенными программным обеспечением. Дополнительно или альтернативно, компьютерная система может обеспечивать функциональные возможности благодаря логике, зашитой или иным образом воплощенной в схеме (например, ускоритель (744)), который может действовать вместо или совместно с программным обеспечением для выполнения конкретных процессов или конкретных частей описанных здесь конкретных процессов. Ссылка на программное обеспечение может охватывать логику, и наоборот, когда это уместно. Ссылка на компьютерно-считываемые носители может охватывать схему (например, интегральную схему (IC), где хранится программное обеспечение для выполнения, схему, воплощающую логику для выполнения, или обе из них, когда это уместно. Настоящее изобретение охватывает любую подходящую комбинацию оборудования и программного обеспечения.[0268] For example, without being limited to the above example, a computer system (700) of a certain architecture, and in particular, a core (740) may provide functionality as a result of execution by the processor(s) (including CPUs, GPUs, FPGAs, accelerators, etc. .) software implemented on one or more computer-readable media. Such computer-readable media can be media associated with the user-accessible bulk data storage described above, as well as some persistent kernel storage (740), such as internal bulk data storage (747) or ROM (745). Software implementing various embodiments of the present invention may be stored on such devices and executed by the core (740). The computer-readable medium may include one or more memory devices or microcircuits, in accordance with specific requirements. The software may initialize the core 740, and in particular the processors located therein (including the CPU, GPU, FPGA, etc.), to execute specific processes or parts of specific processes described in this description, including the definition of data structures in RAM 746 and modifying such data structures in accordance with processes defined by the software. Additionally or alternatively, the computer system may provide functionality through logic hardwired or otherwise embodied in circuitry (e.g., an accelerator (744)) that may operate in place of or in conjunction with software to perform specific processes or specific portions of the specific processes described herein. A reference to software may cover logic, and vice versa when appropriate. Reference to computer-readable media may encompass a circuit (e.g., an integrated circuit (IC) that stores software to execute, a circuit embodying logic to execute, or both, as appropriate. The present invention encompasses any suitable combination of hardware and software. security.

[0269] Хотя здесь описано несколько иллюстративных вариантов осуществления, возможны изменения, перестановки и различные эквиваленты для замены, которые находятся в объеме изобретения. Таким образом, специалисты в данной области техники могут предложить многочисленные системы и способы, которые, хотя в явном виде здесь не показаны и не описаны, воплощают принципы изобретения и, таким образом, соответствуют его сущности и объему.[0269] Although several illustrative embodiments are described here, variations, permutations, and various replacement equivalents are possible and are within the scope of the invention. Thus, those skilled in the art can provide numerous systems and methods that, although not explicitly shown or described herein, embody the principles of the invention and thus fall within its spirit and scope.

Claims (19)

1. Способ декодирования видео, выполняемый по меньшей мере одним процессором и включающий:1. Video decoding method performed by at least one processor and including: идентификацию максимального числа временных подуровней, разрешенного в кодированной видеопоследовательности, ссылающейся на набор параметров видео соответственно в поле набора параметров видео (VPS) и в поле набора параметров последовательности (SPS); иidentifying the maximum number of temporal sublayers allowed in the encoded video sequence referring to the video parameter set in the video parameter set (VPS) field and in the sequence parameter set (SPS) field, respectively; and декодирование кодированной видеопоследовательности на основе идентифицированного максимального числа временных подуровней, разрешенного в кодированной видеопоследовательности, ссылающейся на набор параметров видео,decoding the encoded video sequence based on the identified maximum number of temporal sublayers allowed in the encoded video sequence referring to the video parameter set, при этом поле VPS содержит элемент синтаксиса, указывающий режим сигнализации выходного уровня для i-го набора выходных уровней, иwherein the VPS field contains a syntax element indicating the output layer signaling mode for the i-th output layer set, and значение этого элемента синтаксиса, равное 0, указывает, что с i-м набором выходных уровней выводят только самый высокий уровень, значение этого элемента синтаксиса, равное 1, указывает, что с i-м набором выходных уровней выводят все уровни, и значение этого элемента синтаксиса, равное 2, указывает, что выводят уровни i-го набора выходных уровней, для которых флаг выходного уровня равен 1; иa value of this syntax element of 0 indicates that only the highest level is output with the i-th output level set, a value of this syntax element of 1 indicates that all levels are output with the i-th output level set, and the value of this element a syntax equal to 2 indicates that output levels of the i-th set of output levels for which the output level flag is 1; and декодирование кодированной видеопоследовательности на основе идентифицированного максимального числа временных подуровней, разрешенного в кодированной видеопоследовательности, ссылающейся на набор параметров видео, включаетdecoding the coded video sequence based on the identified maximum number of temporal sublayers allowed in the coded video sequence referring to the video parameter set includes декодирование кодированной видеопоследовательности на основе идентифицированного максимального числа временных подуровней, разрешенного в кодированной видеопоследовательности, ссылающейся на набор параметров видео, а также значения упомянутого элемента синтаксиса в поле VPS.decoding the encoded video sequence based on the identified maximum number of temporal sublayers allowed in the encoded video sequence referring to the video parameter set, as well as the value of said syntax element in the VPS field. 2. Способ по п. 1, в котором временные подуровни указывают уровни временного масштабирования битового потока с временным масштабированием.2. The method of claim 1, wherein the temporal sublayers indicate the temporal scale levels of the temporally scaled bitstream. 3. Способ по п. 1, также включающий:3. The method according to p. 1, also including: идентификацию максимального числа разрешенных уровней в кодированной видеопоследовательности иidentifying the maximum number of allowed levels in the encoded video sequence, and декодирование кодированной видеопоследовательности на основе идентифицированного максимального числа разрешенных уровней.decoding the encoded video sequence based on the identified maximum number of allowed levels. 4. Способ по п. 1, в котором максимальное число временных уровней, разрешенное в кодированной видеопоследовательности, задано в поле полезной нагрузки необработанной последовательности байтов (RBSP) набора параметров видео (VPS).4. The method of claim 1, wherein the maximum number of temporal layers allowed in the encoded video sequence is specified in a raw byte sequence (RBSP) payload field of a video parameter set (VPS). 5. Способ по п. 4, в котором RBSP VPS содержит поле идентификатора VPS и поле, которое идентифицирует максимальное число временных уровней, разрешенное в кодированной видеопоследовательности.5. The method of claim 4, wherein the VPS RBSP comprises a VPS ID field and a field that identifies the maximum number of temporal layers allowed in the encoded video sequence. 6. Способ по п. 1, в котором максимальное число временных уровней, разрешенное в кодированной видеопоследовательности, задано в поле полезной нагрузки необработанной последовательности байтов (RBSP) набора параметров последовательности (SPS).6. The method of claim 1, wherein the maximum number of temporal layers allowed in the encoded video sequence is specified in a raw byte sequence (RBSP) payload field of a sequence parameter set (SPS). 7. Способ по п. 6, в котором RBSP SPS содержит поле идентификатора SPS и поле, которое идентифицирует максимальное число временных уровней, разрешенное в кодированной видеопоследовательности.7. The method of claim 6, wherein the SPS RBSP comprises an SPS ID field and a field that identifies the maximum number of temporal layers allowed in the encoded video sequence. 8. Устройство для декодирования видео, содержащее:8. Device for video decoding, comprising: по меньшей мере одну память, сконфигурированную для хранения программного кода; иat least one memory configured to store program code; and по меньшей мере один процессор, сконфигурированный для считывания программного кода и работы под управлением этого программного кода для осуществления способа по любому из пп. 1-7.at least one processor configured to read the program code and operate under the control of this program code to implement the method according to any one of paragraphs. 1-7. 9. Компьютерно-считываемый носитель, на котором хранятся инструкции, содержащие одну или более инструкций, которые при исполнении одним или более процессорами устройства для декодирования видео обеспечивают выполнение одним или более процессорами способа по любому из пп. 1-7. 9. A computer-readable medium that stores instructions containing one or more instructions that, when executed by one or more processors of a video decoding device, cause one or more processors to execute the method according to any one of paragraphs. 1-7.
RU2021131424A 2020-03-27 2020-10-01 Method for indicating the number of sublevels in a multilevel video stream RU2783961C1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US63/000,936 2020-03-27
US16/994,004 2020-08-14

Publications (1)

Publication Number Publication Date
RU2783961C1 true RU2783961C1 (en) 2022-11-22

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130182755A1 (en) * 2012-01-14 2013-07-18 Qualcomm Incorporated Coding parameter sets and nal unit headers for video coding
US20160323592A1 (en) * 2014-01-03 2016-11-03 Samsung Electronics Co., Ltd. Method and apparatus for managing buffer for encoding and decoding multi-layer video
US20160366428A1 (en) * 2014-03-14 2016-12-15 Sharp Laboratories Of America, Inc. Dpb capacity limits
RU2667048C2 (en) * 2013-10-23 2018-09-13 Квэлкомм Инкорпорейтед Multi-layer video file format designs
US20190014314A1 (en) * 2012-07-02 2019-01-10 Sony Corporation Video coding system with low delay and method of operation thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130182755A1 (en) * 2012-01-14 2013-07-18 Qualcomm Incorporated Coding parameter sets and nal unit headers for video coding
US20190014314A1 (en) * 2012-07-02 2019-01-10 Sony Corporation Video coding system with low delay and method of operation thereof
RU2667048C2 (en) * 2013-10-23 2018-09-13 Квэлкомм Инкорпорейтед Multi-layer video file format designs
US20160323592A1 (en) * 2014-01-03 2016-11-03 Samsung Electronics Co., Ltd. Method and apparatus for managing buffer for encoding and decoding multi-layer video
US20160366428A1 (en) * 2014-03-14 2016-12-15 Sharp Laboratories Of America, Inc. Dpb capacity limits

Similar Documents

Publication Publication Date Title
US11483558B2 (en) Method for region-wise scalability with adaptive resolution change
US11812035B2 (en) Method for alignment across layers in coded video stream
US20230013085A1 (en) Region-wise scalability with adaptive resolution change
US20230089992A1 (en) Method for indication of sublayer numbers in multilayered video stream
AU2021244278B2 (en) Method for derivation on sublayer-wise output layer set
EP4005198A1 (en) Method for signaling virtual boundary signaling with subpictures in coded video stream
RU2783961C1 (en) Method for indicating the number of sublevels in a multilevel video stream
RU2809562C1 (en) Induction method based on a set of output layers by sublayer
RU2785689C1 (en) Technique for extracting a subimage bit stream from a stream of encoded video data
RU2799572C1 (en) Method for signaling a set of output layers with a subimage
RU2803890C1 (en) Layer alignment method in encoded video stream
RU2783382C1 (en) Signalling of inter-layer prediction in a video bitstream
RU2814858C1 (en) Method of signaling division of rectangular slice in encoded video stream
RU2785687C1 (en) Method for signaling a mixed type of nal block and splitting into subimages in an encoded video stream
RU2777924C1 (en) Method for signaling a set of output levels with a subimage
RU2787213C1 (en) Method for restricting referencing to a set of parameters in an encoded video stream
RU2810966C1 (en) Methods of signaling combination of reference image resampling and spatial scalability
RU2807213C1 (en) Method for outputting a set of layers for multilayer video stream
RU2806281C1 (en) Method for signaling sub-image separation in an encoded video stream
JP7297929B2 (en) Method, computer system, and computer program for signaling rectangular slice divisions in an encoded video stream
RU2787691C1 (en) Method for the output layer set mode in a multi-level video stream
RU2791938C1 (en) Transmission of interlayer prediction in video bit stream
RU2781173C1 (en) Method for the output level set mode
RU2787557C1 (en) Method for referencing and setting restrictions on a set of adaptation parameters in an encoded video stream
AU2021249220B2 (en) Method for signaling mixed NAL unit type and subpicture partitioning in coded video stream