RU2776357C1 - Video stream concept - Google Patents

Video stream concept Download PDF

Info

Publication number
RU2776357C1
RU2776357C1 RU2022103151A RU2022103151A RU2776357C1 RU 2776357 C1 RU2776357 C1 RU 2776357C1 RU 2022103151 A RU2022103151 A RU 2022103151A RU 2022103151 A RU2022103151 A RU 2022103151A RU 2776357 C1 RU2776357 C1 RU 2776357C1
Authority
RU
Russia
Prior art keywords
packets
packet
decoding
sub
slice
Prior art date
Application number
RU2022103151A
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 RU2776357C1 publication Critical patent/RU2776357C1/en

Links

Images

Abstract

FIELD: video data processing technologies.
SUBSTANCE: inventions group relates to video data processing technologies. A device for decoding a data stream for recovering video content is proposed. The device contains a decoder configured to extract from the data stream a sequence of packets representing sub-parts of video content and organized into a plurality of access blocks, each of the plurality of access blocks refers to an image of the video content and includes one or more decoding blocks, and each block decoding includes at least one payload packet, and each of the sub-parts corresponds to a slice. Extraction involves entropy decoding of slices across slice boundaries according to a parallel wavefront processing technique. The decoder is also configured to identify, in each of the plurality of access blocks, one or more timing control packets corresponding to one or more decoding blocks, respectively, and placed in the access block, each of the timing control packets indicating the extraction time from the decoder buffer at which the contents of the corresponding decoding block must be retrieved from the buffer.
EFFECT: ensuring low end-to-end delay when encoding/decoding video content images.
18 cl, 39 dwg

Description

Настоящая заявка связана с концепциями потока видеоданных, которые, в частности, выгодны в связи с приложениями с малой задержкой.The present application relates to video stream concepts which are particularly advantageous in connection with low latency applications.

HEVC [2] допускает различные средства сигнализации Синтаксиса Высокого Уровня прикладному уровню. Такие средства представляют собой заголовок блока NAL, Наборы Параметров и Сообщения Дополнительной Информации Улучшения (SEI). Последние не используются в процессе декодирования. Другие средства сигнализации Синтаксиса Высокого Уровня происходят из соответствующих спецификаций транспортного протокола, таких как Транспортный Протокол MPEG2 [3] или Транспортный Протокол Реального Времени [4], и их определенных спецификаций полезной нагрузки, например, рекомендаций для H.264/AVC [5], масштабируемого кодирования видеосигнала (SVC) [6] или HEVC [7]. Такие транспортные протоколы могут представить сигнализацию Высокого Уровня, которая использует подобные структуры и механизмы, что и сигнализация Высокого Уровня соответствующей спецификации кодека прикладного уровня, например HEVC [2]. Одним из примеров такой сигнализации является блок NAL Информации Масштабируемости Контента Полезной Нагрузки (PACSI), как описано в [6], который предоставляет дополнительную информацию для транспортного уровня.HEVC [2] allows various means of signaling the High Level Syntax to the application layer. Such means are the NAL block header, Parameter Sets, and Supplementary Enhancement Information (SEI) messages. The latter are not used in the decoding process. Other means of High Level Syntax signaling derive from relevant transport protocol specifications, such as MPEG2 Transport Protocol [3] or Real Time Transport Protocol [4], and their specific payload specifications, such as recommendations for H.264/AVC [5], scalable video coding (SVC) [6] or HEVC [7]. Such transport protocols may introduce High Level signaling that uses similar structures and mechanisms as High Level signaling of a conforming application layer codec specification, such as HEVC [2]. One example of such signaling is the Payload Content Scalability Information (PACSI) NAL block as described in [6], which provides additional information to the transport layer.

Для наборов параметров, HEVC включает в себя Набор Параметров Видео (VPS), который собирает наиболее важную информацию потока, которая должна быть использована прикладным уровнем, в одном и центральном местоположении. В более ранних подходах было необходимо, чтобы эта информация собиралась из нескольких Наборов Параметров и заголовков блоков NAL.For parameter sets, HEVC includes a Video Parameter Set (VPS), which collects the most important stream information to be used by the application layer, in a single and central location. In earlier approaches, it was necessary that this information be collected from several Parameter Sets and NAL block headers.

До настоящей заявки статус стандарта по отношению к операциям Буфера Кодированного Изображения (CPB) Гипотетического Эталонного Декодера (HRD) и всего связанного синтаксиса, предоставленного в Наборе Параметров Последовательности (SPS)/Информации Применимости Видео (VUI), Тайминга Изображения SEI, Периода Буферизации SEI, а также определения блока декодирования, описывающего под-изображение и синтаксис Зависимых Слайсов как присутствующих в заголовке слайса, а также Наборы Параметров Изображений (PPS), были следующими.Prior to this application, the status of the standard with respect to the operations of the Coded Picture Buffer (CPB) of the Hypothetical Reference Decoder (HRD) and all related syntax provided in the Sequence Parameter Set (SPS)/Video Applicability Information (VUI), SEI Image Timing, SEI Buffer Period, as well as the definitions of the decoding block describing the sub-image and the syntax of Dependent Slices as being present in the slice header, as well as the Picture Parameter Sets (PPS), were as follows.

Для того чтобы позволить операции с малой задержкой CPB на уровне под-изображения, операции под-изображений CPB были предложены и интегрированы в проект стандарта HEVC 7 JCTVC-11003 [2]. Здесь особенно, блок декодирования был определен в разделе 3 в [2] как:In order to enable low latency CPB operations at the sub-picture level, CPB sub-pictures operations have been proposed and integrated into the draft HEVC 7 standard JCTVC-11003 [2]. Here especially, the decoding block was defined in section 3 in [2] as:

блок декодирования: Блок доступа или подмножество блока доступа. Если SubPicCpbFlag равен 0, блок декодирования представляет собой блок доступа. В противном случае, блок декодирования состоит из одного или более блоков VCL NAL в блоке доступа и связанных не-VCL NAL блоков. Для первого блока VCL NAL в блоке доступа связанные не-VCL NAL блоки являются блоками NAL данных заполнения, если таковые имеются, непосредственно следующими за первым блоком VCL NAL и не-VCL NAL блоками в блоке доступа, которые предшествуют первому блоку VCL NAL. Для блока VCL NAL, который не является первым блоком VCL NAL в блоке доступа, связанные не-VCL NAL блоки являются блоком NAL данных заполнения, если таковые имеются, непосредственно следующим за блоком VCL NAL.decoding block: An access block or a subset of an access block. If SubPicCpbFlag is 0, the decoding block is an access block. Otherwise, the decode unit consists of one or more VCL NAL units in the access unit and associated non-VCL NAL units. For the first VCL NAL unit in the access unit, the associated non-VCL NAL units are the padding data NAL units, if any, immediately following the first VCL NAL unit and the non-VCL NAL units in the access unit that precede the first VCL NAL unit. For a VCL NAL that is not the first VCL NAL in an access unit, the associated non-VCL NALs are the padding data NAL, if any, immediately following the VCL NAL.

В стандарте, определенном до того времени, «Тайминг удаления блока декодирования и декодирование блока декодирования» было описано и добавлено в Приложение C «Гипотетический Эталонный Декодер». Чтобы сигнализировать тайминг под-изображения, сообщение SEI периода буферизации и сообщение SEI тайминга изображения, а также параметры HRD в VUI были расширены, чтобы поддерживать блоки декодирования в качестве блоков под-изображения.In the standard defined up to that time, "Decoding Block Removal Timing and Decoding Block Decoding" was described and added to Appendix C "Hypothetical Reference Decoder". In order to signal sub-picture timing, the buffer period SEI message and the picture timing SEI message, as well as the HRD parameters in the VUI, have been extended to support decoding blocks as sub-picture blocks.

Синтаксис [2] сообщения SEI периода буферизации показан на Фиг.1.The syntax [2] of the buffer period SEI message is shown in FIG.

Когда NalHrdBpPresentFlag или VclHrdBpPresentFlag равны 1, сообщение SEI периода буферизации может быть связано с любым блоком доступа в битовом потоке, и сообщение SEI периода буферизации будет связано с каждым блоком доступа RAP и с каждым блоком доступа, связанным с сообщением SEI точки восстановления.When NalHrdBpPresentFlag or VclHrdBpPresentFlag is equal to 1, a buffer period SEI message may be associated with any access block in the bitstream, and a buffer period SEI message will be associated with each RAP access block and each access block associated with the recovery point SEI message.

Для некоторых применений частое присутствие сообщения SEI периода буферизации может быть желательным.For some applications, the frequent presence of a buffer period SEI message may be desirable.

Период буферизации был задан как набор блоков доступа между двумя объектами сообщения SEI периода буферизации в порядке декодирования.The buffer period was defined as the set of access blocks between two buffer period SEI message objects in decoding order.

Семантика была следующая:The semantics were as follows:

seq_parameter_set_id определяет набор параметров последовательности, который содержит атрибуты HRD последовательности. Значение seq_parameter_set_id будет равно значению seq_parameter_set_id в наборе параметров изображения, на который ссылается первичное закодированное изображение, связанное с сообщением SEI периода буферизации. Значение seq_parameter_set_id должно быть в диапазоне от 0 до 31, включительно.seq_parameter_set_id defines a sequence parameter set that contains the HRD attributes of the sequence. The value of seq_parameter_set_id will be equal to the value of seq_parameter_set_id in the picture parameter set referenced by the primary encoded picture associated with the buffer period SEI message. The value of seq_parameter_set_id must be between 0 and 31, inclusive.

rap_cpb_params_present_flag, равный 1, определяет присутствие синтаксических элементов initial_alt_cpb_removal_delay[ SchedSelIdx ] и initial_alt_cpb_removal_delay_offset[ SchedSelIdx ]. В случае, когда не присутствует, значение rap_cpb_params_present_flag подразумевается равным 0. Когда связанное изображение не является ни изображением CRA, ни изображением BLA, значение rap_cpb_params_present_flag будет равно 0.rap_cpb_params_present_flag equal to 1 specifies the presence of the initial_alt_cpb_removal_delay[ SchedSelIdx ] and initial_alt_cpb_removal_delay_offset[ SchedSelIdx ] syntax elements. When not present, the value of rap_cpb_params_present_flag is assumed to be 0. When the associated picture is neither a CRA picture nor a BLA picture, the value of rap_cpb_params_present_flag will be 0.

initial_cpb_removal_delay[ SchedSelIdx ] и initial_alt_cpb_removal_delay[ SchedSelIdx ] определяют исходные задержки удаления CPB для SchedSelIdx-го CPB. Синтаксические элементы имеют длину в битах, заданную посредством initial_cpb_removal_delay_length_minus1 + 1, и выражены в единицах 90 кГц тактового сигнала. Значения синтаксических элементов не будут равны 0 и не будут превышать 90000 * ( CpbSize[ SchedSelIdx ] ÷ BitRate[ SchedSelIdx ]), временной эквивалент размера CPB в единицах 90 кГц тактового сигнала.initial_cpb_removal_delay[ SchedSelIdx ] and initial_alt_cpb_removal_delay[ SchedSelIdx ] define the initial CPB removal delays for the SchedSelIdxth CPB. The syntax elements have a length in bits given by initial_cpb_removal_delay_length_minus1 + 1 and are expressed in units of a 90 kHz clock signal. Syntax element values will not be 0 and will not exceed 90000 * ( CpbSize[ SchedSelIdx ] ÷ BitRate[ SchedSelIdx ]), the time equivalent of the CPB size in units of 90 kHz clock.

initial_cpb_removal_delay_offset[ SchedSelIdx ] и initial_alt_cpb_removal_delay_offset[ SchedSelIdx ] используются для SchedSelIdx-го CBP для задания исходного времени доставки закодированных блоков данных в CPB. Синтаксические элементы имеют длину в битах, заданную посредством initial_cpb_removal_delay_length_minus1 + 1, и выражены в единицах 90 кГц тактового сигнала. Эти синтаксические элементы не используются декодерами и могут быть нужны лишь для планировщика доставки (HSS).initial_cpb_removal_delay_offset[ SchedSelIdx ] and initial_alt_cpb_removal_delay_offset[ SchedSelIdx ] are used for the SchedSelIdx-th CBP to set the initial delivery time of encoded data blocks to the CPB. The syntax elements have a length in bits given by initial_cpb_removal_delay_length_minus1 + 1 and are expressed in units of a 90 kHz clock signal. These syntax elements are not used by decoders and may only be needed by the delivery scheduler (HSS).

По всей закодированной видеопоследовательности сумма initial_cpb_removal_delay[ SchedSelIdx ] и initial_cpb_removal_delay_offset[ SchedSelIdx ] должна быть постоянной для каждого значения SchedSelIdx, и сумма initial_alt_cpb_removal_delay[ SchedSelIdx ] и initial_alt_cpb_removal_delay_offset[ SchedSelIdx ] должна быть постоянной для каждого значения SchedSelIdx.Across the encoded video sequence, the sum of initial_cpb_removal_delay[ SchedSelIdx ] and initial_cpb_removal_delay_offset[ SchedSelIdx ] must be constant for each SchedSelIdx value, and the sum of initial_alt_cpb_removal_delay[ SchedSelIdx ] and initial_alt_cpb_removal_delay_offset[ SchedSelIdx ] must be constant for each SchedIdxSelIdx value.

Синтаксис сообщения SEI тайминга изображения из [2] показан на Фиг.2.The syntax of the picture timing SEI message from [2] is shown in FIG.

Синтаксис сообщения SEI тайминга изображения был зависим от контента набора параметров последовательности, который является активным для закодированного изображения, связанного с сообщением SEI тайминга изображения. Однако, если сообщению SEI тайминга изображения блока доступа IDR или BLA не предшествует сообщение SEI периода буферизации в том же блоке доступа, активация связанного набора параметров последовательности (и, для изображений IDR или BLA, которые не являются первым изображением в битовом потоке, определение, что закодированное изображение является изображением IDR или изображением BLA) не происходит до декодирования первого закодированного блока NAL слайса закодированного изображения. Поскольку закодированный блок NAL слайса закодированного изображения следует за сообщением SEI тайминга изображения в порядке блока NAL, могут быть случаи, в которых необходимо для декодера хранить RBSP, содержащий сообщение SEI тайминга изображения, до определения параметров параметра последовательности, который будет активен для закодированного изображения, и затем выполнить синтаксический анализ сообщения SEI тайминга изображения.The syntax of the picture timing SEI message was dependent on the content of the sequence parameter set that is active for the encoded picture associated with the picture timing SEI message. However, if the IDR or BLA picture timing SEI message is not preceded by a buffer period SEI message in the same access unit, activating the associated sequence parameter set (and, for IDR or BLA pictures that are not the first picture in the bitstream, determining that the encoded picture is an IDR picture or a BLA picture) does not occur until the first encoded NAL unit of the encoded picture slice is decoded. Since the encoded NAL unit of the encoded picture slice follows the picture timing SEI message in NAL unit order, there may be cases in which it is necessary for the decoder to store the RBSP containing the picture timing SEI message before determining the sequence parameter parameters that will be active for the encoded picture, and then parse the image timing SEI message.

Присутствие сообщения SEI тайминга изображения в битовом потоке было задано следующим образом:The presence of the picture timing SEI message in the bitstream was specified as follows:

- Если CpbDpbDelaysPresentFlag равен 1, одно сообщение SEI тайминга изображения будет присутствовать в каждом блоке доступа закодированной видеопоследовательности.- If CpbDpbDelaysPresentFlag is equal to 1, one picture timing SEI message will be present in each access block of the encoded video sequence.

- В противном случае (CpbDpbDelaysPresentFlag равен 0), сообщение SEI тайминга изображения не будет присутствовать в каждом блоке доступа закодированной видеопоследовательности.- Otherwise (CpbDpbDelaysPresentFlag is 0), the picture timing SEI message will not be present in every access block of the encoded video sequence.

Семантика была определена следующим образом:The semantics has been defined as follows:

cpb_removal_delay определяет, сколько тактов синхронизации ждать после удаления из CPB блока доступа, связанного с самым недавним сообщением SEI периода буферизации в предшествующем блоке доступа, перед удалением из буфера данных блока доступа, связанных с сообщением SEI тайминга изображения. Это значение также используется для вычисления самого раннего возможного времени прибытия данных блока доступа в CPB для HSS. Синтаксический элемент представляет собой код фиксированной длины, чья длина в битах задана посредством cpb_removal_delay_length_minus1 + 1. cpb_removal_delay представляет собой остаток от счетчика по модулю 2^(cpb_removal_delay_length_minus1 + 1).cpb_removal_delay specifies how many clock cycles to wait after the access block associated with the most recent buffer period SEI message in the previous access block is removed from the CPB before the access block data associated with the picture timing SEI message is removed from the buffer. This value is also used to calculate the earliest possible time of arrival of access unit data in the CPB for the HSS. The syntax element is a fixed length code whose length in bits is given by cpb_removal_delay_length_minus1 + 1. cpb_removal_delay is the remainder of the counter modulo 2^(cpb_removal_delay_length_minus1 + 1).

Значение cpb_removal_delay_length_minus1, которое определяет длину (в битах) синтаксического элемента cpb_removal_delay, представляет собой значение cpb_removal_delay_length_minus1, закодированное в наборе параметров последовательности, который является активным для первичного закодированного изображения, связанного с сообщением SEI тайминга изображения, хотя cpb_removal_delay определяет количество тактов синхронизации по отношению ко времени удаления предшествующего блока доступа, содержащего сообщение SEI периода буферизации, который может быть блоком доступа другой закодированной видеопоследовательности.The cpb_removal_delay_length_minus1 value, which specifies the length (in bits) of the cpb_removal_delay syntax element, is the cpb_removal_delay_length_minus1 value encoded in the sequence parameter set that is active for the primary encoded picture associated with the picture timing SEI message, although cpb_removal_delay specifies the number of clock cycles with respect to time deleting the previous access block containing the buffering period SEI message, which may be an access block of another encoded video sequence.

dpb_output_delay используется для вычисления времени вывода DBP изображения. Он определяет, сколько тактов синхронизации ждать после удаления последнего блока декодирования в блоке доступа из CPB до того, как декодированное изображение будет выведено из DPB.dpb_output_delay is used to calculate the output time of a DBP image. It determines how many clock cycles to wait after the last decoding block in the access block is removed from the CPB before the decoded picture is output from the DPB.

Изображение не удаляется из DBP в его время вывода, когда оно все еще помечено как «используется для краткосрочной ссылки» или «используется для долгосрочной ссылки».The image is not removed from the DBP at its render time while it is still marked as "in use for short-term link" or "in use for long-term link".

Только один dpb_putput_delay определяется для декодированного изображения.Only one dpb_putput_delay is defined per decoded picture.

Длина синтаксического элемента dpb_output_delay задана в битах посредством dpb_output_delay_length_minus1 + 1. Когда sps_max_dec_pic_buffering[ max_temporal_layers_minus1 ] равно 0, dpb_output_delay shall будет равно 0.The length of the dpb_output_delay syntax element is given in bits by dpb_output_delay_length_minus1 + 1. When sps_max_dec_pic_buffering[ max_temporal_layers_minus1 ] is 0, dpb_output_delay shall be 0.

Время вывода, полученное из dpb_output_delay любого изображения, которое выводится из удовлетворяющего времени вывода декодера, должно предшествовать времени вывода, полученному из dpb_output_delay всех изображений в любой последующей закодированной видеопоследовательности в порядке декодирования.The output time obtained from the dpb_output_delay of any picture that is output from the satisfying decoder output time must precede the output time obtained from the dpb_output_delay of all pictures in any subsequent encoded video sequence in decoding order.

Порядок вывода изображений, установленный значениями этого синтаксического элемента, будет таким же порядком, который установлен значениями PicOrderCntVal.The order in which images are displayed, set by the values of this syntax element, will be the same order as set by the values of PicOrderCntVal.

Для изображений, которые не выводятся процессом «резкого изменения параметров» из-за того, что они предшествуют в порядке декодирования изображению IDR или BLA с no_output_of_prior_pics_flag, равным 1 или подразумевающимся равным 1, моменты времени вывода, полученные из dpb_output_delay, будут увеличивающимися с увеличивающимся значением PicOrderCntVal по отношению ко всем изображениям в одной и той же закодированной видеопоследовательности.For pictures that are not output by the "peep" process because they precede in decoding order an IDR or BLA picture with no_output_of_prior_pics_flag equal to 1 or implied equal to 1, the output times obtained from dpb_output_delay will be incremented with increasing value PicOrderCntVal with respect to all images in the same encoded video sequence.

num_decoding_units_minus1 плюс 1 определяет количество блоков декодирования в блоке доступа, с которым связано сообщение SEI тайминга изображения. Значение num_decoding_units_minus1 должно быть в диапазоне от 0 до PicWidthInCtbs * PicHeightInCtbs - 1, включительно.num_decoding_units_minus1 plus 1 specifies the number of decoding units in the access unit with which the picture timing SEI message is associated. The value of num_decoding_units_minus1 must be between 0 and PicWidthInCtbs * PicHeightInCtbs - 1, inclusive.

num_nalus_in_du_minus1[ i ] plus 1 определяет количество блоков NAL в i-м блоке декодирования блока доступа, с которым связано сообщение SEI тайминга изображения. Значение num_nalus_in_du_minus1[ i ] plus 1 должно быть в диапазоне от 0 до PicWidthInCtbs * PicHeightInCtbs - 1, включительно.num_nalus_in_du_minus1[ i ] plus 1 specifies the number of NAL units in the i-th decode unit of the access unit with which the picture timing SEI message is associated. The value of num_nalus_in_du_minus1[ i ] plus 1 must be between 0 and PicWidthInCtbs * PicHeightInCtbs - 1, inclusive.

Первый блок декодирования блока доступа состоит из первых num_nalus_in_du_minus1[ 0 ] + 1 последовательных блоков NAL в порядке декодирования в блоке доступа. i-й (где i больше, чем 0) блок декодирования блока доступа состоит из num_nalus_in_du_minus1[ i ] + 1 последовательных блоков NAL, непосредственно следующих за последним блоком NAL в предшествующем блоке декодирования блока доступа, в порядке декодирования. В каждом блоке декодирования будет по меньшей мере один блок VCL NAL. Все не-VCL NAL блоки, связанные с блоком VCL NAL, будут включены в тот же блок декодирования.The first decoding block of the access block consists of the first num_nalus_in_du_minus1[ 0 ] + 1 consecutive NAL blocks in decoding order in the access block. The i-th (where i is greater than 0) access block decode block consists of num_nalus_in_du_minus1[ i ] + 1 consecutive NAL blocks immediately following the last NAL block in the preceding access block decode block, in decoding order. Each decoding unit will have at least one VCL NAL unit. All non-VCL NAL units associated with a VCL NAL unit will be included in the same decoding unit.

du_cpb_removal_delay[ i ] задает, сколько тактов синхронизации под-изображения ждать после удаления из CPB первого блока декодирования в блоке доступа, связанном с самым недавним сообщением SEI периода буферизации в предшествующем блоке доступа, перед удалением из CPB i-го блока декодирования в блоке доступа, связанном с сообщением SEI тайминга изображения. Это значение также используется для вычисления самого раннего возможного времени прибытия данных блока декодирования в CPB для HSS. Синтаксический элемент представляет собой код фиксированной длины, чья длина в битах задана посредством cpb_removal_delay_length_minus1 + 1. du_cpb_removal_delay[ i ] представляет собой остаток от счетчика по модулю 2^(cpb_removal_delay_length_minus1 + 1).du_cpb_removal_delay[ i ] specifies how many sub-picture clock cycles to wait after removing from the CPB the first decoding block in the access block associated with the most recent buffering period SEI message in the previous access block, before removing the i-th decoding block in the access block from the CPB, associated with the picture timing SEI message. This value is also used to calculate the earliest possible time of arrival of the decoding block data in the CPB for the HSS. The syntax element is a fixed length code whose length in bits is given by cpb_removal_delay_length_minus1 + 1. du_cpb_removal_delay[ i ] is the remainder of the counter modulo 2^(cpb_removal_delay_length_minus1 + 1).

Значение cpb_removal_delay_length_minus1, которое определяет длину (в битах) синтаксического элемента du_cpb_removal_delay[ i ], представляет собой значение cpb_removal_delay_length_minus1, закодированное в наборе параметров последовательности, который является активным для закодированного изображения, связанного с сообщением SEI тайминга изображения, хотя du_cpb_removal_delay[ i ] определяет количество тактов синхронизации под-изображения по отношению ко времени удаления первого блока декодирования в предшествующем блоке доступа, содержащем сообщение SEI периода буферизации, который может быть блоком доступа другой закодированной видеопоследовательности.The cpb_removal_delay_length_minus1 value that specifies the length (in bits) of the du_cpb_removal_delay[ i ] syntax element is the cpb_removal_delay_length_minus1 value encoded in the sequence parameter set that is active for the encoded picture associated with the picture timing SEI message, although du_cpb_removal_delay[ i ] specifies the number of clocks synchronization of the sub-picture with respect to the removal time of the first decoding block in the previous access block containing the buffering period SEI message, which may be an access block of another encoded video sequence.

Некоторая информация содержалась в синтаксисе VUI [2]. Синтаксис параметров VUI из [2] показан на Фиг.3. Синтаксис параметров HDR из [2] показан на Фиг.4. Семантика была определена следующим образом:Some information was contained in the VUI syntax [2]. The syntax of the VUI parameters from [2] is shown in Fig.3. The syntax of HDR parameters from [2] is shown in Fig.4. The semantics has been defined as follows:

sub_pic_cpb_params_present_flag, равный 1, определяет, что параметры задержки удаления CPB уровня под-изображения присутствуют, и CPB может работать на уровне блока доступа или уровне под-изображения. sub_pic_cpb_params_present_flag, равный 0, определяет, что параметры задержки удаления CPB уровня под-изображения не присутствуют, и что CPB работает на уровне блока доступа. Когда sub_pic_cpb_params_present_flag не присутствует, его значение подразумевается равным 0.sub_pic_cpb_params_present_flag equal to 1 specifies that the sub-picture layer CPB deletion delay parameters are present and the CPB may operate at the access unit layer or the sub-picture layer. sub_pic_cpb_params_present_flag equal to 0 specifies that sub-picture layer CPB deletion delay parameters are not present and that the CPB operates at the access unit layer. When sub_pic_cpb_params_present_flag is not present, its value is assumed to be 0.

num_units_in_sub_tick представляет собой количество временных единиц тактового генератора, работающего на частотной временной шкале Гц, которая соответствует одному инкременту (называемому тактом синхронизации под-изображения) счетчика тактов синхронизации под-изображения. num_units_in_sub_tick будет больше, чем 0. Такт синхронизации под-изображения представляет собой минимальный интервал времени, который может быть представлен в закодированных данных, когда sub_pic_cpb_params_present_flag равен 1.num_units_in_sub_tick represents the number of time units of a clock operating on a Hz frequency time scale that corresponds to one increment (called the sub-picture clock tick) of the sub-picture clock tick counter. num_units_in_sub_tick will be greater than 0. The sub-picture clock tick is the minimum time interval that can be represented in encoded data when sub_pic_cpb_params_present_flag is equal to 1.

sub_pic_cpb_params_present_flag, равный 1, указывает, что каждый набор параметров изображения, который является активным в закодированной видеопоследовательности, имеет одно и то же значение синтаксических элементов num_tile_columns_minus1, num_tile_rows_minus1, uniform_spacing_flag, column_width[ i ], row_height[ i ] и loop_filter_across_tiles_enabled_flag, когда они присутствуют. tiles_fixed_structure_flag, равный 0, указывает, что синтаксические элементы фрагмента изображения в разных наборах параметров изображения могут иметь, а могут и не иметь одно и то же значение. Когда синтаксический элемент tiles_fixed_structure_flag не присутствует, его значение подразумевается равным 0.sub_pic_cpb_params_present_flag equal to 1 indicates that each picture parameter set that is active in the encoded video sequence has the same value of the num_tile_columns_minus1, num_tile_rows_minus1, uniform_spacing_flag, column_width[ i ], row_height[ i ] and loop_filter_across_tiles_enabled_flag syntax elements when they are present. tiles_fixed_structure_flag equal to 0 indicates that tile syntax elements in different image parameter sets may or may not have the same value. When the tiles_fixed_structure_flag syntax element is not present, its value is assumed to be 0.

Сигнализация tiles_fixed_structure_flag, равного 1, является гарантией декодеру того, что каждое изображение в закодированной видеопоследовательности имеет одно и то же количество фрагментов изображения, распределенных одинаковым способом, что может быть полезным для выделения рабочей нагрузки в случае многопоточного декодирования.Signaling tiles_fixed_structure_flag equal to 1 is a guarantee to the decoder that each picture in the encoded video sequence has the same number of tiles distributed in the same way, which can be useful for workload allocation in case of multi-threaded decoding.

Данные заполнения в [2] сигнализировались с использованием синтаксиса RBSP данных фильтра, показанного на Фиг.5.The padding data in [2] was signaled using the filter data RBSP syntax shown in FIG.

Гипотетический Эталонный Декодер из [2], используемый для проверки битового потока и соответствия декодера, был определен следующим образом:The hypothetical Reference Decoder from [2] used to check the bitstream and decoder match was defined as follows:

Два типа битовых потоков являются предметом проверки соответствия HRD для этой Рекомендации | Международного Стандарта. Первый такой тип битового потока, называемый битовым потоком Типа I, представляет собой поток блоков NAL, содержащий только блоки VCL NAL и блоки NAL данных заполнения для всех блоков доступа в битовом потоке. Второй тип битового потока, называемый битовым потоком Типа II, содержит, в дополнение к блокам VCL NAL и блокам NAL данных заполнения для всех блоков доступа в битовом потоке, по меньшей мере одно из следующего:The two types of bitstreams are subject to HRD compliance testing for this Recommendation | International Standard. The first such type of bitstream, referred to as a Type I bitstream, is a NAL unit stream containing only VCL NAL units and stuffing data NAL units for all access units in the bitstream. The second type of bitstream, referred to as a Type II bitstream, contains, in addition to VCL NAL units and stuffing data NAL units for all access units in the bitstream, at least one of the following:

- дополнительные не-VCL NAL блоки, отличные от блоков NAL данных заполнения,- additional non-VCL NAL units other than padding data NAL units,

- все синтаксические элементы leading_zero_8bits, zero_byte, start_code_prefix_one_3bytes, и trailing_zero_8bits, которые формируют байтовый поток из потока блоков NAL.- all leading_zero_8bits, zero_byte, start_code_prefix_one_3bytes, and trailing_zero_8bits syntax elements that form a byte stream from the NAL unit stream.

Фиг.6 показывает точки соответствия типов битового потока, проверяемые HRD в [2].6 shows the bitstream type matching points checked by HRD in [2].

Используются два типа наборов параметров HRD (параметры NAL HRD и параметры VCL HRD). Наборы параметров HRD сигнализируются через информацию применимости видео, которая является частью синтаксической структуры набора параметров последовательности.Two types of HRD parameter sets are used (NAL HRD parameters and VCL HRD parameters). The HRD parameter sets are signaled via video applicability information, which is part of the syntax structure of the sequence parameter set.

Все наборы параметров последовательности и наборы параметров изображения, упомянутые в блоках VCL NAL, и соответствующие сообщения SEI периода буферизации и тайминга изображения должны быть своевременно переданы в HRD либо в битовом потоке, либо с помощью других средств.All sequence parameter sets and picture parameter sets referred to in the VCL NAL units and the corresponding picture buffering period and picture timing SEI messages shall be transmitted to the HRD in a timely manner, either in the bitstream or by other means.

Спецификация для «присутствия» не-VCL NAL блоков также удовлетворяется, когда эти блоки NAL (или лишь некоторые из них) передаются в декодеры (или в HRD) с помощью других средств, не определенных этой Рекомендацией | Международным Стандартом. В целях подсчета битов, считаются только соответствующие биты, которые фактически присутствуют в битовом потоке.The specification for the "presence" of non-VCL NAL units is also satisfied when those NAL units (or only some of them) are conveyed to decoders (or HRDs) by other means not defined by this Recommendation | International Standard. For the purposes of bit counting, only the corresponding bits that are actually present in the bitstream are counted.

В качестве примера, синхронизация не-VCL NAL блока, передаваемого с помощью средств, отличных от присутствия в битовом потоке, вместе с блоками NAL, которые присутствуют в битовом потоке, может быть достигнута путем указания двух точек в битовом потоке, между которыми не-VCL NAL блоки присутствовали бы в битовом потоке, если бы кодер решил передать их в битовом потоке.As an example, synchronization of a non-VCL NAL unit transmitted by means other than presence in the bitstream, along with NAL units that are present in the bitstream, can be achieved by specifying two points in the bitstream between which the non-VCL NAL blocks would be present in the bitstream if the encoder chose to transmit them in the bitstream.

Когда контент не-VCL NAL блока передается для применения некоторыми средствами, отличными от присутствия в битовом потоке, представление контента не-VCL NAL блока не требуется для использования того же синтаксиса, определенного в этом приложении.When the content of the non-VCL NAL of the unit is submitted for use by some means other than being present in the bitstream, the presentation of the content of the non-VCL NAL of the unit is not required to use the same syntax defined in this annex.

Следует отметить, что когда информация содержится внутри битового потока, возможно проверить соответствие битового потока требованиям этого подпункта исключительно на основе информации, содержащейся в битовом потоке. Когда информация HRD не присутствует в битовом потоке, как это характерно для всех «автономных» битовых потоков Типа I, соответствие может быть проверено лишь когда данные HRD подаются некоторыми другими средствами, не указанными в этой Рекомендации | Международном Стандарте.It should be noted that when information is contained within a bitstream, it is possible to verify that the bitstream complies with the requirements of this subclause solely on the basis of the information contained in the bitstream. When HRD information is not present in the bitstream, as is the case for all "standalone" Type I bitstreams, conformance can only be checked when the HRD data is supplied by some other means not specified in this Recommendation | International Standard.

HRD содержит буфер кодированного изображения (CPB), процесс мгновенного декодирования, буфер декодированного изображения (DPB) и кадрирование выходного сигнала, как показано на Фиг.7.The HRD contains a coded picture buffer (CPB), an instant decoding process, a decoded picture buffer (DPB), and an output framing as shown in FIG.

Размер CPB (количество битов) представляет собой CpbSize[ SchedSelIdx ]. Размер DBP (количество буферов хранения изображения) для временного уровня X представляет собой sps_max_dec_pic_buffering[ X ] для каждого X в диапазоне от 0 до sps_max_temporal_layers_minus1, включительно.The CPB size (number of bits) is CpbSize[ SchedSelIdx ]. The DBP size (number of image storage buffers) for a temporal layer X is sps_max_dec_pic_buffering[ X ] for each X in the range 0 to sps_max_temporal_layers_minus1, inclusive.

Переменная SubPicCpbPreferredFlag либо задана внешними средствами, или, когда не задана внешними средствами, установлена в 0.The variable SubPicCpbPreferredFlag is either externally set or, when not externally set, set to 0.

Переменная SubPicCpbFlag получается следующим образом:The SubPicCpbFlag variable is obtained as follows:

SubPicCpbFlag = SubPicCpbPreferredFlag && sub_pic_cpb_params_present_flagSubPicCpbFlag = SubPicCpbPreferredFlag && sub_pic_cpb_params_present_flag

Если SubPicCpbFlag равен 0, CPB работает на уровне блока доступа, и каждый блок декодирования представляет собой блок доступа. В противном случае CPB работает на уровне под-изображения, и каждый блок декодирования представляет собой подмножество блока доступа.If SubPicCpbFlag is equal to 0, the CPB operates at the access block level, and each decoding block is an access block. Otherwise, the CPB operates at the sub-picture level, and each decoding block is a subset of the access block.

HRD работает следующим образом. Данные, связанные с блоками декодирования, которые прибывают в CPB в соответствии с установленным графиком прибытия, доставляются посредством HSS. Данные, связанные с каждым блоком декодирования, удаляются и мгновенно декодируются посредством процесса мгновенного декодирования в моменты времени удаления CPB. Каждое декодированное изображение помещается в DPB. Декодированное изображение удаляется из DBP в более позднее из времени вывода DPB или времени, когда одно становится больше не нужным для ссылки взаимного прогнозирования.HRD works as follows. Data associated with decoding units that arrive at the CPB according to a set arrival schedule are delivered by the HSS. The data associated with each decoding block is removed and instantaneously decoded by the instantaneous decoding process at the CPB removal times. Each decoded picture is placed in the DPB. The decoded picture is removed from the DBP at a later time from the DPB output time or the time when one becomes no longer needed for the inter prediction reference.

HRD инициализируется, как указано периодом буферизации SEI. Тайминг удаления блоков декодирования из CPB и тайминг вывода декодированных изображений из DPB указаны в сообщении SEI тайминга изображения. Вся информация тайминга, относящаяся к определенному блоку декодирования, должна прибыть до времени удаления CPB блока декодирования.The HRD is initialized as indicated by the SEI buffer period. The timing of removing decoding blocks from the CPB and the timing of outputting decoded pictures from the DPB are indicated in the Picture Timing SEI message. All timing information related to a particular decoding block must arrive before the decoding block CPB removal time.

HRD используется для проверки соответствия битовых потоков и декодеров.HRD is used to check if bitstreams and decoders match.

Тогда как соответствие гарантируется при условии, что все частоты кадров и тактовые генераторы, используемые для генерирования битового потока, в точности соответствуют значениям, сигнализированным в битовом потоке, в реальной системе каждое из этого может меняться от переданного или заданного значения.While conformance is guaranteed provided that all frame rates and clocks used to generate the bitstream exactly match the values signaled in the bitstream, in a real system, each of these can vary from the transmitted or given value.

Все арифметические операции выполняются с реальными значениями, так что никаких ошибок округления не может распространяться. Например, количество бит в CPB непосредственно перед или после удаления блока декодирования не обязательно является целым числом.All arithmetic operations are performed on real values, so no rounding errors can propagate. For example, the number of bits in the CPB immediately before or after decoding block deletion is not necessarily an integer.

Переменная tc получается следующим образом и называется тактом синхронизации:The variable tc is obtained as follows and is called the clock cycle:

tc = num_units_in_tick ÷ time_scaletc = num_units_in_tick ÷ time_scale

Переменная tc_sub получается следующим образом и называется тактом синхронизации под-изображения:The variable tc_sub is obtained as follows and is called the sub-picture clock cycle:

tc_sub = num_units_in_sub_tick ÷ time_scaletc_sub = num_units_in_sub_tick ÷ time_scale

Следующее определено для выражения ограничений:The following is defined to express constraints:

- Пусть блок n доступа будет n-м блоком доступа в порядке декодирования, при этом первый блок доступа является блоком 0 доступа.- Let access block n be the nth access block in decoding order, with the first access block being access block 0.

- Пусть изображение n будет закодированным изображением или декодированным изображением блока n доступа. - Let picture n be the encoded picture or the decoded picture of the access unit n.

- Пусть блок m декодирования будет m-м блоком декодирования в порядке декодирования, при этом первый блок декодирования является блоком 0 декодирования.- Let decoding block m be the m-th decoding block in decoding order, with the first decoding block being decoding block 0.

В [2] синтаксис заголовка слайса допускает так называемые зависимые слайсы.In [2], the slice header syntax allows for so-called dependent slices.

Фиг.8 показывает синтаксис заголовка слайса в [2].8 shows the slice header syntax in [2].

Семантика заголовка слайса была определена следующим образом:The slice header semantics has been defined as follows:

dependent_slice_flag, равный 1, указывает, что значение каждого синтаксического элемента заголовка слайса, который не присутствует, подразумевается равным значению соответствующего синтаксического элемента заголовка слайса в предшествующем слайсе, содержащем блок дерева кодирования, для которого адрес блока дерева кодирования является SliceCtbAddrRS - 1. В случае, когда не присутствует, значение dependent_slice_flag подразумевается равным 0. Значение dependent_slice_flag должно быть равным 0, когда SliceCtbAddrRS равно 0.dependent_slice_flag equal to 1 indicates that the value of each slice header syntax element that is not present is assumed to be equal to the value of the corresponding slice header syntax element in the preceding slice containing the coding tree block for which the coding tree block address is SliceCtbAddrRS - 1. In the case when not present, the dependent_slice_flag value is assumed to be 0. The dependent_slice_flag value shall be 0 when SliceCtbAddrRS is 0.

slice_address указывает адрес в разрешении детализации слайса, в котором слайс начинается. Длина синтаксического элемента slice_address равна ( Ceil( Log2( PicWidthInCtbs * PicHeightInCtbs ) ) + SliceGranularity ) бит.slice_address specifies the address in the slice granularity resolution at which the slice begins. The length of the slice_address syntax element is ( Ceil( Log2( PicWidthInCtbs * PicHeightInCtbs ) ) + SliceGranularity ) bits.

Переменная SliceCtbAddrRS, определяющая блок дерева кодирования, в котором начинается слайс в растровом порядке сканирования блока дерева кодирования, получается следующим образом.The SliceCtbAddrRS variable specifying the coding tree block in which the slice starts in the bitmap scan order of the coding tree block is obtained as follows.

SliceCtbAddrRS = ( slice_address >> SliceGranularity )SliceCtbAddrRS = ( slice_address >> SliceGranularity )

Переменная SliceCtbAddrZS, определяющая адрес первого блока кодирования в слайсе в минимальной детализации блока кодирования в z-порядке сканирования, получается следующим образом.The variable SliceCtbAddrZS, which defines the address of the first coding block in the slice in the minimum granularity of the coding block in the z-order of the scan, is obtained as follows.

SliceCbAddrZS = slice_addressSliceCbAddrZS = slice_address

<< ( ( log2_diff_max_min_coding_block_size - SliceGranularity ) << 1 )<< ( ( log2_diff_max_min_coding_block_size - SliceGranularity ) << 1 )

Декодирование слайса начинается с самым большим, насколько это возможно, блоком кодирования в координате начала слайса.Slice decoding starts with the largest possible coding block at the slice start coordinate.

first_slice_in_pic_flag указывает, является ли слайс первым слайсом изображения. Если first_slice_in_pic_flag равен 1, переменные SliceCbAddrZS и SliceCtbAddrRS обе устанавливаются в 0, и декодирование начинается с первого блока дерева кодирования в изображении.first_slice_in_pic_flag indicates whether the slice is the first slice of an image. If first_slice_in_pic_flag is equal to 1, the variables SliceCbAddrZS and SliceCtbAddrRS are both set to 0, and decoding starts from the first coding tree block in the picture.

pic_parameter_set_id определяет набор параметров изображения в использовании. Значение pic_parameter_set_id должно быть в диапазоне от 0 до 255, включительно.pic_parameter_set_id specifies the set of image parameters to use. The value of pic_parameter_set_id must be between 0 and 255, inclusive.

num_entry_point_offsets определяет номер синтаксического элемента entry_point_offset[ i ] в заголовке слайса. Когда tiles_or_entropy_coding_sync_idc равно 1, значение num_entry_point_offsets должно быть в диапазоне от 0 до ( num_tile_columns_minus1 + 1 ) * ( num_tile_rows_minus1 + 1) - 1, включительно. Когда tiles_or_entropy_coding_sync_idc равно 2, значение num_entry_point_offsets должно быть в диапазоне от 0 до PicHeightInCtbs - 1, включительно. В случае, когда не присутствует, значение num_entry_point_offsets подразумевается равным 0.num_entry_point_offsets specifies the number of the entry_point_offset[ i ] syntax element in the slice header. When tiles_or_entropy_coding_sync_idc is 1, num_entry_point_offsets must be in the range 0 to ( num_tile_columns_minus1 + 1 ) * ( num_tile_rows_minus1 + 1) - 1, inclusive. When tiles_or_entropy_coding_sync_idc is 2, num_entry_point_offsets must be in the range 0 to PicHeightInCtbs - 1, inclusive. When not present, the value of num_entry_point_offsets is assumed to be 0.

Offset_len_minus1 плюс 1 определяет длину, в битах, синтаксических элементов entry_point_offset[ i ].Offset_len_minus1 plus 1 specifies the length, in bits, of entry_point_offset[ i ] syntax elements.

entry_point_offset[ i ] определяет i-е смещение точки входа, в байтах, и должно быть представлено offset_len_mmusl плюс 1 битами. Закодированные данные слайса после заголовка слайса состоят из num_entry_point_offsets + 1 подмножеств, при этом значения индекса подмножества находятся в диапазоне от 0 до num_entry_point_offsets, включительно. Подмножество 0 состоит из байтов от 0 до entry_point_offset[ 0 ] - 1, включительно, закодированных данных слайса, подмножество k, где k находится в диапазоне от 1 до num_entry_point_offsets - 1, включительно, состоит из байтов от entry_point_offset[ k-1 ] до entry _point_offset[ k ] + entry_point_offset[ k-1 ] - 1, включительно, закодированных данных слайса, и последнее подмножество (с индексом подмножества, равным num_entry_point_offsets) состоит из оставшихся байт закодированных данных слайса.entry_point_offset[ i ] specifies the i-th entry point offset, in bytes, and must be represented by offset_len_mmusl plus 1 bits. The encoded slice data after the slice header consists of num_entry_point_offsets + 1 subsets, with subset index values ranging from 0 to num_entry_point_offsets, inclusive. Subset 0 consists of bytes 0 to entry_point_offset[ 0 ] - 1, inclusive, of encoded slice data, subset k, where k is in the range 1 to num_entry_point_offsets - 1, inclusive, consists of bytes entry_point_offset[ k-1 ] to entry _point_offset[ k ] + entry_point_offset[ k-1 ] - 1, inclusive, of encoded slice data, and the last subset (with subset index equal to num_entry_point_offsets) consists of the remaining bytes of encoded slice data.

Когда tiles_or_entropy_coding_sync_idc равно 1, и num_entry_point_offsets больше, чем 0, каждое подмножество должно содержать все закодированные биты ровно одного фрагмента изображения, и количество подмножеств (т.е. значение num_entry_point_offsets + 1) должно быть равно или меньше, чем количество фрагментов изображения в слайсе.When tiles_or_entropy_coding_sync_idc is 1 and num_entry_point_offsets is greater than 0, each subset must contain all encoded bits of exactly one tile, and the number of subsets (i.e., the value of num_entry_point_offsets + 1) must be equal to or less than the number of tile in the slice.

Когда tiles_or_entropy_coding_sync_idc равно 1, каждый слайс должен включать в себя либо подмножество одного фрагмента изображения (в этом случае сигнализация точек входа необязательна), либо целое число полных фрагментов изображения.When tiles_or_entropy_coding_sync_idc is equal to 1, each slice must include either a subset of a single tile (in which case entry point signaling is optional) or an integer number of complete tile.

Когда tiles_or_entropy_coding_sync_idc равно 2, и num_entry_pomt_offsets больше, чем 0, каждое подмножество k, где k находится в диапазоне от 0 до num_entry_point_offsets - 1, включительно, должно содержать все закодированные биты ровно одной строки блоков дерева кодирования, последнее подмножество (с индексом подмножества, равным num_entry_point_offsets), должно содержать все закодированные биты оставшихся блоков кодирования, включенных в слайс, где оставшиеся блоки кодирования состоят либо из ровно одной строки блоков дерева кодирования, либо из подмножества одной строки блоков дерева кодирования, и количество подмножеств (т.е. значение num_entry_point_offsets + 1) должно быть равно количеству строк блоков дерева кодирования в слайсе, где подмножество одной строки блоков дерева кодирования в слайсе также считается.When tiles_or_entropy_coding_sync_idc is 2 and num_entry_pomt_offsets is greater than 0, each subset of k, where k is in the range 0 to num_entry_point_offsets - 1, inclusive, shall contain all encoded bits of exactly one line of coding tree blocks, the last subset (with subset index equal to num_entry_point_offsets) must contain all encoded bits of the remaining coding blocks included in the slice, where the remaining coding blocks consist of either exactly one line of coding tree blocks or a subset of one line of coding tree blocks, and the number of subsets (i.e. the value of num_entry_point_offsets + 1) must be equal to the number of coding tree block lines in the slice, where a subset of one coding tree block line in the slice is also counted.

Когда tiles_or_entropy_coding_sync_idc равно 2, слайс может включать в себя ряд блоков дерева кодирования и подмножество строки блоков дерева кодирования. Например, если слайс включает в себя две с половиной строки блоков дерева кодирования, количество подмножеств (т.е. значение num_entry_point_offsets + 1) должно быть равно 3.When tiles_or_entropy_coding_sync_idc is equal to 2, the slice may include a number of coding tree blocks and a subset of a row of coding tree blocks. For example, if a slice includes two and a half lines of coding tree blocks, the number of subsets (i.e. num_entry_point_offsets + 1) should be 3.

Фиг.9 показывает синтаксис RBSP набора параметров изображения в [2], при этом семантика RBSP набора параметров изображения в [2] определена как:9 shows the RBSP syntax of a picture parameter set in [2], wherein the RBSP semantics of a picture parameter set in [2] is defined as:

dependent_slice_enabled_flag, равный 1, определяет присутствие синтаксического элемента dependent_slice_flag в заголовке слайса для закодированных изображений, относящихся к набору параметров изображения. dependent_slice_enabled_flag, равный 0, указывает на отсутствие синтаксического элемента dependent_slice_flag в заголовке изображения для закодированных изображений, относящихся к набору параметров изображения. Когда tiles_or_entropy_coding_sync_idc равно 3, значение dependent_slice_enabled_flag должно быть равно 1.dependent_slice_enabled_flag equal to 1 specifies the presence of the dependent_slice_flag syntax element in the slice header for encoded pictures belonging to the picture parameter set. dependent_slice_enabled_flag equal to 0 indicates the absence of the dependent_slice_flag syntax element in the picture header for encoded pictures belonging to the picture parameter set. When tiles_or_entropy_coding_sync_idc is 3, dependent_slice_enabled_flag must be 1.

tiles_or_entropy_coding_sync_idc, равное 0, указывает, что должен быть только один фрагмент изображения в каждом изображении, относящемся к набору параметров изображения, не будет никакого определенного процесса синхронизации для контекстных переменных, вызванного до декодирования первого блока дерева кодирования строки блоков дерева кодирования в каждом изображении, относящемся к набору параметров изображения, и значения cabac_independent_flag и dependent_slice_flag для закодированных изображений, относящихся к набору параметров изображения, не должны быть оба равны 1.tiles_or_entropy_coding_sync_idc equal to 0 indicates that there should be only one tile in each image related to the image parameter set, there will be no specific synchronization process for context variables called prior to decoding the first coding tree block of the string of coding tree blocks in each image related to to a picture parameter set, and the cabac_independent_flag and dependent_slice_flag values for encoded pictures related to the picture parameter set shall not both be equal to 1.

Когда cabac_independent_flag и dependent_slice_flag оба равны 1 для слайса, слайс представляет собой энтропийный слайс.When cabac_independent_flag and dependent_slice_flag are both equal to 1 for a slice, the slice is an entropy slice.

tiles_or_entropy_coding_sync_idc, равное 1, указывает, что может быть больше одного фрагмента изображения в каждом изображении, относящемся к набору параметров изображения, не будет никакого определенного процесса синхронизации для контекстных переменных, вызванного до декодирования первого блока дерева кодирования строки блоков дерева кодирования в каждом изображении, относящемся к набору параметров изображения, и значения cabac_independent_flag и dependent_slice_flag для закодированных изображений, относящихся к набору параметров изображения, не должны быть оба равны 1.tiles_or_entropy_coding_sync_idc equal to 1 indicates that there can be more than one tile in each image related to the image parameter set, there will be no specific synchronization process for context variables called prior to decoding the first coding tree block of the string of coding tree blocks in each image related to to a picture parameter set, and the cabac_independent_flag and dependent_slice_flag values for encoded pictures related to the picture parameter set shall not both be equal to 1.

tiles_or_entropy_coding_sync_idc, равное 2, указывает, что должен быть только один фрагмент изображения в каждом изображении, относящемся к набору параметров изображения, определенный процесс синхронизации для контекстных переменных должен быть вызван до декодирования первого блока дерева кодирования строки блоков дерева кодирования в каждом изображении, относящемся к набору параметров изображения, и определенный процесс запоминания для контекстных переменных должен быть вызван после декодирования двух блоков дерева кодирования строки блоков дерева кодирования в каждом изображении, относящемся к набору параметров изображения, и значения cabac_independent_flag и dependent_slice_flag для закодированных изображений, относящихся к набору параметров изображения, не должны быть оба равны 1.tiles_or_entropy_coding_sync_idc equal to 2 indicates that there should be only one tile in each picture belonging to the set of image parameters, a certain synchronization process for context variables should be called before decoding the first block of the coding tree of the string of blocks of the coding tree in each image belonging to the set image parameters, and a defined memory process for context variables shall be invoked after decoding two coding tree blocks of a line of coding tree blocks in each image belonging to the image parameter set, and cabac_independent_flag and dependent_slice_flag values for encoded images belonging to the image parameter set shall not be both equal to 1.

tiles_or_entropy_coding_sync_idc, равное 3, указывает, что должен быть только один фрагмент изображения в каждом изображении, относящемся к набору параметров изображения, не будет никакого определенного процесса синхронизации для контекстных переменных, вызванного до декодирования первого блока дерева кодирования строки блоков дерева кодирования в каждом изображении, относящемся к набору параметров изображения, и значения cabac_independent_flag и dependent_slice_flag для закодированных изображений, относящихся к набору параметров изображения, оба могут быть равны 1.tiles_or_entropy_coding_sync_idc equal to 3 indicates that there should be only one tile in each image belonging to the image parameter set, there will be no specific synchronization process for context variables called prior to decoding the first coding tree block of the string of coding tree blocks in each image belonging to to the picture parameter set, and the cabac_independent_flag and dependent_slice_flag values for encoded pictures related to the picture parameter set may both be 1.

Когда dependent_slice_enabled_flag shall должно быть равно 0, tiles_or_entropy_coding_sync_idc не должно быть равно 3.When dependent_slice_enabled_flag shall be 0, tiles_or_entropy_coding_sync_idc must not be 3.

Это требование соответствия битового потока, заключающееся в том, что значение tiles_or_entropy_coding_sync_idc должно быть одним и тем же для всех наборов параметров изображения, которые активированы в закодированной видеопоследовательности.This is a bitstream conformance requirement that the value of tiles_or_entropy_coding_sync_idc must be the same for all picture parameter sets that are enabled in the encoded video sequence.

Для каждого слайса, относящегося к набору параметров изображения, когда tiles_of_entropy_coding_sync_idc равно 2, и первый блок кодирования в слайсе не является первый блоком кодирования в первом блоке дерева кодирования строки блоков дерева кодирования, последний блок кодирования в слайсе должен принадлежать той же строке блоков дерева кодирования, что и первый блок кодирования в слайсе.For each slice belonging to a picture parameter set, when tiles_of_entropy_coding_sync_idc is equal to 2 and the first coding block in the slice is not the first coding block in the first coding tree block of a coding tree block line, the last coding block in the slice must belong to the same coding tree block line, as the first coding block in the slice.

num_tile_columns_minus1 плюс 1 определяет количество столбцов фрагментов изображения, разделяющих изображение.num_tile_columns_minus1 plus 1 specifies the number of tile columns that divide the image.

num_tile_rows_minus1 плюс 1 определяет количество строк фрагментов изображения, разделяющих изображение. Когда num_tile_columns_minus1 равно 0, num_tile_rows_minus1 не должно быть равно 0.num_tile_rows_minus1 plus 1 specifies the number of tile rows that separate the image. When num_tile_columns_minus1 is 0, num_tile_rows_minus1 must not be 0.

uniform_spacing_flag, равный 1, указывает, что границы столбцов и подобным образом границы строк распределены равномерно по изображению. uniform_spacing_flag, равный 0, указывает, что границы столбцов и подобным образом границы строк не распределены равномерно по изображению, но сигнализируются явно с использованием синтаксических элементов column_width[ i ] и row_height[ i ].uniform_spacing_flag equal to 1 indicates that the column borders and similarly the row borders are evenly spaced across the image. uniform_spacing_flag equal to 0 indicates that column boundaries and similarly row boundaries are not evenly spaced across the image, but are signaled explicitly using the column_width[ i ] and row_height[ i ] syntax elements.

column_width[ i ] определяет ширину i-го столбца фрагмента изображения в единицах блоков дерева кодирования.column_width[ i ] specifies the width of the i-th tile column in units of coding tree blocks.

row_height[ i ] определяет высоту i-й строки фрагмента изображения в единицах блоков дерева кодирования.row_height[ i ] defines the height of the i-th row of the tile in units of coding tree blocks.

Вектор colWidth[ i ] определяет ширину i-го столбца фрагмента изображения в единицах CTB, при этом столбец i находится в диапазоне от 0 до num_tile_columns_minus1, включительно.The colWidth[ i ] vector defines the width of the i-th tile column in CTB units, with the i-column ranging from 0 to num_tile_columns_minus1, inclusive.

Вектор CtbAddrRStoTS[ ctbAddrRS ] определяет преобразование из адреса CTB в растровом порядке сканирования в адрес CTB в порядке сканирования с индексом ctbAddrRS, находящемся в диапазоне от 0 до (picHeightInCtbs * picWidthInCtbs) - 1, включительно.The vector CtbAddrRStoTS[ ctbAddrRS ] defines the conversion from a CTB address in raster scan order to a CTB address in scan order with an index ctbAddrRS ranging from 0 to (picHeightInCtbs * picWidthInCtbs) - 1, inclusive.

Вектор CtbAddrTStoRS[ ctbAddrTS ] определяет преобразование из адреса CTB в порядке сканирования фрагментов изображения в адрес CTB в растровом порядке сканирования с индексом ctbAddrTS, находящемся в диапазоне от 0 до (picHeightInCtbs * picWidthInCtbs) - 1, включительно.The CtbAddrTStoRS[ ctbAddrTS ] vector defines the conversion from a CTB address in tile scan order to a CTB address in raster scan order with a ctbAddrTS index ranging from 0 to (picHeightInCtbs * picWidthInCtbs) - 1, inclusive.

Вектор TileId[ ctbAddrTS ] определяет преобразование из адреса CTB в порядке сканирования фрагментов изображения в id фрагмента изображения с ctbAddrTS, находящемся в диапазоне от 0 до (picHeightInCtbs * picWidthInCtbs) - 1, включительно.The TileId[ ctbAddrTS ] vector defines the conversion from the CTB address in tile scan order to a tile id with ctbAddrTS ranging from 0 to (picHeightInCtbs * picWidthInCtbs) - 1, inclusive.

Значения colWidth, CtbAddrRStoTS, CibAudrTSloRS и TileId получены путем вызова процесса преобразования растра CTB и сканирования фрагментов изображения, как определено в подпункте 6.5.1, с PicHeightInCtbs and PicWidthInCtbs в качестве входных данных, а выходные данные присваиваются colWidth, CtbAddrRStoTS и TileId.The values colWidth, CtbAddrRStoTS, CibAudrTSloRS and TileId are obtained by invoking the CTB raster transformation and tile scanning process as defined in subclause 6.5.1 with PicHeightInCtbs and PicWidthInCtbs as input, and the output is assigned to colWidth, CtbAddrRStoTS and TileId.

Значения ColumnWidthInLumaSamples[ i ], определяющие ширину i-го столбца фрагмента изображения в единицах выборки яркости, устанавливаются равными colWidth[ i ] << Log2CtbSize.The ColumnWidthInLumaSamples[ i ] values that define the width of the i-th image fragment column in luma sampling units are set to colWidth[ i ] << Log2CtbSize.

Массив MinCbAddrZS[ x ][ y ], определяющий преобразование из местоположения ( x, y ) в единицах минимальных CB в минимальный адрес CB в z-порядке сканирования с x, находящимся в диапазоне от 0 до picWidthInMinCbs - 1, включительно, и y, находящимся в диапазоне от 0 до picHeightInMinCbs - 1, включительно, получен путем вызова процесса инициализации массива Z порядка сканирования, как определено в подпункте 6.5.2, с Log2MinCbSize, Log2CtbSize, PicHeightInCtbs, PicWidthInCtbs, и вектором CtbAddrRStoTS в качестве входных данных, а выходные данные присваиваются MinCbAddrZS.An array of MinCbAddrZS[ x ][ y ] specifying the conversion from location ( x, y ) in units of minimum CBs to the minimum address of CBs in z-order scan, with x being in the range 0 to picWidthInMinCbs - 1, inclusive, and y being in the range 0 to picHeightInMinCbs - 1, inclusive, is obtained by calling the scan order Z array initialization process as defined in subclause 6.5.2 with Log2MinCbSize, Log2CtbSize, PicHeightInCtbs, PicWidthInCtbs, and a CtbAddrRStoTS vector as input, and the output is assigned MinCbAddrZS.

loop_filter_across_tiles_enabled_flag, равное 1, указывает, что операции внутрицикловой фильтрации выполняются через границы фрагмента изображения. loop_filter_across_tiles_enabled_flag, равное 0, указывает, что операции внутрицикловой фильтрации не выполняются через границы фрагмента изображения. Операции внутрицикловой фильтрации включают в себя операции деблокирующего фильтра, адаптивного смещения образца и адаптивного контурного фильтра. В случае, когда не присутствует, значение loop_filter_across_tiles_ enabled_flag подразумевается равным 1.loop_filter_across_tiles_enabled_flag equal to 1 indicates that in-loop filtering operations are performed across tile boundaries. loop_filter_across_tiles_enabled_flag equal to 0 indicates that in-loop filtering operations are not performed across tile boundaries. The in-loop filtering operations include the deblocking filter, adaptive sample bias, and adaptive loop filter operations. When not present, the value of loop_filter_across_tiles_enabled_flag is assumed to be 1.

cabac_independent_flag, равное 1, определяет, что декодирование CABAC блоков кодирования в слайсе независимо от любого состояния ранее декодированного слайса. cabac_independent_flag, равное 0, определяет, что декодирование CABAC блоков кодирования в слайсе зависит от состояний ранее декодированного слайса. В случае, когда не присутствует, значение cabac_independent_flag подразумевается равным 0.cabac_independent_flag equal to 1 specifies that the CABAC decoding of the coding blocks in the slice is independent of any state of the previously decoded slice. cabac_independent_flag equal to 0 specifies that the CABAC decoding of coding blocks in a slice depends on the states of the previously decoded slice. When not present, the value of cabac_independent_flag is assumed to be 0.

Процесс получения для доступности блока кодирования с минимальным адресом блока кодирования был описан следующим образом.The derivation process for the availability of a coding block with a minimum coding block address has been described as follows.

Входные данные для этого процесса следующиеThe input for this process is as follows

- минимальный адрес minCbAddrZS блока кодирования в z-порядке сканирования- minimum address minCbAddrZS of the encoding block in the z-order of scanning

- текущий минимальный адрес currMinCBAddrZS блока кодирования в z-порядке сканирования- current minimum address currMinCBAddrZS of coding block in scan z-order

Выходными данными этого процесса является доступность блока кодирования с минимальным адресом cbAddrZS блока кодирования в z-порядке сканирования cbAvailable.The output of this process is the availability of the coding block with the minimum address cbAddrZS of the coding block in the z-order of the cbAvailable scan.

Следует отметить, что значение доступности определяется, когда процесс вызывается.Note that the availability value is determined when the process is invoked.

Следует отметить, что любой блок кодирования, вне зависимости от его размера, связан с минимальным адресом блока кодирования, который представляет собой адрес блока кодирования с минимальным разрмером блока кодирования в z-порядке сканирования.It should be noted that any coding block, regardless of its size, is associated with a minimum coding block address, which is the address of the coding block with the minimum coding block size in the z-order scan.

- Если одно или более из следующих условий верно, cbAvailable устанавливается в ЛОЖНО.- If one or more of the following conditions are true, cbAvailable is set to FALSE.

- minCbAddrZS меньше, чем 0- minCbAddrZS less than 0

- minCbAddrZS больше, чем currMinCBAddrZS- minCbAddrZS is greater than currMinCBAddrZS

- блок кодирования с минимальным адресом minCBAddrZS блока кодирования принадлежит другому слайсу, чем блок кодирования с текущим минимальным адресом currMinCBAddrZS блока кодирования, и dependent_slice_flag слайса, содержащего блок кодирования с текущим минимальным адресом currMinCBAddrZS блока кодирования, равен 0.- the coding block with the minimum address minCBAddrZS of the coding block belongs to a different slice than the coding block with the current minimum address currMinCBAddrZS of the coding block, and the dependent_slice_flag of the slice containing the coding block with the current minimum address currMinCBAddrZS of the coding block is equal to 0.

- блок кодирования с минимальным адресом minCBAddrZS блока кодирования содержится в другом фрагменте изображения, чем блок кодирования с текущим минимальным адресом currMinCBAddrZS блока кодирования.- the coding block with the minimum address minCBAddrZS of the coding block is contained in a different image fragment than the coding block with the current minimum address currMinCBAddrZS of the coding block.

- В противном случае, cbAvailable устанавливается в ИСТИННО.- Otherwise, cbAvailable is set to TRUE.

Процесс синтаксического анализа CABAC для данных слайса в [2] был следующим.The CABAC parsing process for slice data in [2] was as follows.

Процесс вызывается при синтаксическом анализе синтаксических элементов с дескриптором ae(v).The process is invoked when parsing syntax elements with descriptor ae(v).

Входными данными для этого процесса являются запрос значения синтаксического элемента и значения ранее синтаксически проанализированных синтаксических элементов.The input to this process is a request for the value of a syntax element and the value of previously parsed syntax elements.

Выходные данные этого процесса представляют собой значение синтаксического элемента.The output of this process is the value of the syntax element.

При запуске синтаксического анализа данных слайса вызывается процесс инициализации процесса синтаксического анализа CABAC.When you start parsing slice data, the CABAC parsing process initialization process is called.

Минимальный адрес блока кодирования блока дерева кодирования, содержащего пространственный соседний блок T (Фиг.10a), ctbMinCbAddrT, получается с использованием местоположения ( x0, y0 ) верхней левой выборки яркости текущего блока дерева кодирования следующим образом.The minimum coding block address of the coding tree block containing the spatial neighboring block T (FIG. 10a), ctbMinCbAddrT, is obtained using the location ( x0, y0 ) of the top left luma sample of the current coding tree block as follows.

x = x0 + 2 << Log2CtbSize – 1x = x0 + 2 << Log2CtbSize - 1

y = y0 - 1y = y0 - 1

ctbMinCbAddrT = MinCbAddrZS[ x >> Log2MinCbSize ][ y >> Log2MinCbSize ]ctbMinCbAddrT = MinCbAddrZS[ x >> Log2MinCbSize ][ y >> Log2MinCbSize ]

Переменная availableFlagT получена путем вызова процесса получения доступности блока кодирования с CtbMinCbAddrT в качестве входных данных.The availableFlagT variable is obtained by calling the coding block availability get process with CtbMinCbAddrT as input.

При запуске синтаксического анализа дерева кодирования применяются следующие упорядоченные шаги. When starting encoding tree parsing, the following ordered steps apply.

1. Движок арифметического декодирования инициализируется следующим образом.1. The arithmetic decoding engine is initialized as follows.

- Если CtbAddrRS равно slice_address, dependent_slice_flag равен 1, и entropy_coding_reset_flag равно 0, применяется следующее.- If CtbAddrRS is equal to slice_address, dependent_slice_flag is equal to 1, and entropy_coding_reset_flag is equal to 0, the following applies.

- Вызывается процесс синхронизации процесса синтаксического анализа CABAC с TableStateIdxDS и TableMPSValDS в качестве входных данных.- The CABAC parser synchronization process is called with TableStateIdxDS and TableMPSValDS as input.

- Вызывается процесс декодирования для двоичных решений перед вызовом завершения, за которым следует процесс инициализации для арифметического декодирования.- The decoding process for binary solutions is called before completion is called, followed by the initialization process for arithmetic decoding.

- В противном случае, если tiles_or_entropy_coding_sync_idc равно 2, и CtbAddrRS % PicWidthInCtbs равно 0, применяется следующее.- Otherwise, if tiles_or_entropy_coding_sync_idc is 2 and CtbAddrRS % PicWidthInCtbs is 0, the following applies.

- Когда availableFlagT равно 1, вызывается процесс синхронизации процесса синтаксического анализа CABAC с TableStateIdxWPP и TableMPSValWPP в качестве входных данных.- When availableFlagT is equal to 1, the CABAC parsing process synchronization process is called with TableStateIdxWPP and TableMPSValWPP as input.

- Вызывается процесс декодирования для двоичных решений перед вызовом завершения, за которым следует процесс инициализации для движка арифметического декодирования.- The decoding process for binary solutions is called before terminating, followed by the initialization process for the arithmetic decoding engine.

2. Когда cabac_independent_flag равен 0, и dependent_slice_flag равен 1, или когда tiles_or_entropy_coding_sync_idc равно 2, процесс запоминания применяется следующим образом.2. When cabac_independent_flag is 0 and dependent_slice_flag is 1, or when tiles_or_entropy_coding_sync_idc is 2, the learning process is applied as follows.

- Когда tiles_or_entropy_coding_sync_idc равно 2, и CtbAddrRS % PicWidthInCtbs равно 2, вызывается процесс запоминания процесса синтаксического анализа CABAC с TableStateIdxWPP и TableMPSValWPP в качестве выходных данных.- When tiles_or_entropy_coding_sync_idc is equal to 2 and CtbAddrRS % PicWidthInCtbs is equal to 2, the CABAC parsing process store process is called with TableStateIdxWPP and TableMPSValWPP as output.

- Когда cabac_independent_flag равен 0, dependent_slice_flag равен 1, и end_of_slice_flag равен 1, вызывается процесс запоминания процесса синтаксического анализа CABAC с TableStateIdxDS and TableMPSValDS в качестве выходных данных.- When cabac_independent_flag is 0, dependent_slice_flag is 1, and end_of_slice_flag is 1, the CABAC parsing process store process is called with TableStateIdxDS and TableMPSValDS as output.

Синтаксический анализ синтаксических элементов продолжается следующим образом:The parsing of syntax elements continues as follows:

Для каждого запрошенного значения синтаксического элемента получают бинаризацию (преобразование в двоичное представление).For each requested value of the syntax element, a binarization (conversion to a binary representation) is obtained.

Бинаризация синтаксического элемента и последовательности синтаксически проанализированных контейнеров определяет течение процесса декодирования.The binarization of the syntax element and the sequence of parsed containers determines the course of the decoding process.

Для каждого контейнера бинаризации синтаксического элемента, который проиндексирован переменной binIdx, получают индекс ctxIdx.For each syntax element binarization container that is indexed by the binIdx variable, the ctxIdx index is obtained.

Для каждого ctxIdx вызывается процесс арифметического декодирования.For each ctxIdx, the arithmetic decoding process is called.

Результирующая последовательность (b0..bbinIdx) синтаксически проанализированных контейнеров сравнивается с набором контейнерных строк, заданным процессом бинаризации после декодирования каждого контейнера. Когда последовательность соответствует контейнерной строке в заданном наборе, соответствующее значение присваивается синтаксическому элементу.The resulting sequence (b 0 ..b binIdx ) of the parsed containers is compared to the set of container strings given by the binarization process after decoding each container. When a sequence matches a container string in a given set, the corresponding value is assigned to the syntax element.

В случае если запрос значения синтаксического элемента обрабатывается для синтаксического элемента pcm-flag, и декодированное значение pcm-flag равно 1, движок декодирования инициализируется после декодирования любого pcm_alignment_zero_bit, num_subsequent_pcm, и всех данных pcm_sample_luma и pcm_sample_chroma.In case a syntax element value request is processed for a pcm-flag syntax element and the decoded pcm-flag value is 1, the decoding engine is initialized after decoding any pcm_alignment_zero_bit, num_subsequent_pcm, and all pcm_sample_luma and pcm_sample_chroma data.

В конструкции описанной до сих пор инфраструктуры возникала следующая проблема.In the design of the infrastructure described so far, the following problem arose.

Необходимо знать тайминг блоков декодирования до кодирования и отправки данных в сценарии с малой задержкой, где блоки NAL будут уже отправлены декодером, тогда как декодер все еще кодирует части изображения, т.е. другие блоки декодирования под-изображения. Это из-за того, что порядок блоков NAL в блоке доступа позволяет лишь сообщениям SEI предшествовать VCL (блокам NAL Кодирования Видеосигнала) в блоке доступа, но в таком сценарии с малой задержкой не-VCL NAL блоки должны быть уже в проводе, т.е. отправлены, если кодер начинает кодирования блоков декодирования. Фиг.10b иллюстрирует структуру блока доступа, как определено в [2]. [2] еще не определило окончание последовательности потока, поэтому их присутствие в блоке доступа было предварительным.It is necessary to know the timing of decoding blocks before encoding and sending data in low latency scenarios where NAL blocks will already be sent by the decoder while the decoder is still encoding parts of the picture, i.e. other sub-picture decoding blocks. This is because the order of the NAL units in the access unit only allows SEI messages to precede the VCL (Video Encoding NAL units) in the access unit, but in such a low latency scenario, the non-VCL NAL units must be already on the wire, i.e. . sent if the encoder starts encoding decoding blocks. Fig.10b illustrates the structure of the block access, as defined in [2]. [2] had not yet determined the end of the flow sequence, so their presence in the access block was tentative.

Кроме того, ряд блоков NAL, связанных с под-изображением, также должны быть известны заранее в сценарии с малой задержкой, поскольку сообщение SEI тайминга изображения содержит эту информацию и должно быть скомпилировано и отправлено перед тем, как кодер начнет кодировать фактическое изображение. Проектировщик приложения, неохотно вставляющий блоки NAL данных заполнения, потенциально без данных заполнения, соответствующих номеру блока NAL, по мере того как сигнализируются для блока декодирования в тайминге SEI изображения, нуждается в средствах для сигнализирования этой информации на уровне под-изображения. То же самое сохраняется для тайминга под-изображений, который в настоящее время зафиксирован в существовании блока доступа параметрами, заданными в сообщении SEI тайминга.In addition, the number of NAL units associated with a sub-picture must also be known in advance in a low latency scenario, since the picture timing SEI message contains this information and must be compiled and sent before the encoder starts encoding the actual picture. An application designer reluctant to insert padding data NAL units, potentially without padding data corresponding to the NAL unit number, as signaled to a decode unit in the picture SEI timing needs a means to signal this information at the sub-picture level. The same holds true for the sub-picture timing, which is currently fixed in the existence of the access block by the parameters specified in the timing SEI message.

Дополнительные недостатки проекта спецификации [2] включают в себя многочисленные сигнализации уровня под-изображения, которые требуются для определенных приложений, такие как сигнализация ROI или сигнализация измерений фрагментов изображений.Additional disadvantages of the Draft Specification [2] include numerous sub-image level signaling that is required for certain applications, such as ROI signaling or sub-image measurement signaling.

Изложенные выше проблемы не являются специфическими для стандарта HEVC. Скорее, эта проблема происходит также в связи с другими видеокодеками. Фиг.11 показывает, более широко, пейзаж передачи видео, где пара кодера 10 и декодера 12 соединены через сеть 14, чтобы передать видео 16 из кодера 10 в декодер 12 с короткой сквозной задержкой. Проблема, уже обрисованная в общих чертах выше, заключается в следующем. Кодер 10 кодирует последовательность кадров 18 видео 16 в соответствии с определенным порядком декодирования, который, по существу, но не обязательно, следует порядку 20 воспроизведения кадров 18, и каждый кадр 18 проходит через кадровую область кадров 18 некоторым определенным образом, таким как, например, растровым способом сканирования с или без секционирования фрагментов изображения кадров 18. Порядок декодирования управляет доступностью информации для методов кодирования, используемых кодером 19, таких как, например предсказательное и/или энтропийное кодирование, т.е. доступностью информации, относящейся к пространственно и/или временно соседним частям видео 16, доступным, чтобы служить в качестве основы для предсказания или выбора контекста. Даже хотя кодер 10 может быть в состоянии использовать параллельную обработку, чтобы закодировать кадры 18 видео 16, кодеру 10 обязательно нужно некоторое время, чтобы закодировать определенный кадр 18, такой как текущий кадр. Фиг.11, например, иллюстрирует момент времени, когда кодер 10 уже закончил кодирование части 18a текущего кадра 18, тогда как другая часть 18b текущего кадра 18 еще не была закодирована. Поскольку кодер 10 еще не закодировал часть 18b, кодер 10 может не предвидеть, как доступная скорость передачи данных для кодирования текущего кадра 18 должна быть распределена пространственно по текущему кадру 18, чтобы достичь оптимального с точки зрения, например, скорости/искажения, значения. Соответственно, кодер 10 имеет лишь два варианта: либо кодер 10 оценивает близкое к оптимальному распределение доступной скорости передачи данных для текущего кадра 18 на слайсы, на которые текущий кадр 18 пространственно подразделен заранее, соответственно, допуская, что оценка может быть неверной, либо кодер 10 завершает кодирование текущего кадра 18 до передачи пакетов, содержащих слайсы, из кодера 10 в декодер 12. В любом случае, для того, чтобы иметь возможность воспользоваться преимуществом любой передачи слайсовых пакетов текущего закодированного кадра 18 до завершения его кодирования, сеть 14 должна быть проинформирована о скоростях передачи данных, связанных с каждым слайсовым пакетом, в форме времен извлечения буфера кодированного изображения. Однако, как указано выше, хотя декодер 10, в соответствии с текущей версией HEVC, имеет возможность менять скорость передачи данных, распределенную по кадрам 18, путем использования определения времен извлечения буфера кодированного изображения для областей под-изображения отдельно, кодеру 10 необходимо передавать или отправлять такую информацию через сеть 14 в декодер 12 в начале каждого блока доступа, собирая все данные, относящиеся к текущему кадру 18, тем самым заставляя кодер 10 выбирать из только что описанных в общих чертах двух альтернатив, одна из которых приводит в более низкой задержке, но более плохому соотношению скорость/искажение, другая приводит к оптимальному соотношению скорость/искажения, но с увеличенной сквозной задержкой.The problems outlined above are not specific to the HEVC standard. Rather, this problem occurs also in connection with other video codecs. 11 shows, more broadly, a video transmission landscape where a pair of encoder 10 and decoder 12 are connected via network 14 to transmit video 16 from encoder 10 to decoder 12 with short end-to-end delay. The problem already outlined above is the following. Encoder 10 encodes a sequence of frames 18 of video 16 in accordance with a specific decoding order, which essentially, but not necessarily, follows the playback order 20 of frames 18, and each frame 18 passes through the frame area of frames 18 in some specific manner, such as, for example, raster scanning method with or without partitioning of image fragments of frames 18. The decoding order controls the availability of information for the encoding methods used by the encoder 19, such as, for example, predictive and/or entropy coding, i.e. the availability of information relating to spatially and/or temporally adjacent portions of video 16 available to serve as a basis for prediction or context selection. Even though encoder 10 may be able to use parallel processing to encode frames 18 of video 16, encoder 10 necessarily needs some time to encode a particular frame 18, such as the current frame. 11, for example, illustrates the point in time when the encoder 10 has already finished encoding part 18a of the current frame 18, while the other part 18b of the current frame 18 has not yet been encoded. Because encoder 10 has not yet encoded part 18b, encoder 10 may not anticipate how the available data rate for encoding the current frame 18 must be distributed spatially over the current frame 18 to achieve an optimal value in terms of, for example, rate/distortion. Accordingly, encoder 10 has only two options: either encoder 10 estimates a near-optimal distribution of the available data rate for the current frame 18 into slices into which the current frame 18 is spatially subdivided in advance, respectively, assuming that the estimate may be incorrect, or encoder 10 completes the encoding of the current frame 18 before the packets containing the slices are transmitted from the encoder 10 to the decoder 12. In any case, in order to be able to take advantage of any transmission of slice packets of the current encoded frame 18 before its encoding is completed, the network 14 must be informed about the data rates associated with each slice packet, in the form of encoded picture buffer draw times. However, as mentioned above, although the decoder 10, in accordance with the current version of HEVC, has the ability to change the data rate distributed across frames 18 by using the determination of the encoded picture buffer extraction times for the sub-picture areas separately, the encoder 10 needs to transmit or send such information via the network 14 to the decoder 12 at the beginning of each access block, collecting all the data related to the current frame 18, thereby causing the encoder 10 to choose from the two alternatives just described, one of which results in a lower delay, but a poorer speed/distortion ratio, the other results in an optimal speed/distortion ratio but with increased end-to-end delay.

Таким образом, до сих пор не существует видеокодека, делающего возможным достижение такой низкой задержки, что кодер имел бы возможность начинать передачу пакетов, относящихся к частям 18a текущего кадра, до кодирования оставшейся части 18b текущего кадра, при этом декодер способен использовать эту промежуточную передачу пакетов, относящихся к предварительным частям 18a, посредством сети 16, которая подчиняется таймингу извлечения буфера декодирования, переданному в потоке видеоданных, отправленном из кодера 12 в декодер 14. Применения, которые бы, например, воспользовались бы такой низкой задержкой, примерно охватывают промышленные применения, такие как, например, обрабатываемая деталь или наблюдение за производством в целях автоматизации или проверки или тому подобного. До сих пор также нет удовлетворительного решения для информирования стороны декодирования о связи пакетов с фрагментами изображения, на которые текущий кадр структурирован, и интересными областями (областями интереса) текущего кадра, так чтобы промежуточные сетевые объекты в сети 16 имели возможность собирать такую информацию из потока данных без необходимости глубоко изучать внутренности пакетов, т.е. синтаксис кадров.Thus, until now, there is no video codec that makes it possible to achieve such a low delay that the encoder would be able to start transmitting packets related to parts 18a of the current frame before encoding the remaining part 18b of the current frame, while the decoder is able to use this intermediate transmission of packets related to the preliminary parts 18a by the network 16, which is subject to the decoding buffer extraction timing transmitted in the video data stream sent from the encoder 12 to the decoder 14. Applications that would, for example, take advantage of such low delay roughly cover industrial applications such such as a workpiece or supervision of production for the purpose of automation or verification or the like. So far, there is also no satisfactory solution for informing the decoding side about the association of packets with the image fragments on which the current frame is structured and the regions of interest (regions of interest) of the current frame, so that intermediate network entities in the network 16 are able to collect such information from the data stream. without the need to deeply study the internals of the packages, i.e. frame syntax.

Соответственно, цель настоящего изобретения состоит в том, чтобы предоставить концепцию кодирования потока видеоданных, которая является более эффективной в обеспечении низкой сквозной задержки и/или выводит идентификацию частей потока данных в область интереса или определенные фрагменты изображения более легко.Accordingly, it is an object of the present invention to provide a video stream coding concept that is more efficient in providing low end-to-end delay and/or brings the identification of parts of the data stream to a region of interest or certain sub-pictures more easily.

Эта цель достигается объектом независимых пунктов формулы изобретения.This goal is achieved by the subject matter of the independent claims.

Одна из идей, на которой основана настоящая заявка, заключается в том, что информация тайминга извлечения декодера, информация ROI и информация идентификации фрагментов изображения должна быть передана в потоке видеоданных на уровне, который допускает легкий доступ сетевыми объектами, такими как MANE или декодерами, и что для того, чтобы достичь такого уровня, информация таких типов должна быть передана в потоке видеоданных посредством пакетов, помещенных в пакеты блоков доступа потока видеоданных. В соответствии с вариантом осуществления, помещенные пакеты имеют тип удаляемого пакета, т.е. удаление этих помещенных пакетов поддерживает способность декодера полностью восстановить видеоконтент, переданный через поток видеоданных.One of the ideas on which the present application is based is that decoder extraction timing information, ROI information, and fragment identification information should be transmitted in the video data stream at a level that allows easy access by network entities such as MANEs or decoders, and that in order to achieve such a level, information of these types must be transmitted in the video data stream by means of packets placed in packets of access units of the video data stream. According to an embodiment, the placed packages are of the type of the package being removed, i. e. the removal of these placed packets maintains the decoder's ability to fully recover the video content transmitted over the video stream.

В соответствии с аспектом настоящей заявки, достижение низкой сквозной задержки оказывается более эффективным путем использования помещенных пакетов, чтобы передать информацию о временах извлечения буфера декодера для блоков декодирования, сформированных пакетами полезной нагрузки, которые следуют за соответствующим пакетом управления таймингом в потоке видеоданных в текущем блоке доступа. С помощью этой меры декодер имеет возможность определять времена извлечения буфера декодера на лету во время кодирования текущего кадра, тем самым имея возможность, во время кодирования текущего кадра, непрерывно определять скорость передачи данных, фактически затраченную на часть текущего кадра, уже закодированного в пакеты полезной нагрузки и переданного, или отправленного, снабженного префиксом в виде пакетов управления таймингом, с одной стороны, и соответственно, приспосабливать распределение оставшейся скорости передачи данных для текущего кадра по оставшейся части текущего кадра, еще не закодированного. С помощью этой меры доступная скорость передачи данных эффективно используется, и задержка, тем не менее, сохраняется более короткой, поскольку декодеру не нужно ждать, чтобы завершить кодирование текущего кадра полностью.In accordance with an aspect of the present application, achieving low end-to-end delay is more efficient by using nested packets to convey information about decoder buffer extraction times for decoding blocks generated by payload packets that follow the corresponding timing control packet in the video stream in the current access block. . With this measure, the decoder is able to determine the decoder buffer extraction times on the fly during the encoding of the current frame, thereby being able, during the encoding of the current frame, to continuously determine the data rate actually spent on the portion of the current frame already encoded into payload packets. and transmitted or sent prefixed with timing control packets on the one hand, and accordingly adjust the distribution of the remaining data rate for the current frame over the remainder of the current frame not yet encoded. By this measure, the available data rate is efficiently used and the delay is nevertheless kept shorter because the decoder does not have to wait to complete encoding of the current frame completely.

В соответствии с дополнительным аспектом настоящей заявки, пакеты, помещенные в пакеты полезной нагрузки блока доступа, используются, чтобы передать информацию об области интереса, тем самым делая возможным, как в общих чертах описано выше, легкий доступ к этой информации сетевыми объектами, поскольку они не должны проверять промежуточные пакеты полезной нагрузки. Кроме того, кодер все еще свободен, чтобы определять пакеты, принадлежащие ROI, во время кодирования текущего кадра на лету, без необходимости определять подразделение текущего кадра на под-части и соответствующие пакеты полезной нагрузки заранее. Кроме того, в соответствии с вариантом осуществления, в соответствии с которым помещенные пакеты имеют тип удаляемых пакетов, информация ROI может быть проигнорирована получателями потока видеоданных, не заинтересованных в информации ROI, или не способных ее обработать.In accordance with a further aspect of the present application, packets placed in access unit payload packets are used to convey region of interest information, thereby allowing, as outlined above, easy access to this information by network entities, since they do not should check intermediate payload packets. In addition, the encoder is still free to determine the packets belonging to the ROI during encoding of the current frame on the fly, without having to determine the division of the current frame into sub-parts and the corresponding payload packets in advance. In addition, according to an embodiment where the placed packets are of the type of dropped packets, the ROI information may be ignored by recipients of the video stream not interested in the ROI information or unable to process it.

Подобные мысли используются в настоящей заявке в соответствии с другим аспектом, в соответствии с которым помещенные пакеты передают информацию, которой принадлежат определенные пакеты фрагментов изображения в блоке доступа.Similar thoughts are used in the present application in accordance with another aspect, in accordance with which the placed packets convey information that belongs to certain packets of sub-images in the access unit.

Полезные реализации настоящего изобретения являются объектами зависимых пунктов формулы изобретения. Предпочтительные варианты реализации настоящего изобретения являются предметом зависимых пунктов формулы изобретения.Useful implementations of the present invention are the subject of the dependent claims. Preferred embodiments of the present invention are the subject of the dependent claims.

Фиг.1-10b показывают текущий статус HEVC, при этом Фиг.1 показывает синтаксис сообщения SEI периода буферизации, Фиг.2 показывает синтаксис сообщения SEI тайминга изображения, Фиг.3 показывает синтаксис параметра VUI, Фиг.4 показывает синтаксис параметра HRD, Фиг.5 показывает синтаксис данных заполнения RBSP, Фиг.6 показывает структуру потоков байтов и потоков блоков NAL для проверок соответствия HRD. Фиг.7 показывает модель буфера HRD, Фиг.8 показывает синтаксис заголовка слайса, Фиг.9 показывает синтаксис набора RBSP параметров изображения, Фиг.10a показывает схематическую иллюстрацию пространственно соседнего блока T дерева кодирования, возможно используемого для вызова процесса получения доступности блока дерева кодирования относительно текущего блока дерева кодирования, и Фиг.10b показывает определение структуры блока доступа;FIGS. 1-10b show the current status of HEVC, wherein FIG. 1 shows the buffering period SEI message syntax, FIG. 2 shows the picture timing SEI message syntax, FIG. 3 shows the VUI parameter syntax, FIG. 4 shows the HRD parameter syntax, FIG. 5 shows the syntax of RBSP padding data, FIG. 6 shows the structure of byte streams and NAL unit streams for HRD conformance checks. Fig. 7 shows the HRD buffer model, Fig. 8 shows the syntax of a slice header, Fig. 9 shows the syntax of a picture parameter set RBSP, Fig. 10a shows a schematic illustration of a spatially adjacent coding tree block T, possibly used to invoke a process of obtaining the availability of a coding tree block relative to the current block of the coding tree, and Fig. 10b shows the definition of the access block structure;

Фиг.11 схематически показывает пару кодера и декодера, соединенных через сеть, для иллюстрации проблем, возникающих в передаче потока видеоданных;Fig. 11 schematically shows a pair of encoder and decoder connected via a network to illustrate the problems encountered in the transmission of a video data stream;

Фиг.12 показывает схематическую структурную схему кодера в соответствии с вариантом осуществления, использующим пакеты управления таймингом;12 shows a schematic block diagram of an encoder according to an embodiment using timing control packets;

Фиг.13 показывает блок-схему, иллюстрирующую режим работы кодера на Фиг.12 в соответствии с вариантом осуществления;Fig. 13 is a block diagram illustrating an operation mode of the encoder in Fig. 12 according to the embodiment;

Фиг.14 показывает структурную схему варианта осуществления декодера таким образом, чтобы объяснить его функциональность в связи с потоком видеоданных, сгенерированных кодером согласно Фиг.12;Fig. 14 shows a block diagram of an embodiment of a decoder in such a way as to explain its functionality in connection with the video data stream generated by the encoder of Fig. 12;

Фиг.15 показывает схематическую структурную схему, иллюстрирующую кодер, сетевой объект и поток видеоданных в соответствии с дополнительным вариантом осуществления, использующим пакеты ROI;15 shows a schematic block diagram illustrating an encoder, a network entity, and a video data stream in accordance with a further embodiment using ROI packets;

Фиг.16 показывает схематическую структурную схему, иллюстрирующую кодер, сетевой объект и поток видеоданных в соответствии с дополнительным вариантом осуществления, использующим пакеты идентификации;16 shows a schematic block diagram illustrating an encoder, a network entity, and a video data stream in accordance with a further embodiment using identification packets;

Фиг.17 показывает структуру блока доступа в соответствии с вариантом осуществления. Пунктирная линия отражает случай необязательного блока NAL префикса слайса;17 shows the structure of an access block according to an embodiment. The dotted line reflects the case of the optional slice prefix NAL unit;

Фиг.18 показывает использование фрагментов изображения в сигнализации области интереса;18 shows the use of sub-pictures in ROI signaling;

Фиг.19 показывает первый простой синтаксис/версию 1;19 shows the first simple syntax/version 1;

Фиг.20 показывает расширенный синтаксис/версию 2, включающий в себя сигнализацию tile_id, идентификатор начала блока декодирования, ID префикса слайса и данные заголовка слайса, за исключением концепции сообщения SEI;20 shows extended syntax/version 2 including tile_id signaling, decoding block start identifier, slice prefix ID, and slice header data, excluding the SEI message concept;

Фиг.21 показывает код типа блока NAL и классы типа блока NAL;21 shows the NAL unit type code and NAL unit type classes;

Фиг.22 показывает возможный синтаксис для заголовка слайса, где определенные синтаксические элементы, присутствующие в заголовке слайса в соответствии с текущей версией, сдвинуты к синтаксическому элементу более низкой иерархии, называемому slice_header_data();22 shows a possible syntax for a slice header where certain syntax elements present in the slice header according to the current version are shifted to a lower hierarchy syntax element called slice_header_data();

Фиг.23 показывает таблицу, где все синтаксические элементы, удаленные из заголовка слайса, сигнализируются через данные заголовка слайса синтаксического элемента;23 shows a table where all syntax elements removed from a slice header are signaled via the syntax element slice header data;

Фиг.24 показывает синтаксис сообщения дополнительной расширенной информации;24 shows the syntax for reporting additional extended information;

Фиг.25 показывает адаптированный синтаксис полезной нагрузки SEI, чтобы представить новые типы сообщения SEI слайса или под-изображения;25 shows an adapted SEI payload syntax to represent new slice or sub-picture SEI message types;

Фиг.26 показывает пример для сообщения SEI буферизации под-изображения;26 shows an example for a sub-picture buffering SEI message;

Фиг.27 показывает пример для сообщения SEI тайминга под-изображения;Fig. 27 shows an example for a sub-picture timing SEI message;

Фиг.28 показывает, как может выглядеть сообщение SEI информации слайса под-изображения.FIG. 28 shows what a sub-picture slice information SEI message may look like.

Фиг.29 показывает пример для сообщения SEI информации фрагмента под-изображения;Fig. 29 shows an example for reporting sub-picture fragment information SEI;

Фиг.30 показывает пример синтаксиса для сообщения SEI информации размера фрагмента под-изображения;30 shows an example of a syntax for reporting sub-picture fragment size information to the SEI;

Фиг.31 показывает первый вариант примера синтаксиса для области интереса сообщения SEI, где каждый ROI сигнализируется в отдельном сообщении SEI;31 shows a first variant of an example syntax for an SEI message region of interest, where each ROI is signaled in a separate SEI message;

Фиг.32 показывает второй вариант примера синтаксиса для области интереса сообщения SEI, где все ROI сигнализируются в одном сообщении SEI;32 shows a second variant of an example syntax for an SEI message region of interest where all ROIs are signaled in one SEI message;

Фиг.33 показывает возможный синтаксис для пакета управления таймингом в соответствии с дополнительным вариантом осуществления;33 shows a possible syntax for a timing control packet according to a further embodiment;

Фиг.34 показывает возможный синтаксис для пакета идентификации фрагмента изображения в соответствии с вариантом осуществления;34 shows a possible syntax for a sub-picture identification packet according to an embodiment;

Фиг.35-38 показывают возможные подразделения изображения в соответствии с различными настройками подразделения в соответствии с вариантом осуществления; и35-38 show possible subdivisions of an image according to different subdivision settings according to an embodiment; and

Фиг.39 показывает пример части из потока видеоданных в соответствии с вариантом осуществления, использующим пакеты управления таймингом, помещенные между пакетами полезной нагрузки блока доступа.39 shows an example of a portion of a video stream according to an embodiment using timing control packets placed between access block payload packets.

На Фиг.12 описан кодер 10 в соответствии с вариантом осуществления настоящего изобретения и его режим работы. Кодер 10 выполнен с возможностью кодирования видеоконтента 16 в поток 22 видеоданных. Кодер выполнен с возможностью делать это в блоках под-частей кадров/изображений 18 видеоконтента 16, где под-части могут, например, быть слайсами 24, на которые изображения 18 разделены, или некоторыми другими пространственными сегментами, такими как, например, фрагменты 26 изображений или подпотоки 28 WPP, все из которых проиллюстрированы на Фиг.12 только ради иллюстративных целей, а не предположения, что кодер 10 должен иметь возможность поддерживать параллельную обработку WPP, например, или что под-части должны быть слайсами.FIG. 12 describes an encoder 10 according to an embodiment of the present invention and its mode of operation. Encoder 10 is configured to encode video content 16 into stream 22 of video data. The encoder is configured to do this in blocks of sub-frames/images 18 of video content 16, where the sub-parts may, for example, be slices 24 into which images 18 are divided, or some other spatial segments, such as, for example, sub-pictures 26 or WPP substreams 28, all of which are illustrated in FIG. 12 for illustrative purposes only, and not to suggest that encoder 10 should be able to support WPP parallel processing, for example, or that sub-parts should be slices.

В кодировании видеоконтента 16 в блоках под-частей 24 кодер 10 может подчиняться порядку декодирования - или порядку кодирования - определенному среди под-частей 24, который, например, обходит изображения 18 видео 16 в соответствии с порядком декодирования изображения, который, например, не обязательно совпадает с порядком 20 воспроизведения, определенным среди изображений 18, и обходит в каждом изображении 18 блоки, на которые изображения 18 разделены, в соответствии с растровым порядком сканирования, при этом под-части 24 представляют непрерывные проходы таких блоков в соответствии с порядком декодирования. В частности, декодер 10 может быть выполнен с возможностью подчинения порядку в определении доступности пространственно и/или временно соседних частей, которые должны быть закодированы в настоящее время, чтобы использовать атрибуты, описывающие части в предсказательном кодировании и/или энтропийном кодировании, таком как, например, чтобы определить предсказательный и/или энтропийный контекст: Доступны только посещенные ранее (закодированные/декодированные) части видео. В противном случае, только что упомянутые атрибуты устанавливаются в значения по умолчанию, или берутся какие-либо другие меры по замене.In encoding video content 16 in blocks of sub-parts 24, encoder 10 may obey a decoding order - or encoding order - determined among sub-parts 24, which, for example, bypasses images 18 of video 16 according to an image decoding order, which, for example, is not necessarily matches the playback order 20 defined among the pictures 18 and traverses in each picture 18 the blocks into which the pictures 18 are divided according to the raster scan order, the sub-parts 24 representing continuous passes of such blocks according to the decoding order. In particular, the decoder 10 may be configured to obey order in determining the availability of spatially and/or temporally neighboring parts to be currently encoded in order to use attributes describing the parts in predictive coding and/or entropy coding, such as, for example to determine the predictive and/or entropy context: Only previously visited (encoded/decoded) parts of the video are available. Otherwise, the attributes just mentioned are set to their default values, or some other replacement action is taken.

С другой стороны, кодер 10 не должен последовательно кодировать под-части 24 в соответствии с порядком декодирования. Наоборот, кодер 10 может использовать параллельную обработку, чтобы ускорить процесс кодирования, или чтобы иметь возможность выполнять более сложное кодирование в реальном времени. Подобным образом, кодер 10 может быть, а может и не быть выполнен с возможностью передачи или отправки данных, кодирующих под-части в соответствии с порядком декодирования. Например, кодер 10 может выводить/передавать закодированные данные в каком-либо другом порядке, таком как, например, в соответствии с порядком, в котором кодирование под-частей завершается кодером 10, который может, благодаря параллельной обработке, например, отклониться от только что упомянутого порядка декодирования.On the other hand, the encoder 10 does not have to sequentially encode the sub-parts 24 according to the decoding order. Conversely, encoder 10 may use parallel processing to speed up the encoding process, or to be able to perform more complex encoding in real time. Similarly, encoder 10 may or may not be configured to transmit or send data encoding sub-parts according to decoding order. For example, the encoder 10 may output/transmit the encoded data in some other order, such as, for example, according to the order in which the encoding of the sub-parts is completed by the encoder 10, which may, due to parallel processing, for example, deviate from just mentioned decoding order.

Чтобы сформировать закодированные версии под-частей 24, подходящих для передачи по сети, кодер 10 кодирует каждую под-часть 24 в один или более пакетов полезной нагрузки последовательностей пакетов потока 22 видеоданных. В случае, если под-части 24 являются слайсами, декодер 10 может, например, быть выполнен с возможностью помещать данные каждого слайса, т.е. каждый закодированный слайс, в один пакет полезной нагрузки, такой как блок NAL. Это пакетирование может служить для формирования потока 22 видеоданных, подходящего для передачи через сеть. Соответственно, пакеты могут представлять самые маленькие блоки, при которых поток 22 видеоданных может иметь место, т.е. самые маленькие блоки, которые могут быть отдельно отправлены кодером 10 для передачи через сеть получателю.To generate encoded versions of sub-parts 24 suitable for transmission over the network, encoder 10 encodes each sub-part 24 into one or more payload packets of video stream 22 packet sequences. In case the sub-parts 24 are slices, the decoder 10 may, for example, be configured to put the data of each slice, i. e. each encoded slice, into one payload packet, such as a NAL unit. This packetization may serve to form a video data stream 22 suitable for transmission over the network. Accordingly, the packets may represent the smallest blocks in which the video stream 22 can take place, ie. the smallest blocks that can be individually sent by the encoder 10 for transmission over the network to the recipient.

Помимо пакетов полезной нагрузки и пакетов управления таймингом, помещенных между ними и обсужденных ниже, другие пакеты, т.е. пакеты другого типа, также могут существовать, такие как пакеты данных заполнения, пакеты наборов параметров изображения или последовательности для передачи редко меняющихся синтаксических элементов или пакетов EOF (конец файла) или AUE (конец блока доступа) или подобных.In addition to the payload packets and timing control packets placed between them and discussed below, other packets, i.e. Other types of packets may also exist, such as padding data packets, picture or sequence parameter set packets for conveying infrequently changing syntax elements, or EOF (End of File) or AUE (End of Access Unit) packets or the like.

Кодер выполняет кодирование в пакеты полезной нагрузки таким образом, что последовательность пакетов разделена на последовательность блоков 30 доступа, и каждый блок доступа собирает пакеты 32 полезной нагрузки, относящиеся к одному изображению 18 видеоконтента 16. То есть, последовательность 34 пакетов, формирующих поток 22 видеоданных, подразделена на неперекрывающиеся части, называемые блоками 30 доступа, при этом каждый связан с соответствующим одним из изображений 18. Последовательность блоков 30 доступа может следовать за порядком декодирования изображений 18, к которым относятся блоки 30 доступа. Фиг.12 иллюстрирует, например, что блок 30 доступа, расположенный в середине части проиллюстрированного потока 22 данных, содержит один пакет 32 полезной нагрузки на под-часть 24, на которые изображение 18 подразделено. То есть, каждый пакет 32 полезной нагрузки переносит соответствующую под-часть 24. Кодер 10 выполнен с возможностью помещать в последовательность 34 пакетов пакеты 36 управления таймингом, так что пакеты управления таймингом подразделяют блоки 30 доступа на блоки 38 декодирования, так что по меньшей мере некоторые блоки 30 доступа, такие как средний, показанный на Фиг.12, подразделены на два или более блока 38 декодирования, при этом каждый пакет управления таймингом сигнализирует время извлечения буфера декодера для блока 38 декодирования, пакеты 32 полезной нагрузки которого следуют за соответствующими пакетами управления таймингом в последовательности 34 пакетов. Другими словами, кодер 10 формирует префикс у подпоследовательностей последовательности пакетов 32 полезной нагрузки в одном блоке 30 доступа с соответствующим пакетом 36 управления таймингом, сигнализирующим для соответствующей подпоследовательности пакетов полезной нагрузки, снабженных префиксом в виде соответствующего пакета 36 управления таймингом и формирующим блок 38 декодирования, время извлечения буфера декодера. Фиг.12, например, иллюстрирует случай, где каждую секунду пакет 32 представляет первый пакет полезной нагрузки блока 38 декодирования блока 30 доступа. Как проиллюстрировано на Фиг.12, количество данных или скорость передачи данных, потраченная для каждого блока 38 декодирования, меняется, и времена извлечения буфера декодера могут коррелировать с этим изменением скорости передачи данных среди блоков 38 декодирования в том, что время извлечения буфера декодера блока 38 декодирования может следовать за временем извлечения буфера декодера, сигнализированным пакетом 36 управления таймингом непосредственно предшествующего блока 38 декодирования, сложенным с временным интервалом, соответствующим скорости передачи данных, потраченной для этого непосредственно предшествующего блока 38.The encoder performs encoding into payload packets in such a way that the sequence of packets is divided into a sequence of access units 30, and each access unit collects payload packets 32 related to one image 18 of video content 16. That is, the sequence 34 of packets forming a stream 22 of video data, divided into non-overlapping portions called access blocks 30, each associated with a respective one of the pictures 18. The sequence of access blocks 30 may follow the decoding order of the pictures 18 to which the access blocks 30 belong. 12 illustrates, for example, that an access unit 30 located in the middle of a portion of the illustrated data stream 22 contains one payload packet 32 per sub-part 24 into which the image 18 is subdivided. That is, each payload packet 32 carries a corresponding sub-part 24. Encoder 10 is configured to place timing control packets 36 in packet sequence 34 such that timing control packets subdivide access blocks 30 into decode blocks 38 such that at least some access units 30, such as the middle one shown in FIG. 12, are subdivided into two or more decode units 38, with each timing control packet signaling a decoder buffer extraction time to decode unit 38 whose payload packets 32 follow the corresponding timing control packets in sequence 34 packets. In other words, the encoder 10 prefixes subsequences of the sequence of payload packets 32 in one access block 30 with the corresponding timing control packet 36 signaling for the corresponding subsequence of payload packets prefixed with the corresponding timing control packet 36 and generating the decoding block 38, time decoder buffer extraction. Fig.12, for example, illustrates the case where every second the packet 32 represents the first packet of the payload block 38 of the decoding block 30 of the access. As illustrated in FIG. 12, the amount of data or data rate spent for each decoding block 38 varies, and decoder buffer extraction times can be correlated with this change in data rate among decoding blocks 38 in that the decoder buffer extraction time of block 38 decoding may follow the decoder buffer extraction time signaled by the timing control packet 36 of the immediately preceding decoding block 38, added to the time interval corresponding to the data rate spent for that immediately preceding block 38.

То есть, кодер 10 может работать, как показано на Фиг.13. В частности, как упомянуто выше, кодер 10 может, на шаге 40, подвергнуть текущую под-часть 24 текущего изображения 18 кодированию. Как уже было отмечено, кодер 10 может последовательно проходить через под-части 24 в вышеупомянутом порядке декодирования, как проиллюстрировано стрелкой 42, или кодер 10 может использовать некоторую параллельную обработку, такую как WPP и/или обработку фрагментов изображений, чтобы одновременно кодировать несколько «текущих под-частей» 24. Вне зависимости от того, используется параллельная обработка или нет, кодер 10 формирует блок декодирования из одной или нескольких под-частей, только что закодированных на шаге 40, и переходит на шаг 44, где кодер 10 устанавливает время извлечения буфера декодера для этого блока декодирования и передает этот блок декодирования, снабженный префиксом в виде пакета управления временем, сигнализирующим только что установленное время извлечения буфера декодера для этого блока декодирования. Например, кодер 10 может определить время извлечения буфера декодера на шаге 44 на основе скорости передачи данных, потраченной для кодирования под-частей, закодированных в пакеты полезной нагрузки, формирующие текущий блок декодирования, включающий в себя, например, все дополнительные промежуточные пакеты в этом блоке декодирования, если таковые есть, т.е. «снабженные префиксом пакеты». That is, encoder 10 may operate as shown in FIG. In particular, as mentioned above, the encoder 10 may, in step 40, subject the current sub-part 24 of the current picture 18 to encoding. As already noted, encoder 10 may sequentially pass through sub-parts 24 in the aforementioned decoding order, as illustrated by arrow 42, or encoder 10 may use some parallel processing, such as WPP and/or sub-picture processing, to simultaneously encode multiple "current sub-parts" 24. Regardless of whether parallel processing is used or not, the encoder 10 generates a decoding block from one or more sub-parts just encoded in step 40, and proceeds to step 44, where the encoder 10 sets the buffer extraction time decoder for that decoder and transmits that decoder prefixed with a timing packet signaling the decoder buffer extraction time just set for that decoder. For example, encoder 10 may determine the decoder buffer fetch time at step 44 based on the data rate spent to encode sub-parts encoded into payload packets forming the current decoding block, including, for example, all additional intermediate packets in that block. decoding, if any, i.e. "prefixed packets".

Затем на шаге 46 кодер 10 может адаптировать доступную скорость передачи данных на основе скорости передачи данных, потраченной для блока декодирования, только что переданного на шаге 44. Если, например, контент изображения в блоке декодирования, только что переданном на шаге 44, был достаточно сложным с точки зрения скорости сжатия, то кодер 10 может уменьшить доступную скорость передачи данных для следующего блока декодирования, с тем чтобы подчиниться некоторой внешне установленной скорости передачи данных, определенной, например, на основе текущей ситуации с пропускной способностью, с которой сталкиваются в связи с сетью, передающей поток 22 видеоданных. Затем шаги 40-46 повторяются. С помощью этой меры изображения 18 кодируются и передаются, т.е. отправляются, в единицах блоков декодирования, при этом каждый снабжается префиксом в виде соответствующего пакета управления временем.Then, at step 46, the encoder 10 may adapt the available bit rate based on the bit rate spent for the decoding block just transmitted in step 44. If, for example, the image content in the decoding block just transmitted in step 44 was sufficiently complex in terms of compression rate, encoder 10 may reduce the available data rate for the next decoding block in order to comply with some externally set data rate determined, for example, based on the current bandwidth situation encountered in connection with the network. , transmitting the stream 22 of video data. Then steps 40-46 are repeated. With this measure, the images 18 are encoded and transmitted, i. e. are sent, in units of decoding blocks, each prefixed with a corresponding time control packet.

Другими словами, кодер 10, во время кодирования текущего изображения 18 видеоконтента 16, кодирует 40 текущую под-часть 24 текущего изображения 18 в текущий пакет 32 полезной нагрузки текущего блока 38 декодирования, передает 44, в потоке данных, текущий блок 38 декодирования, снабженный префиксом в виде текущего пакета 36 управления таймингом, вместе с установкой времени извлечения буфера декодера, сигнализируемого текущим пакетом (36) управления таймингом, в первый момент времени, и кодирует 44, путем возврата к началу цикла с шага 46 на шаг 40, дополнительную под-часть 24 текущего изображения 18 во второй момент времени - второй раз посещая шаг 40 - позже, чем первый момент времени - первый раз посещая шаг 44.In other words, the encoder 10, while encoding the current image 18 of the video content 16, encodes 40 the current sub-part 24 of the current image 18 into the current payload packet 32 of the current decoding unit 38, transmits 44, in the data stream, the current decoding unit 38 provided with a prefix as the current timing control packet 36, along with setting the decoder buffer extraction time signaled by the current timing control packet (36) at the first time, and encodes 44, by returning to the beginning of the loop from step 46 to step 40, additional sub-part 24 of the current image 18 at the second time - the second time visiting step 40 - later than the first time - the first time visiting step 44.

Поскольку кодер имеет возможность отправлять блок декодирования до кодирования остатка текущего изображения, к которому этот блок декодирования принадлежит, кодер 10 имеет возможность снижать сквозную задержку. С другой стороны, кодеру 10 не нужно тратить впустую доступную скорость передачи данных, поскольку кодер 10 способен реагировать на определенную природу контента текущего изображения и его пространственное распределение сложности.Since the encoder is able to send a decoding block before encoding the remainder of the current picture to which this decoding block belongs, the encoder 10 is able to reduce the end-to-end delay. On the other hand, the encoder 10 does not need to waste the available data rate, since the encoder 10 is able to respond to the specific nature of the content of the current picture and its spatial distribution of complexity.

С другой стороны, промежуточные сетевые объекты, ответственные за передачу потока 22 видеоданных дополнительно из кодера в декодер, способны использовать пакеты 36 управления таймингом, с тем чтобы гарантировать, что любой декодер, принимающий поток 22 видеоданных, принимает блоки декодирования вовремя, с тем чтобы иметь возможность получить преимущество декодирования по-пакетного кодирования и передачи кодером 10. См., например, Фиг.14, показывающую пример для декодера для декодирования потока 22 видеоданных. Декодер 12 принимает поток 22 видеоданных в буфере 48 закодированного изображения CPB с помощью сети, через которую кодер 10 передал поток 22 видеоданных в декодер 12. В частности, поскольку предполагается, что сеть 14 способна поддерживать приложения с малой задержкой, сеть 10 проверяет времена извлечения буфера декодера, с тем чтобы переслать последовательность 34 пакетов потока 22 видеоданных в буфер 48 закодированного изображения декодера 12, так что каждый блок декодирования присутствует в буфере 48 закодированного изображения до времени извлечения буфера декодера, сигнализированного пакетом управления таймингом, являющимся префиксом соответствующего блока декодирования. С помощью этой меры декодер способен, без остановки, т.е. не исчерпывая доступные пакеты полезной нагрузки в буфере 48 закодированного изображения, использовать времена извлечения буфера декодера в пакетах управления таймингом, с тем чтобы опустошить буфер 48 закодированного изображения декодера в единицах блоков декодирования, вместо того чтобы заполнить блоки доступа. Фиг.14, например, показывает в иллюстративных целях блок 50 обработки соединенным с выходом буфера 48 закодированного изображения, вход которого принимает поток 22 видеоданных. Подобно кодеру 10, декодер 12 может быть способен выполнять параллельную обработку, такую как, например, c использованием параллельной обработки/декодирования фрагментов изображений и/или параллельной обработки/декодирования WPP.On the other hand, intermediate network entities responsible for transmitting the video stream 22 further from the encoder to the decoder are able to use timing control packets 36 to ensure that any decoder receiving the video stream 22 receives decoding blocks in time to have the ability to take advantage of the per-packet coding and transmission decoding by the encoder 10. See, for example, FIG. 14 showing an example for a decoder to decode a video stream 22. The decoder 12 receives the video stream 22 in the CPB encoded picture buffer 48 via the network through which the encoder 10 transmitted the video stream 22 to the decoder 12. In particular, since the network 14 is expected to be capable of supporting low latency applications, the network 10 checks the buffer extraction times decoder to forward the sequence 34 of video stream 22 packets to the encoded picture buffer 48 of the decoder 12 so that each decoding block is present in the encoded picture buffer 48 until the decoder buffer retrieval time, signaled by a timing control packet that is the prefix of the corresponding decoding block. With this measure, the decoder is able, without stopping, i.e. without exhausting the available payload packets in the encoded picture buffer 48, use the decoder buffer extraction times in the timing control packets to empty the decoder encoded picture buffer 48 in units of decoding blocks instead of filling access blocks. 14, for example, shows for illustrative purposes a processing unit 50 coupled to the output of an encoded picture buffer 48 whose input receives a video stream 22 . Like encoder 10, decoder 12 may be capable of performing parallel processing such as, for example, using sub-picture parallel processing/decoding and/or WPP parallel processing/decoding.

Как будет описано более подробно ниже, времена извлечения буфера декодера, упомянутые до сих пор, не обязательно относятся к временам извлечения, касающимся буфера 48 закодированного изображения декодера 12. Скорее, пакеты управления таймингом могут дополнительно, или альтернативно, управлять извлечением уже декодированных данных изображения соответствующего буфера декодированного изображения декодера 12. Фиг.14 показывает, например, декодер 12 содержащим буфер изображения декодера, в котором декодированная версия видеоконтента, полученного блоком 50 обработки путем декодирования потока 22 видеоданных, буферизуется, т.е. сохраняется и выводится, в единицах декодированных версий блоков декодирования. Буфер 22 декодированного изображения декодера, таким образом, может быть подключен между выходом декодера 12 и выходом блока 50 обработки. Путем обладания возможностью установить времена извлечения для выводимых декодированных версий блоков декодирования из буфера 52 декодированного изображения, кодеру 10 предоставлена возможность, на лету, т.е. во время кодирования текущего изображения, управлять воспроизведением, или сквозной задержкой воспроизведения видеоконтента на стороне декодирования даже при детализации меньшей, чем частота изображений или частота кадров. Очевидно, что чрезмерная сегментация каждого изображения 18 на огромное количество под-частей 24 на стороне кодирования негативно повлияла бы на скорость передачи данных для передачи потока 22 видеоданных, хотя, с другой стороны, сквозная задержка может быть минимизирована, поскольку время, необходимое для кодирования и передачи и декодирования и вывода такого блока декодирования было бы минимизировано. С другой стороны, увеличение под-частей 24 увеличивает сквозную задержку. Соответственно, должен быть найден компромисс. Использование только что упомянутых времен извлечения буфера декодера, с тем чтобы управлять выходным таймингом декодированных версий под-частей 24 в единицах блоков декодирования, дает возможность кодеру 10 или какому-либо другому блоку на стороне кодирования адаптировать этот компромисс пространственно по контенту текущего изображения. С помощью этой меры было бы возможно управлять сквозной задержкой таким образом, что она меняется пространственно в зависимости от контента текущих изображений.As will be described in more detail below, the decoder buffer extraction times mentioned so far do not necessarily refer to the extraction times relating to the encoded picture buffer 48 of the decoder 12. Rather, the timing control packets may additionally, or alternatively, control the extraction of the already decoded picture data of the corresponding decoded image buffer of the decoder 12. FIG. stored and output, in units of decoded versions of decoding blocks. The decoded image buffer 22 of the decoder can thus be connected between the output of the decoder 12 and the output of the processing unit 50 . By being able to set the extraction times for output decoded versions of the decoding blocks from the decoded picture buffer 52, the encoder 10 is given the ability, on the fly, i.e. during the encoding of the current image, to control the playback or end-to-end playback delay of the video content on the decoding side even at a detail lower than the image rate or frame rate. Obviously, excessive segmentation of each image 18 into a huge number of sub-parts 24 on the encoding side would have a negative effect on the data rate for transmitting the video stream 22, although, on the other hand, end-to-end delay can be minimized since the time required for encoding and transmission and decoding and output of such a decoding unit would be minimized. On the other hand, increasing the sub-parts 24 increases the end-to-end delay. Accordingly, a compromise must be found. Using the decoder buffer extraction times just mentioned to control the output timing of the decoded versions of the sub-parts 24 in units of decoding units allows the encoder 10 or some other unit on the encoding side to adapt this trade-off spatially across the content of the current picture. With this measure, it would be possible to control the end-to-end delay in such a way that it varies spatially depending on the content of the current images.

В реализации описанных выше вариантов осуществления возможно использовать в качестве пакетов управления таймингом пакеты удаляемого типа пакетов. Пакеты удаляемого типа пакетов не обязательны для того, чтобы восстановить видеоконтент на стороне декодирования. В дальнейшем такие пакеты называются пакетами SEI. Дополнительные пакеты удаляемого типа могут также существовать, то есть, удаляемые пакеты другого типа, такие как, при передаче в потоке, пакеты избыточности. В качестве другой альтернативы, пакеты управления таймингом могут быть пакетами определенного типа удаляемых пакетов, дополнительно переносящих, однако, определенное поле типа пакета SEI. Например, пакеты управления таймингом могут быть пакетами SEI, при этом каждый пакет SEI переносит одно или несколько сообщений SEI, и только те пакеты SEI, которые содержат сообщение SEI определенного типа, формируют вышеупомянутые пакеты управления таймингом.In the implementation of the embodiments described above, it is possible to use packets of the packet type to be removed as timing control packets. Packets of the packet type to be removed are not necessary in order to restore the video content on the decoding side. In the following, such packages are referred to as SEI packages. Additional drop type packets may also exist, ie, drop packets of a different type, such as, when streamed, redundancy packs. As another alternative, the timing control packets may be packets of a particular type of packets to be removed, additionally carrying, however, a particular SEI Packet Type field. For example, timing control packets may be SEI packets, where each SEI packet carries one or more SEI messages, and only those SEI packets that contain a certain type of SEI message form the aforementioned timing control packets.

Таким образом, вариант осуществления, описанный до сих пор со ссылкой на Фиг.12-14, в соответствии с дополнительным вариантом осуществления применен к стандарту HEVC, тем самым формируя возможную концепцию для формирования HEVC более эффективно в достижении более низкой сквозной задержки. При этом вышеупомянутые пакеты сформированы блоками NAL, и вышеупомянутые пакеты полезной нагрузки являются блоками VCL NAL потока блоков NAL с слайсами, формирующими вышеупомянутые под-части.Thus, the embodiment described so far with reference to FIGS. 12-14 according to a further embodiment is applied to the HEVC standard, thereby forming a possible concept for generating HEVC more efficiently in achieving lower end-to-end delay. Meanwhile, the aforementioned packets are formed by NAL units, and the aforementioned payload packets are VCL NAL units of a NAL unit flow with slices forming the aforementioned sub-parts.

Перед таким описанием более подробного варианта осуществления, однако, описаны дополнительные варианты осуществления, которые совпадают с приведенными выше вариантами осуществления в том, что помещенные пакеты используются, чтобы передать эффективным способом, информацию, описывающую поток видеоданных, но вид информации отличается от приведенных выше вариантов осуществления, где пакеты управления таймингом передавали информацию тайминга извлечения буфера декодера. В вариантах осуществления, описанных дополнительно ниже, вид информации, передаваемой через помещенные пакеты, помещенные в пакеты полезной нагрузки, принадлежащие блоку доступа, относится к информации области интереса (ROI) и/или информации идентификации фрагмента изображения. Варианты осуществления, описанные дополнительно ниже, могут быть, а могут и не быть объединены с вариантами осуществления, описанными по отношению к Фиг.12-14.Before such a description of a more detailed embodiment, however, additional embodiments are described that are the same as the above embodiments in that the placed packets are used to convey in an efficient manner information describing the video data stream, but the kind of information differs from the above embodiments. , where the timing control packets conveyed decoder buffer extraction timing information. In the embodiments described further below, the kind of information conveyed through placed packets placed in payload packets belonging to an access unit refers to region of interest (ROI) information and/or sub-picture identification information. The embodiments described further below may or may not be combined with the embodiments described with respect to FIGS. 12-14.

Фиг.15 показывает кодер 10, который работает подобно кодеру, объясненному выше по отношению к Фиг.12, за исключением помещения пакетов управления таймингом и функциональности, описанной выше по отношению к Фиг.13, которая является опциональной для кодера 10 на Фиг.15. Однако, кодер 10 на Фиг.15 выполнен с возможностью кодирования видеоконтента 16 в поток 22 видеоданных в единицах под-частей 24 изображений 18 видеоконтента 16 так же, как это было объяснено выше по отношению к Фиг.11. В кодировании видеоконтента 16 кодер 10 заинтересован в передаче, вместе с потоком 22 видеоданных, информации об области интереса ROI 60 на сторону декодирования. ROI 60 представляет собой пространственную под-область текущего изображения 18, которой декодер должен, например, уделить особое внимание. Пространственное положение ROI 60 может быть входными данными для кодера 10 снаружи, как проиллюстрировано пунктирной линией 62, например, посредством пользовательского ввода, или может быть определено автоматически кодером 10 или каким-либо другим объектом, на лету во время кодирования текущего изображения 18. В любом случае, кодер 10 сталкивается со следующей проблемой: указание местоположения ROI 60 в принципе не является проблемой для кодера 10. Чтобы сделать это, кодер 10 может легко указать местоположение ROI 60 в потоке 22 видеоданных. Однако, чтобы сделать эту информацию легко доступной, кодер 10 на Фиг.15 использует помещение пакетов ROI между пакетами полезной нагрузки блоков доступа, так что кодер 10 свободен, на онлайновой основе, выбрать сегментацию текущего изображения 18 на под-части 24 и/или количество пакетов полезной нагрузки, на которые под-части 24 пакетированы, пространственно снаружи и пространственно внутри ROI 60. Используя помещенные пакеты ROI, любой сетевой объект может легко идентифицировать пакеты полезной нагрузки, которые принадлежат ROI. С другой стороны, в случае использования пакетов удаляемого типа для этих пакетов ROI, то же самое может быть легко проигнорировано любым сетевым объектом.FIG. 15 shows an encoder 10 that operates similarly to the encoder explained above with respect to FIG. 12, except for the placement of timing control packets and the functionality described above with respect to FIG. 13, which is optional for encoder 10 in FIG. 15. However, encoder 10 in FIG. 15 is configured to encode video content 16 into video stream 22 in units of sub-parts 24 of images 18 of video content 16 in the same manner as explained above with respect to FIG. In encoding the video content 16, the encoder 10 is interested in transmitting, together with the video data stream 22, information about the region of interest ROI 60 to the decoding side. ROI 60 is a spatial sub-region of the current picture 18 to which the decoder must, for example, pay special attention. The spatial position of the ROI 60 may be an input to the encoder 10 from the outside, as illustrated by dashed line 62, for example, via user input, or may be determined automatically by the encoder 10 or some other entity, on the fly during encoding of the current picture 18. At any In this case, the encoder 10 faces the following problem: indicating the location of the ROI 60 is not in principle a problem for the encoder 10. To do this, the encoder 10 can easily indicate the location of the ROI 60 in the video stream 22. However, to make this information readily available, the encoder 10 of FIG. 15 uses the placement of ROI packets between access unit payload packets so that the encoder 10 is free, on-line, to select the segmentation of the current picture 18 into sub-parts 24 and/or the number payload packets into which sub-parts 24 are packetized, spatially outside and spatially within the ROI 60. Using the placed ROI packets, any network entity can easily identify the payload packets that belong to the ROI. On the other hand, in case of using drop type packets for these ROI packets, the same can be easily ignored by any network entity.

Фиг.15 показывает пример для помещения пактов 64 ROI между пакетами 32 полезной нагрузки блока 30 доступа. Пакет 64 ROI указывает, где в последовательности 34 пакетов потока 22 видеоданных содержатся закодированные данные, которые относятся, т.е. кодируют, ROI 60. Как пакет 64 ROI указывает местоположение ROI 60 может быть реализовано различными вариантами. Например, чистое существование/возникновение пакета 64 ROI может указывать на включение закодированных данных, относящихся к ROI 60, в один или более из следующих пакетов 32 полезной нагрузки, следующих в последовательном порядке последовательности 34, т.е. принадлежащих снабженным префиксом пакетам полезной нагрузки. Альтернативно, синтаксический элемент внутри пакета 64 ROI может указывать, относится ли один или более из следующих пакетов 32 полезной нагрузки, т.е., по меньшей мере частично кодирует, к ROI 60, или нет. Большое количество колебаний также исходит из возможных изменений, касающихся «области действия» соответствующего пакета 64 ROI, т.е. количества снабженных префиксом пакетов полезной нагрузки, снабженных префиксом в виде одного пакета 64 ROI. Например, указание включения или не-включения любых закодированных данных, относящихся к ROI 60, в один пакет ROI, может относиться ко всем пакетам 32 полезной нагрузки, следующим в последовательном порядке последовательности 34 до возникновения следующего пакета 64 ROI, или может только относиться к непосредственно следующему пакету 32 полезной нагрузки, т.е. пакету 32 полезной нагрузки, непосредственно следующему за соответствующим пакетом 64 ROI в последовательном порядке последовательности 34. На Фиг.15 график 66 примерно иллюстрирует случай, в котором пакеты 64 ROI указывают релевантность ROI, т.е. включение любых закодированных данных, относящихся к ROI 60, или не-релевантность-ROI, т.е. отсутствие любых закодированных данных, относящихся к ROI 60, в отношении всех пакетов 32 полезной нагрузки, возникающих ниже по потоку от соответствующего пакета 64 ROI до возникновения следующего пакета 64 ROI или окончания текущего блока 30 доступа, что произойдет ранее по последовательности 34 пакетов. В частности, Фиг.15 иллюстрирует случай, в котором пакет 64 ROI имеет синтаксический элемент внутри, который указывает, имеют или нет пакеты 32 полезной нагрузки, следующие в последовательном порядке последовательности 34 пакетов, какие-либо закодированные данные, относящиеся к ROI 60, внутри. Такой вариант осуществления также описан ниже. Однако, другая возможность, как только что было упомянуто, заключается в том, что каждый пакет 64 ROI указывает лишь своим присутствием в последовательности 34 пакетов, что пакет(ы) 34 полезной нагрузки, принадлежащие «области действия» соответствующего пакета 64 ROI, имеют относящиеся к ROI 60 данные внутри, т.е. данные, относящиеся к ROI 60. В соответствии с вариантом осуществления, описанным ниже более подробно, пакет 64 ROI даже указывает местоположение части ROI 60, закодированной в пакете(ах) 32 полезной нагрузки, принадлежащих его «области действия».15 shows an example for placing ROI packets 64 between payload packets 32 of access unit 30 . The ROI packet 64 indicates where in the packet sequence 34 of the video data stream 22 the encoded data is contained that relates, i.e. ROI 60 is encoded. How ROI packet 64 indicates the location of ROI 60 can be implemented in various ways. For example, the net existence/occurrence of ROI packet 64 may indicate the inclusion of encoded data related to ROI 60 in one or more of the following payload packets 32 in sequential order of sequence 34, i. belonging to prefixed payload packets. Alternatively, a syntax element within the ROI packet 64 may indicate whether one or more of the following payload packets 32, ie, at least partially encodes, belongs to the ROI 60 or not. A large amount of hesitation also comes from possible changes regarding the "scope" of the respective ROI package 64, ie. the number of prefixed payload packets prefixed as a single packet 64 ROI. For example, an indication of the inclusion or non-inclusion of any encoded data related to ROI 60 in one ROI packet may refer to all payload packets 32 following in sequential order of sequence 34 until the next ROI packet 64 occurs, or may only refer to directly the next payload packet 32, i. e. payload packet 32 immediately following the corresponding ROI packet 64 in sequential order of sequence 34. In FIG. inclusion of any encoded data related to ROI 60, or non-relevance-ROI, ie. the absence of any encoded data related to the ROI 60 for all payload packets 32 occurring downstream of the corresponding ROI packet 64 until the next ROI packet 64 occurs or the current access block 30 ends, whichever occurs earlier in the packet sequence 34. In particular, FIG. 15 illustrates the case in which the ROI packet 64 has a syntax element inside that indicates whether or not the payload packets 32 following in sequential order of the packet sequence 34 have any encoded data related to the ROI 60 inside. . Such an embodiment is also described below. However, another possibility, as just mentioned, is that each ROI packet 64 indicates merely by its presence in the packet sequence 34 that the payload packet(s) 34 belonging to the "scope" of the corresponding ROI packet 64 have related to ROI 60 data inside, i.e. data related to the ROI 60. According to an embodiment described in more detail below, the ROI packet 64 even indicates the location of the portion of the ROI 60 encoded in the payload packet(s) 32 belonging to its "scope".

Любой сетевой объект 68, принимающий поток 22 видеоданных, может использовать указание релевантности ROI, как реализовано путем использования пакетов 64 ROI, с тем чтобы обрабатывать, например, релевантные ROI части последовательности 34 пакетов с более высоким приоритетом, чем другие части последовательности 34 пакетов, например. Альтернативно, сетевой объект 68 мог бы использовать информацию релевантности ROI для того, чтобы выполнять другие задачи, относящиеся, например, к передаче потока 22 видеоданных. Сетевой объект 68 может представлять собой, например, MANE или декодер для декодирования и воспроизведения видеоконтента 60, по мере того как он передается через поток 22 видеоданных. 28. Другими словами, сетевой объект 68 может использовать результат идентификации пакетов ROI для того, чтобы выбрать задачи передачи, относящиеся к потоку видеоданных. Задачи передачи могут содержать запросы повторной передачи, касающиеся дефектных пакетов. Сетевой объект 68 может быть выполнен с возможностью обработки области интереса 70 с увеличенным приоритетом и назначения более высокого приоритета пакетам 72 ROI и их связанным пакетам полезной нагрузки, т.е. пакетам, для которых он является префиксом, которые сигнализируются как перекрывающие область интереса, по сравнению с пакетами ROI и их связанными пакетами полезной нагрузки, которые сигнализируются как не перекрывающие ROI. Сетевой объект 68 может сначала запросить повторную передачу пакетов полезной нагрузки, имеющих более высокий приоритет, назначенный им, до запрашивания какой-либо повторной передачи пакетов полезной нагрузки, имеющих более низкий приоритет, назначенный им.Any network entity 68 receiving video stream 22 may use an ROI relevance indication, as implemented by using ROI packets 64, in order to process, for example, ROI-relevant portions of packet sequence 34 with higher priority than other portions of packet sequence 34, such as . Alternatively, the network entity 68 could use the ROI relevance information to perform other tasks, such as transmitting the video stream 22, for example. The network entity 68 may be, for example, a MANE or a decoder for decoding and playing video content 60 as it is transmitted over the video stream 22. 28. In other words, the network entity 68 may use the result of the ROI packet identification to select transmission tasks related to the video data stream. Transfer tasks may contain retransmission requests regarding defective packets. The network entity 68 may be configured to process the region of interest 70 with increased priority and assign a higher priority to the ROI packets 72 and their associated payload packets, i. e. packets for which it is a prefix, which are signaled as overlapping the region of interest, as compared to ROI packets and their associated payload packets, which are signaled as non-overlapping ROIs. Network entity 68 may first request retransmission of payload packets having a higher priority assigned to them before requesting any retransmission of payload packets having a lower priority assigned to them.

Вариант осуществления на Фиг.15 может быть легко объединен с вариантом осуществления, описанным ранее по отношению к Фиг.12-14. Например, пакеты 64 ROI, упомянутые выше, также могут быть пакетами SEI, имеющими определенный тип сообщения SEI, содержащегося в нем, а именно, сообщение SEI ROI. То есть, пакет SEI может, например, быть пакетом управления таймингом и одновременно пакетом ROI, а именно, если соответствующий пакет SEI содержит как информацию управления таймингом, так и информацию указания ROI. Альтернативно, пакет SEI может быть одним из пакета управления таймингом и пакета ROI, а не другим, или может не быть ни пакетом ROI, ни пакетом управления таймингом.The embodiment in FIG. 15 can easily be combined with the embodiment described earlier with respect to FIGS. 12-14. For example, the ROI packets 64 mentioned above may also be SEI packets having a particular type of SEI message contained therein, namely a SEI ROI message. That is, the SEI packet may, for example, be a timing control packet and an ROI packet at the same time, that is, if the corresponding SEI packet contains both timing control information and ROI indication information. Alternatively, the SEI packet may be one of a timing control packet and an ROI packet and not the other, or may be neither an ROI packet nor a timing control packet.

В соответствии с вариантом осуществления, показанным на Фиг.16, помещение пакетов между пакетами полезной нагрузки блоков доступа используется для указания, способом, легко доступным для сетевых объектов 68, обрабатывающих поток 22 видеоданных, какой фрагмент изображения или фрагменты изображения текущего изображения 18, к которому относится текущий блок 30 доступа, перекрыт какой-либо под-частью, закодированной в любой из пакетов 32 полезной нагрузки, для которых соответствующие пакеты служат в качестве префикса. На Фиг.16, например, текущее изображение 18, как показано, подразделено на четыре фрагмента 70 изображения, здесь примерно сформированное четырьмя квадрантами текущего изображения 18. Подразделение текущего изображения 18 на фрагменты 70 изображения может, например, быть сигнализировано в потоке видеоданных в блоках, содержащих последовательности изображений, как, например, в пакетах VPS или SPS, также помещенных в последовательность 34 пакетов. Как будет описано более подробно ниже, подразделение на фрагменты изображения текущего изображения 18 может быть стандартным подразделением изображения 18 в столбцы и строки фрагментов изображения. Количество столбцов и количество строк, а также ширина столбцов и высота строк фрагментов изображения могут варьироваться. В частности, ширина и высота столбцов/строк фрагментов изображения могут быть различными для различных строк и различных столбцов, соответственно. Фиг.16 дополнительно показывает пример, где под-части 24 являются слайсами изображения 18. Слайсы 24 подразделяют изображение 18. Как будет описано более подробно ниже, подразделение изображения 18 на слайсы 24 может быть предметом ограничений, в соответствии с которыми каждый слайс 24 может либо полностью содержаться к одном единственном фрагменте 70 изображения, либо полностью покрывать два или более фрагментов 70 изображения. Фиг.16 иллюстрирует случай, в котором изображение 18 подразделено на пять слайсов 24. Первые четыре из этих слайсов 24 в вышеупомянутом порядке декодирования покрывают первые два фрагмента 70 изображения, тогда как пятый слайс полностью покрывает третий и четвертый фрагменты 70 изображения. Кроме того, Фиг.16 иллюстрирует случай, когда каждый слайс 24 отдельно закодирован в соответствующий пакет 32 полезной нагрузки. Кроме того, Фиг.16 в качестве примера иллюстрирует случай, когда каждый пакет 32 полезной нагрузки снабжен префиксом в виде предшествующего пакета 72 идентификации фрагмента изображения. Каждый пакет 72 идентификации фрагмента изображения, в свою очередь, указывает на следующий непосредственно за ним пакет 32 полезной нагрузки, как на какой из фрагментов 70 изображения под-часть 24, закодированная в этот пакет 32 полезной нагрузки, перекрывает. Соответственно, тогда как первые два пакета 72 идентификации фрагмента изображения в блоке 30 доступа, относящемся к текущему изображению 18, указывают первый фрагмент изображения, третий и четвертый пакеты 72 идентификации фрагмента изображения указывают второй фрагмент 70 изображения 18, а пятый пакет 72 идентификации фрагмента изображения указывает третий и четвертый фрагменты 70 изображения. Что касается варианта осуществления на Фиг.16, возможны те же самые варианты, как описаны выше по отношению к Фиг.15, например. То есть, «область действия» пакетов 72 идентификации фрагмента изображения может, например, лишь включать первый непосредственно следующий пакет 32 полезной нагрузки или непосредственно следующие пакеты 32 полезной нагрузки до появления следующего пакета идентификации фрагмента изображения.In accordance with the embodiment shown in FIG. 16, placing packets between access block payload packets is used to indicate, in a manner readily available to network entities 68 processing video stream 22, which picture or pictures of the current picture 18 to which the current access block 30 is overridden by any sub-part encoded in any of the payload packets 32 for which the respective packets serve as a prefix. In FIG. 16, for example, the current image 18 is, as shown, subdivided into four sub-images 70, here roughly formed by four quadrants of the current image 18. The subdivision of the current image 18 into sub-images 70 may, for example, be signaled in the video data stream in blocks, containing sequences of images, such as in VPS or SPS packages, also placed in a sequence of 34 packages. As will be described in more detail below, the subdivision into sub-images of the current image 18 may be a standard subdivision of the image 18 into columns and rows of sub-images. The number of columns and the number of rows, as well as the column width and row height of sub-images can vary. In particular, the width and height of the columns/rows of sub-images may be different for different rows and different columns, respectively. 16 further shows an example where sub-parts 24 are slices of image 18. Slices 24 subdivide image 18. As will be described in more detail below, subdivision of image 18 into slices 24 may be subject to restrictions whereby each slice 24 can either completely contained to one single fragment 70 of the image, or completely cover two or more fragments 70 of the image. 16 illustrates a case in which the image 18 is subdivided into five slices 24. The first four of these slices 24 in the above decoding order cover the first two sub-pictures 70, while the fifth slice completely covers the third and fourth sub-pictures 70. In addition, FIG. 16 illustrates the case where each slice 24 is separately encoded into a corresponding payload packet 32. In addition, FIG. 16 illustrates the case where each payload packet 32 is prefixed with the previous sub-picture identification packet 72 as an example. Each tile identification packet 72 in turn indicates the immediately following payload packet 32 as to which of the tile 70 the sub-part 24 encoded in that payload packet 32 overlaps. Accordingly, while the first two sub-picture identification packets 72 in the access block 30 related to the current image 18 indicate the first sub-picture, the third and fourth sub-picture identification packets 72 indicate the second sub-picture 70 of the image 18, and the fifth sub-picture identification packet 72 indicate the third and fourth fragments 70 of the image. With regard to the embodiment in FIG. 16, the same variations are possible as described above with respect to FIG. 15, for example. That is, the "scope" of the sub-picture identification packets 72 may, for example, only include the first immediately following payload packet 32 or the immediately following payload packets 32 until the next sub-picture identification packet occurs.

Что касается фрагментов изображения, кодер 10 может быть выполнен с возможностью кодирования каждого фрагмента изображения 70 так, что через границы никакого пространственного предсказания или никакого контекстного выбора не имеет места. Кодер 10 может, например, кодировать фрагмент 70 изображения параллельно. Подобным образом, любой декодер, такой как сетевой объект 68, может декодировать фрагменты 70 изображения параллельно.With respect to sub-images, encoder 10 may be configured to encode each sub-image 70 such that no spatial prediction or no context selection occurs across boundaries. Encoder 10 may, for example, encode sub-picture 70 in parallel. Similarly, any decoder, such as network entity 68, may decode sub-pictures 70 in parallel.

Сетевой объект 68 может представлять собой MANE или декодер или какое-либо другое устройство между кодером 10 и декодером, и может быть выполнен с возможностью использования информации, переданной пакетами 72 идентификации фрагмента изображения, чтобы выбрать определенные задачи передачи. Например, сетевой объект 68 может обрабатывать определенный фрагмент изображения текущего изображения 18 видео 16 с более высоким приоритетом, т.е. может переслать соответствующие пакеты полезной нагрузки, указанные как относящиеся к такому фрагменту изображения ранее или с использованием более безопасной защиты FEC или подобной. Другими словами, сетевой объект 68 может использовать результат идентификации для того, чтобы выбрать задачи передачи, относящиеся к потоку видеоданных. Задачи передачи могут содержать запросы повторной передачи, касающиеся пакетов, принятых в дефектном состоянии - т.е. с превышением любой защиты FEC потока видеоданных, если таковая имеется. Сетевой объект может обрабатывать, например, различные фрагменты изображения 70 с различным приоритетом. С этой целью сетевой объект может назначить более высокий приоритет пакетам 72 идентификации фрагмента изображения и их пакетам полезной нагрузки, т.е. пакетам, имеющим префикс в виде них, относящимся к фрагментам изображения более высокого приоритета по сравнению с пакетами 72 идентификации фрагмента изображения и их пакетами полезной нагрузки, относящимся к фрагментам изображения более низкого приоритета. Сетевой объект 68 может, например, сначала запросить повторную передачу пакетов полезной нагрузки, имеющих более высокий приоритет, назначенный им, до запрашивания какой-либо повторной передачи пакетов полезной нагрузки, имеющих более низкий приоритет, назначенный им.The network entity 68 may be a MANE or a decoder, or some other device between the encoder 10 and the decoder, and may be configured to use the information transmitted by subpicture identification packets 72 to select specific transmission tasks. For example, the network entity 68 may process a particular sub-image of the current image 18 of the video 16 with a higher priority, i. e. may forward corresponding payload packets indicated as related to such sub-picture previously or using more secure FEC protection or the like. In other words, the network entity 68 may use the identification result to select transmission tasks related to the video stream. Transmission tasks may contain retransmission requests regarding packets received in a defective state - i.e. exceeding any FEC protection of the video stream, if any. The network entity may process, for example, different sub-images 70 with different priorities. To this end, the network entity may assign a higher priority to the sub-picture identification packets 72 and their payload packets, ie. packets prefixed with them relating to higher priority tile than the tile identification packets 72 and their lower priority tile payload packets. The network entity 68 may, for example, first request retransmission of payload packets having a higher priority assigned to them before requesting any retransmission of payload packets having a lower priority assigned to them.

Варианты осуществления, описанные до сих пор, могут быть встроены в инфраструктуру HEVC, как описано во вводной части описания настоящей заявки, как описано в следующем.The embodiments described so far may be embedded in the HEVC infrastructure as described in the introductory part of the description of the present application, as described in the following.

В частности, сообщения SEI могут быть назначены слайсам блоков декодирования в случае под-изображения CPB/HRD. То есть, период буферизации и сообщения SEI тайминга могут быть назначены блокам NAL, содержащим слайсы блока декодирования. Это может быть достигнуто за счет нового типа блока NAL, который представляет собой не-VCL NAL блок, которому разрешено непосредственно предшествовать одному или более блокам слайса/VCL NAL блока декодирования. Этот новый блок NAL может быть назван блоком NAL префикса слайса. Фиг.17 иллюстрирует структуру блока доступа, опуская любые предварительные блоки NAL для окончания последовательности и потока.In particular, SEI messages may be assigned to decoding block slices in the case of a CPB/HRD sub-picture. That is, a buffering period and timing SEI messages may be assigned to NAL units containing decoding unit slices. This can be achieved by a new type of NAL unit, which is a non-VCL NAL unit that is allowed to immediately precede one or more slice/VCL NAL units of a decoding unit. This new NAL unit may be called a slice prefix NAL unit. 17 illustrates the structure of an access unit, omitting any pre-NAL units for terminating a sequence and a stream.

В соответствии с Фиг.17, блок 30 доступа объясняется следующим образом: в последовательном порядке пакетов последовательности 34 пакетов блок 30 доступа может начинаться с возникновения специального типа пакета, а именно, разделителя 80 блока доступа. Затем один или более пакетов 82 SEI типа пакета SEI, относящиеся ко всему блоку доступа, могут следовать в блоке 30 доступа. Оба типа 80 и 82 пакетов являются опциональными. То есть, пакетов этого типа может не возникнуть в блоке 30 доступа. Затем следует последовательность блоков 38 декодирования. Каждый блок 38 декодирования опционально начинается с блока 84 NAL префикса слайса, включающего в себя, например, информацию управления таймингом или, в соответствии с вариантом осуществления на Фиг.15 или 16, информацию ROI или информацию фрагмента изображения или, даже в более широком смысле, соответствующее сообщение 86 SEI под-изображения. Затем следуют фактические данные 88 слайса в соответствующих пакетах полезной нагрузки или блоках VCL NAL, как показано в 88. Таким образом, каждый блок 38 декодирования содержит последовательность блока 84 NAL префикса слайса, за которым следует соответствующий блок(и) 88 NAL данных слайса. Обходная стрелка 90 на Фиг.17, обходящая блок NAL префикса слайса, указывает, что в случае отсутствия подразделения на блоки декодирования текущего блока 30 доступа может не быть блока 84 NAL префикса слайса.17, the access block 30 is explained as follows: in the sequential order of the packets of the packet sequence 34, the access block 30 may start with the occurrence of a special type of packet, namely the access block delimiter 80. Then, one or more SEI packets 82 of the SEI packet type related to the entire access block may follow in the access block 30 . Both types 80 and 82 packages are optional. That is, packets of this type may not occur at access block 30 . This is followed by a sequence of decoding blocks 38 . Each decoding block 38 optionally begins with a slice prefix NAL block 84 including, for example, timing control information or, according to the embodiment of FIG. 15 or 16, ROI information or sub-picture information, or even more broadly corresponding sub-image SEI message 86. The actual slice data 88 then follows in the respective payload packets or VCL NAL units, as shown at 88. Thus, each decode unit 38 contains a sequence of slice prefix NAL unit 84 followed by the corresponding slice data NAL unit(s) 88 . The bypass arrow 90 in FIG. 17 bypassing the slice prefix NAL unit indicates that if there is no division into decoding units of the current access unit 30, there may not be a slice prefix NAL unit 84 .

Как уже было отмечено выше, вся информация, просигнализированная в префиксе слайса, и связанные сообщения SEI под-изображения могут быть либо действительными для всех блоков VCL NAL в блоке доступа, либо до возникновения второго блока NAL префикса или для следующего блока VCL-NAL в порядке декодирования, в зависимости от флага, заданного в блоке NAL префикса слайса.As noted above, all information signaled in the slice prefix and the associated sub-picture SEI messages may either be valid for all VCL NAL units in the access unit, or until the second NAL of the prefix occurs, or for the next VCL-NAL unit in order. decoding, depending on the flag specified in the slice prefix NAL unit.

Блок VCL NAL слайса, для которого информация, просигнализированная в префиксе слайса, является действительной, в дальнейшем называются снабженными префиксом слайсами. Снабженные префиксом слайсы, связанные с одним слайсом, имеющим префикс, не обязательно образуют полный блок декодирования, но могут быть его частью. Однако, префикс одного слайса не может быть действительным для нескольких блоков декодирования (под-изображений), и начало блока декодирования сигнализируется в префиксе слайса. Если средства для сигнализирования не заданы через синтаксис префикса слайса (как в «простом синтаксисе»/версия 1, указанном ниже), появление блока NAL префикса слайса сигнализирует начало блока декодирования. Только определенные сообщения SEI (идентифицируемые через payloadType в описании синтаксиса ниже) могут быть отправлены исключительно на уровне под-изображения в блоке NAL префикса слайса, тогда как некоторые сообщения SEI могут быть отправлены либо в блоке NAL префикса слайса на уровне под-изображения, либо как стандартное сообщение SEI на уровне блока доступа.The slice VCL NAL unit for which the information signaled in the slice prefix is valid are hereinafter referred to as prefixed slices. Prefixed slices associated with a single prefixed slice do not necessarily form a complete decoding block, but may be part of it. However, a single slice prefix cannot be valid for multiple decoding blocks (sub-pictures), and the start of a decoding block is signaled in the slice prefix. If the means for signaling is not specified via the slice prefix syntax (as in the "simple syntax"/version 1 below), the occurrence of the slice prefix NAL unit signals the start of a decoding unit. Only certain SEI messages (identified by payloadType in the syntax description below) can be sent exclusively at the sub-picture level in the slice prefix NAL unit, while some SEI messages can be sent either in the slice prefix NAL unit at the sub-picture level, or as standard SEI message at the access block level.

Как обсуждено выше по отношению к Фиг.16, дополнительно или альтернативно, сообщение SEI ID фрагмента изображения/сигнализация ID фрагмента изображения могут быть реализованы в синтаксисе высокого уровня. В более ранних проектах HEVC заголовок слайса/данные слайса содержали идентификатор для фрагмента изображения, содержащегося в соответствующем слайсе. Например, семантика данных слайса считывала:As discussed above with respect to FIG. 16, additionally or alternatively, the sub-picture ID SEI message/sub-picture ID signaling may be implemented in high-level syntax. In earlier HEVC designs, the slice header/slice data contained an identifier for the sub-image contained in the corresponding slice. For example, the slice data semantics read:

tile_idx_minus_l определяет TileID в растровом порядке сканирования. Первый фрагмент изображения в изображении должен иметь TileID, равный 0. Значение tile_idx_minus_1 должно быть в диапазоне от 0 до ( num_tile_columns_minus1 + 1 ) * ( num_tile_rows_minus1 + 1) - 1.tile_idx_minus_l defines the TileID in raster scan order. The first tile in the image must have a TileID of 0. The value of tile_idx_minus_1 must be between 0 and ( num_tile_columns_minus1 + 1 ) * ( num_tile_rows_minus1 + 1) - 1.

Этот параметр, однако, не считается полезным, поскольку этот ID может быть легко получен из адреса слайса и размеров слайса, как просигнализировано в наборе параметров изображения, если tiles_or_entropy_coding_sync_idc равно 1.This parameter, however, is not considered useful because this ID can be easily derived from the slice address and slice dimensions, as signaled in the picture parameter set, if tiles_or_entropy_coding_sync_idc is equal to 1.

Хотя ID фрагмента изображения может быть получено неявно в процессе декодирования, знание этого параметра на прикладном уровне также важно для различных вариантов использования, таких как, например, в сценарии видеоконференции, где различные фрагменты изображения имеют различный приоритет для воспроизведения (эти фрагменты изображения, как правило, формируют область интереса, которая содержит говорящего в разговорном варианте использования) могут иметь более высокий приоритет, чем другие фрагменты изображения. В случае потери сетевых пакетов при передаче нескольких фрагментов изображения, эти сетевые пакеты, содержащие фрагменты изображения, представляющие область интереса, могут быть переданы повторно с более высоким приоритетом, чтобы сохранить качество впечатления в терминале приемника выше, чем в случае повторной передачи фрагментов изображения без какого-либо порядка приоритета. Другой вариант использования может заключаться в том, что назначают фрагменты изображения, если размеры и их положения известны, различным экранам, например, в сценарии видеоконференции.Although the sub-picture ID can be obtained implicitly during the decoding process, knowing this parameter at the application level is also important for various use cases, such as, for example, in a video conference scenario, where different sub-pictures have a different priority for playback (these sub-pictures are usually , form a region of interest that contains the speaker in a conversational use case) may take precedence over other sub-pictures. In case of loss of network packets when transmitting multiple sub-pictures, these network packets containing the sub-pictures representing the area of interest can be retransmitted with a higher priority in order to keep the quality of the experience at the receiver terminal higher than in the case of retransmission of sub-pictures without any or order of precedence. Another use case could be to assign image tiles, if the sizes and their positions are known, to different screens, for example in a videoconference scenario.

Чтобы разрешить такому прикладному уровню обрабатывать фрагменты изображения с определенным приоритетом в сценариях передачи, tile_id может быть предоставлено как под-изображение или характерное для слайса сообщение SEI или в специальном блоке NAL перед одним или более блоками NAL фрагмента изображения или в специальной секции заголовка блока NAL, принадлежащего фрагменту изображения.To allow such an application layer to process tiles with a certain priority in transfer scenarios, the tile_id may be provided as a sub-picture or slice-specific SEI message either in a special NAL unit before one or more tile NAL units or in a special NAL unit header section, belonging to the image fragment.

Как описано выше по отношению к Фиг.15, сообщения SEI области интереса могут также быть дополнительно или альтернативно предоставлены. Такое сообщение SEI могло бы разрешить сигнализацию области интереса (ROI), в частности, сигнализацию ROI, к которой принадлежит определенный tile_id/фрагмент изображения. Сообщение могло бы разрешить задавать ID области интереса плюс приоритет области интереса.As described above with respect to FIG. 15, region-of-interest SEI messages may also additionally or alternatively be provided. Such an SEI message could enable region of interest (ROI) signaling, in particular signaling the ROI to which a particular tile_id/tile belongs. The message might allow the ROI ID plus ROI priority to be specified.

Фиг.18 иллюстрирует использование фрагментов изображения в сигнализации области интереса;18 illustrates the use of sub-pictures in region-of-interest signaling;

В дополнение к тому, что было описано выше, может быть реализована сигнализация заголовка слайса. Блок NAL префикса слайса также может содержать заголовок слайса для последующих зависимых слайсов, т.е. слайсов, снабженных префиксом в виде соответствующих префиксов слайсов. Если заголовок слайса предусмотрен только в блоке NAL префикса слайса, фактический тип слайса должен быть получен посредством типа блока NAL, содержащего соответствующий зависимый слайс, или посредством флага в префиксе слайса, сигнализирующего, принадлежат ли последующие данные слайса типу слайса, который служит как произвольная точка доступа.In addition to what has been described above, slice header signaling can be implemented. The slice prefix NAL unit may also contain a slice header for subsequent dependent slices, i. e. slices prefixed with the corresponding slice prefixes. If a slice header is only provided in the slice prefix NAL unit, the actual slice type must be obtained by the type of the NAL unit containing the corresponding dependent slice, or by a flag in the slice prefix signaling whether subsequent slice data belongs to the slice type that serves as a random access point. .

Кроме того, блок NAL префикса слайса может переносить слайс или характерные для под-изображения сообщения SEI, чтобы передать необязательную информацию, такую как тайминг под-изображения или идентификатор фрагмента изображения. Передача необязательных сообщений под-изображения не поддерживается в спецификации HEVC, описанной в вводной части описания настоящей заявки, но крайне важна для определенных применений.In addition, the slice prefix NAL unit may carry slice or sub-picture specific SEI messages to convey optional information such as sub-picture timing or sub-picture identifier. The transmission of optional sub-image messages is not supported in the HEVC specification described in the introductory part of the description of this application, but is essential for certain applications.

Далее описан возможный синтаксис для реализации описанной выше концепции префиксов слайса. В частности, описано, каких изменений может быть достаточно на уровне слайса при использовании статуса HEVC, как описано в вводной части описания настоящей заявки в качестве основы.The following describes a possible syntax for implementing the concept of slice prefixes described above. In particular, it is described what changes may be sufficient at the slice level when using the HEVC status, as described in the introductory part of the description of the present application as a basis.

В частности, ниже представлены две версии возможного синтаксиса префикса слайса, одна только с функциональностью передачи сообщений SEI, и одна с расширенной функциональностью сигнализации части заголовка слайса для последующих слайсов. Первый простой синтаксис/версия 1 показан на Фиг.19.In particular, two versions of a possible slice prefix syntax are presented below, one with SEI messaging functionality only, and one with extended slice header part signaling functionality for subsequent slices. The first simple syntax/version 1 is shown in FIG.

В качестве предварительного примечания, Фиг.19 показывает возможную реализацию для реализации любых из вариантов осуществления, описанных выше по отношению к Фиг.11-16. помещенные пакеты, показанные там, могут быть истолкованы, как показано на Фиг.19, и в дальнейшем это описано более подробно с конкретными примерами реализации.As a preliminary note, FIG. 19 shows a possible implementation for implementing any of the embodiments described above with respect to FIGS. 11-16. the placed packets shown there can be interpreted as shown in FIG. 19, and this is described in more detail with specific implementation examples below.

Расширенный синтаксис/версия 2, включающий в себя сигнализацию tile_id, идентификатор начала блока декодирования, ID префикса слайса и данные заголовка слайса, за исключением концепции передачи сообщений SEI, приведен в таблице на Фиг.20.The extended syntax/version 2 including tile_id signaling, decoding block start identifier, slice prefix ID, and slice header data, excluding the SEI messaging concept, is shown in the table in FIG.

Семантика могла бы быть определена следующим образом:The semantics could be defined as follows:

rap_flag со значением 1 указывает, что блок доступа, содержащий префикс слайса, представляет собой изображение RAP. rap_flag со значением 0 указывает, что блок доступа, содержащий префикс слайса, не является изображением RAP.rap_flag with a value of 1 indicates that the access unit containing the slice prefix is a RAP image. rap_flag with a value of 0 indicates that the access unit containing the slice prefix is not a RAP picture.

decoding_unit_start_flag указывает на начало блока декодирования в блоке доступа, таким образом, что последующие слайсы вплоть до окончания блока доступа или начала другого блока декодирования, принадлежат одному и тому же блоку декодирования.decoding_unit_start_flag points to the start of a decoding unit in an access unit, such that subsequent slices up to the end of an access unit or the start of another decoding unit belong to the same decoding unit.

single_slice_flag со значением 0 указывает, что информация, предоставленная в блоке NAL заголовка слайса, и связанные сообщения SEI под-изображения действительны для всех последующих блоков VCL-NAL до начала следующего блока доступа, появления префикса другого слайса или другого полного заголовка слайса. single_slice_flag со значением 1 указывает, что вся информация, предоставленная в блоке NAL префикса слайса и связанных сообщениях SEI под-изображения, действительна только для следующего блока VCL-NAL в порядке декодирования.single_slice_flag with a value of 0 indicates that the information provided in the slice header NAL unit and the associated sub-picture SEI messages are valid for all subsequent VCL-NAL units until the start of the next access unit, another slice prefix, or another full slice header. single_slice_flag with a value of 1 indicates that all information provided in the slice prefix NAL unit and associated sub-picture SEI messages is only valid for the next VCL-NAL unit in decoding order.

tile_idc указывает количество фрагментов изображения, которые должны присутствовать в последующем слайсе. tile_idc, равный 0, указывает, что в последующем слайсе не используются фрагменты изображения. tile_idc, равный 1, указывает, что единственный фрагмент изображения используется в последующем слайсе, и его идентификатор фрагмента изображения сигнализируется соответственно. tile_idc со значением 2 указывает, что несколько фрагментов изображения используются в последующем слайсе, и количество фрагментов изображения и идентификатор первого фрагмента изображения сигнализируются соответственно.tile_idc specifies the number of tiles to be present in the next slice. tile_idc equal to 0 indicates that no tiles are used in the subsequent slice. tile_idc equal to 1 indicates that a single tile is used in the subsequent slice, and its tile ID is signaled accordingly. tile_idc with a value of 2 indicates that multiple tiles are used in the next slice, and the number of tiles and the ID of the first tiles are signaled accordingly.

prefix_slice_header_data_present_flag указывает, что данные заголовка слайса, соответствующего слайсам, следующим в порядке декодирования, сигнализируются в заданном префиксе слайса.prefix_slice_header_data_present_flag indicates that slice header data corresponding to slices next in decoding order is signaled at the given slice prefix.

slice_header_data() определено далее в тексте. Он содержит релевантную информацию заголовка слайса, которая не покрыта заголовком слайса, если dependent_slice_flag установлен равным 1.slice_header_data() is defined later in the text. It contains relevant slice header information that is not covered by the slice header if dependent_slice_flag is set to 1.

Следует отметить, что разъединение заголовка слайса и фактических данных слайса допускает более гибкие схемы передачи заголовка и данных слайса.It should be noted that the decoupling of the slice header and the actual slice data allows for more flexible schemes for transmitting the slice header and data.

num_tiles_in_prefixed_slices_minus1 указывает количество фрагментов изображения, используемых в следующем блоке декодирования минус 1.num_tiles_in_prefixed_slices_minus1 indicates the number of tiles used in the next decoding block minus 1.

first_tile_id_in_prefixed_slices указывает идентификатор фрагмента изображения первого фрагмента изображения в следующем блоке декодирования.first_tile_id_in_prefixed_slices indicates the tile ID of the first tile in the next decoding block.

Для простого синтаксиса/версии 1 префикса слайса следующие синтаксические элементы могут быть установлены в значения по умолчанию следующим образом, если они не присутствуют:For the simple syntax/version 1 slice prefix, the following syntax elements can be set to their default values as follows if they are not present:

- decoding_unit_start равен 1, т.е. префикс слайса всегда указывает начало блока декодирования.- decoding_unit_start is equal to 1, i.e. the slice prefix always indicates the start of a decoding block.

- single_slice_flag равен 0, т.е. префикс слайса действителен для всех слайсов в блоке декодирования.- single_slice_flag is 0, i.e. the slice prefix is valid for all slices in the decode block.

Предложено, чтобы блок NAL префикса слайса имел тип 24 блока NAL, и таблица обзора типа блока NAL была расширена в соответствии с Фиг.21.It is proposed that the slice prefix NAL unit has NAL unit type 24, and the NAL unit type lookup table has been extended according to FIG.

То есть, кратко подводя итог по Фиг.19-21, подробности синтаксиса, показанные там, показывают, что определенный тип пакета может быть приписан к идентифицированным выше помещенным пакетам, здесь в качестве примера тип 24 блока NAL. Кроме того, особенно пример синтаксиса на Фиг.20 делает понятным, что описанные выше альтернативы, касающиеся «области действия» помещенных пакетов, механизма переключения, управляемого соответствующим синтаксическим элементом в самих этих помещенных пакетах, здесь в качестве примера single_slice_flag, могут быть использованы, чтобы управлять этой областью действия, т.е. переключать между различными альтернативами для определения этой области действия, соответственно. Кроме того, было сделано понятным, что описанные выше варианты осуществления на Фиг.1-16 могут быть расширены в том, что помещенные пакеты также содержат общие данные заголовка слайса для слайсов 24, содержащихся в пакетах, принадлежащих «области действия» соответствующих помещенных пакетов. То есть, может быть механизм, управляемый соответствующим флагом внутри этих помещенных пакетов, который указывает, содержатся ли общие данные заголовка слайса в соответствующем помещенном пакете, или нет.That is, briefly summing up Figs. 19-21, the syntax details shown therein show that a particular packet type can be assigned to the above-identified placed packets, here NAL unit type 24 as an example. In addition, especially the syntax example in FIG. 20 makes it clear that the alternatives described above regarding the "scope" of placed packets, the switching mechanism controlled by the corresponding syntax element in these placed packets themselves, here by way of example single_slice_flag, can be used to manage this scope, i.e. switch between different alternatives to define this scope, respectively. Furthermore, it has been made clear that the embodiments of FIGS. 1-16 described above can be extended in that the placed packets also contain common slice header data for the slices 24 contained in the packets belonging to the "scope" of the respective placed packets. That is, there may be a mechanism controlled by a corresponding flag within these placed packets that indicates whether common slice header data is contained in the corresponding placed packet or not.

Конечно, концепция, которая только что представила, в соответствии с какой частью заголовка слайса данные сдвигаются в префикс заголовка слайса, требует изменений в заголовках слайса, как определено в текущей версии HEVC. Таблица на Фиг.22 показывает возможный синтаксис для такого заголовка слайса, где определенные синтаксические элементы, присутствующие в заголовке слайса в соответствии с текущей версией, сдвинуты к синтаксическому элементу более низкой иерархии, называемому slice_header_data(). Синтаксис заголовка слайса и данные заголовка слайса применяются только к опции, в соответствии с которой используется расширенный блок NAL префикса заголовка слайса.Of course, the concept that just introduced which portion of the slice header data shifts into the slice header prefix requires changes to the slice headers as defined in the current version of HEVC. The table in FIG. 22 shows a possible syntax for such a slice header where certain syntax elements present in the slice header according to the current version are shifted to a lower hierarchy syntax element called slice_header_data(). The slice header syntax and slice header data only apply to the option that uses the slice header prefix extended NAL unit.

На Фиг.22 slice_header_data_present_flag указывает, что данные заголовка слайса для присутствующего слайса должны быть предсказаны из значений, просигнализированных в последнем блоке NAL префикса слайса в блоке доступа, т.е. наиболее недавно появившемся блоке NAL префикса слайса.In FIG. 22, slice_header_data_present_flag indicates that the slice header data for the present slice is to be predicted from the values signaled in the last slice prefix NAL unit in the access unit, i. e. the most recent slice prefix NAL block.

Все синтаксические элементы, удаленные из заголовка слайса, сигнализируются через данные заголовка слайса синтаксического элемента, как задано в таблице на Фиг.23.All syntax elements removed from the slice header are signaled via the syntax element slice header data as given in the table in FIG.

То есть, перенося концепцию на Фиг.22 и Фиг.23 на варианты осуществления на Фиг.12-16, помещенные пакеты, описанные в материалах настоящей заявки, могут быть расширены посредством концепции включения в эти помещенные пакеты части синтаксиса заголовка слайса слайсов (под-частей) 24, закодированных в пакеты полезной нагрузки, т.е. блоки VCL NAL. Включение может быть опциональным. То есть, соответствующий синтаксический элемент в помещенном пакете может указывать, содержится ли такой синтаксис заголовка слайса в соответствующем помещенном пакете, или нет. Если содержится, соответствующие данные заголовка слайса, включенные в соответствующий помещенный пакет, могут применяться ко всем слайсам, содержащимся в пакете, принадлежащем «области действия» соответствующего помещенного пакета. Адаптированы ли данные заголовка слайса, содержащиеся в помещенном пакете, слайсом, закодированным в любой из пакетов полезной нагрузки, принадлежащий области действия этого помещенного пакета, может быть сигнализировано соответствующим флагом, таким как slice_header_data_present_flag на Фиг.22. С помощью этой меры заголовки слайсов, закодированных в пакеты, принадлежащие «области действия» соответствующего помещенного пакета, могут быть уменьшены в размерах соответственно с использованием только что упомянутого флага в заголовке слайса, и любой декодер, принимающий поток видеоданных, такой как сетевые объекты, показанные на приведенных выше Фиг.12-16, реагировал бы на только что упомянутый флаг в заголовке слайса, с тем чтобы скопировать данные заголовка слайса, включенные во помещенный пакет, в заголовок слайса, закодированного в пакет полезной нагрузки, принадлежащий области действия этого помещенного пакета, в случае соответствующего флага в этом слайсе, сигнализирующего смещение данных заголовка слайса к префиксу слайса, т.е. соответствующему помещенному пакету.That is, by extending the concept of FIGS. 22 and 23 to the embodiments of FIGS. 12-16, the nested packets described herein can be extended by the concept of including in these nested packets part of the slice header syntax of slices (sub- parts) 24 encoded into payload packets, i.e. VCL NAL blocks. The inclusion may be optional. That is, the corresponding syntax element in the placed package may indicate whether such slice header syntax is contained in the corresponding placed package or not. If present, the corresponding slice header data included in the corresponding placed package may apply to all slices contained in the package belonging to the "scope" of the corresponding placed package. Whether slice header data contained in a placed packet is adapted by a slice encoded in any of the payload packets belonging to the scope of that placed packet may be signaled by an appropriate flag, such as slice_header_data_present_flag in FIG. With this measure, the headers of slices encoded into packets belonging to the "scope" of the corresponding placed packet can be reduced in size accordingly using the flag just mentioned in the slice header, and any decoder receiving the video stream, such as the network objects shown 12-16 above would respond to the just-mentioned flag in the slice header so as to copy the slice header data included in the placed packet into the slice header encoded in the payload packet belonging to the scope of that placed packet, in the case of a corresponding flag in that slice, signaling an offset of the slice header data to the slice prefix, i.e. corresponding to the placed package.

Продолжая дальше с примером синтаксиса для реализации вариантов осуществления на Фиг.12-16, синтаксис сообщения SEI может быть таким, как показано на Фиг.24. Чтобы представить типы сообщения SEI слайса или под-изображения, синтаксис полезной нагрузки SEI может быть адаптирован, как представлено в таблице на Фиг.25. Только сообщение SEI с payloadType в диапазоне от 180 до 184 может быть отправлено исключительно на уровне под-изображения в блоке NAL префикса слайса. Кроме того, сообщения SEI области интереса с payloadType, равным 140, могут быть отправлены либо в блоке NAL префикса слайса на уровне под-изображения, либо в обычном сообщении SEI на уровне блока доступа.Continuing with the example syntax for implementing the embodiments in FIGS. 12-16, the SEI message syntax may be as shown in FIG. To represent slice or sub-picture SEI message types, the SEI payload syntax can be adapted as shown in the table in FIG. Only a SEI message with payloadType in the range 180 to 184 can be sent exclusively at the sub-picture level in the slice prefix NAL unit. In addition, region-of-interest SEI messages with payloadType equal to 140 may be sent either in the slice prefix NAL unit at the sub-picture level or in a regular SEI message at the access unit level.

То есть, в переносе подробностей, показанных на Фиг.25 и 24, на варианты осуществления, описанные выше, по отношению к Фиг.12-16, помещенные пакеты, показанные в этих вариантах осуществления на Фиг.12-16, могут быть реализованы путем использования блоков NAL префикса слайса с определенным типом блока NAL, например, 24, содержащим определенный тип сообщения SEI, сигнализированного посредством payloadType в начале каждого сообщения SEI в блоке NAL префикса слайса, например. В определенном варианте осуществления синтаксиса, описанном сейчас, payloadType = 180 и payloadType = 181 имеет результатом пакет управления таймингом в соответствии с вариантом осуществления на Фиг.11-14, тогда как payloadType = 140 имеет результатом пакет ROI в соответствии с вариантом осуществления на Фиг.15, а payloadType = 182 имеет результатом пакет идентификации фрагмента изображения в соответствии с вариантом осуществления на Фиг.16. Пример конкретного синтаксиса, описанный в материалах настоящей заявки ниже, может содержать лишь одну или подмножество только что упомянутых опций payloadType. Помимо этого, Фиг.25 показывает, что любые из описанных выше вариантов осуществления на Фиг.11-16 могут быть объединены друг с другом. Еще дополнительно, Фиг.25 показывает, что любой из приведенных выше вариантов осуществления на Фиг.12-16, или любая их комбинация может быть расширена посредством дополнительного помещенного пакета, впоследствии объясненного с payloadType = 184. Как уже было описано выше, расширение, описанное ниже по отношению к payloadType = 183, заканчивается возможностью, что любые помещенные пакеты могли включить туда общие данные заголовка слайса для заголовков слайсов, закодированных в любой пакет полезной нагрузки, принадлежащий его области действия.That is, in transferring the details shown in FIGS. 25 and 24 to the embodiments described above with respect to FIGS. 12-16, the placed packets shown in these embodiments in FIGS. 12-16 can be implemented by using slice prefix NAL units with a specific NAL unit type, eg 24, containing a specific SEI message type signaled by payloadType at the beginning of each SEI message in the slice prefix NAL unit, eg. In a specific embodiment of the syntax now described, payloadType = 180 and payloadType = 181 results in a timing control packet according to the embodiment in FIGS. 11-14, while payloadType = 140 results in an ROI packet according to the embodiment in FIG. 15 and payloadType = 182 results in a sub-picture identification packet according to the embodiment in FIG. The specific syntax example described herein below may contain only one or a subset of the payloadType options just mentioned. In addition, Fig.25 shows that any of the above-described embodiments in Fig.11-16 can be combined with each other. Still further, Fig. 25 shows that any of the above embodiments in Figs. 12-16, or any combination of them, can be extended by an additional placed package, subsequently explained with payloadType = 184. As already described above, the extension described below with respect to payloadType = 183, ends up with the possibility that any placed packets could include common slice header data for slice headers encoded in any payload packet belonging to its scope.

Таблицы в следующих фигурах определяют сообщения SEI, которые могут быть использованы на уровне слайса или под-изображения. Сообщение области интереса SEI также представлено, которое может быть использовано на уровне под-изображения и блока доступа.The tables in the following figures define the SEI messages that can be used at the slice or sub-picture level. The SEI message of interest is also present, which can be used at the sub-picture and access block level.

Фиг.26, например, показывает пример для сообщения SEI буферизации под-изображения, возникающего всякий раз когда блок NAL префикса слайса типа 24 блока NAL имеет тип 180 сообщения SEI, включенного туда, таким образом формируя пакет управления таймингом.26, for example, shows an example for a sub-picture buffering SEI message occurring whenever the NAL unit slice prefix type 24 NAL unit has an SEI message type 180 included therein, thus forming a timing control packet.

Семантика могла бы быть определена следующим образом:The semantics could be defined as follows:

seq_parameter_set_id определяет набор параметров последовательности, который содержит атрибуты HRD последовательности. Значение seq_parameter_set_id будет равно значению seq_parameter_set_id в наборе параметров изображения, на который ссылается первичное закодированное изображение, связанное с сообщением SEI периода буферизации. Значение seq_parameter_set_id должно быть в диапазоне от 0 до 31, включительно.seq_parameter_set_id defines a sequence parameter set that contains the HRD attributes of the sequence. The value of seq_parameter_set_id will be equal to the value of seq_parameter_set_id in the picture parameter set referenced by the primary encoded picture associated with the buffer period SEI message. The value of seq_parameter_set_id must be between 0 and 31, inclusive.

initial_cpb_removal_delay[ SchedSelIdx ] и initial_alt_cpb_removal_delay[ SchedSelIdx ] определяют исходные задержки удаления CPB для SchedSelIdx-го CPB блока декодирования (под-изображения). Синтаксические элементы имеют длину в битах, заданную посредством initial_cpb_removal_delay_length_minus1 + 1, и выражены в единицах 90 кГц тактового сигнала. Значения синтаксических элементов не будут равны 0 и не будут превышать 90000 * ( CpbSize[ SchedSelIdx ] ÷ BitRate[ SchedSelIdx ]), временной эквивалент размера CPB в единицах 90 кГц тактового сигнала.initial_cpb_removal_delay[ SchedSelIdx ] and initial_alt_cpb_removal_delay[ SchedSelIdx ] define the initial CPB removal delays for the SchedSelIdx th CPB of the decoding block (sub-picture). The syntax elements have a length in bits given by initial_cpb_removal_delay_length_minus1 + 1 and are expressed in units of a 90 kHz clock signal. Syntax element values will not be 0 and will not exceed 90000 * ( CpbSize[ SchedSelIdx ] ÷ BitRate[ SchedSelIdx ]), the time equivalent of the CPB size in units of 90 kHz clock.

По всей закодированной видеопоследовательности сумма initial_cpb_removal_delay[ SchedSelIdx ] и initial_cpb_removal_delay_offset[ SchedSelIdx ] на блок декодирования (под-изображения) должна быть постоянной для каждого значения SchedSelIdx, и сумма initial_alt_cpb_removal_delay[ SchedSelIdx ] и initial_alt_cpb_removal_delay_offset[ SchedSelIdx ] должна быть постоянной для каждого значения SchedSelIdx.По всей закодированной видеопоследовательности сумма initial_cpb_removal_delay[ SchedSelIdx ] и initial_cpb_removal_delay_offset[ SchedSelIdx ] на блок декодирования (под-изображения) должна быть постоянной для каждого значения SchedSelIdx, и сумма initial_alt_cpb_removal_delay[ SchedSelIdx ] и initial_alt_cpb_removal_delay_offset[ SchedSelIdx ] должна быть постоянной для каждого значения SchedSelIdx.

Фиг.27 показывает также пример для сообщения SEI тайминга под-изображения, где семантика могла бы быть описана следующим образом:27 also shows an example for a sub-picture timing SEI message, where the semantics could be described as follows:

du_cpb_removal_delay определяет, сколько тактов синхронизации ждать после удаления из CPB блока декодирования (под-изображения), связанного с самым недавним сообщением SEI периода буферизации под-изображения в предшествующем блоке доступа в том же блоке декодирования (под-изображении), если таковой присутствует, в противном случае связанного с самым недавним сообщением SEI периода буферизации в предшествующем блоке доступа, перед удалением из буфера данных блока декодирования (под-изображения), связанных с сообщением SEI тайминга под-изображения. Это значение также используется для вычисления самого раннего возможного времени прибытия данных блока декодирования (под-изображения) в CPB для HSS (Гипотетический Планировщик Потока [2]0). Синтаксический элемент представляет собой код фиксированной длины, чья длина в битах задана посредством cpb_removal_delay_length_minus1 + 1. cpb_removal_delay представляет собой остаток от счетчика по модулю 2^(cpb_removal_delay_length_minus1 + 1).du_cpb_removal_delay specifies how many clock cycles to wait after removing from the CPB the decoding block (sub-picture) associated with the most recent SEI message of the sub-picture buffering period in the previous access block in the same decoding block (sub-picture), if present, in otherwise, the buffering period associated with the most recent SEI message in the previous access block, before decoding block (sub-picture) data associated with the sub-picture timing SEI message is removed from the buffer. This value is also used to calculate the earliest possible time of arrival of the decoding block (sub-picture) data in the CPB for the HSS (Hypothetical Flow Scheduler [2]0). The syntax element is a fixed length code whose length in bits is given by cpb_removal_delay_length_minus1 + 1. cpb_removal_delay is the remainder of the counter modulo 2^(cpb_removal_delay_length_minus1 + 1).

du_dpb_output_delay используется для вычисления времени вывода DBP блока декодирования (под-изображения). Он определяет, сколько тактов синхронизации ждать после удаления декодированного блока декодирования (под-изображения) из CPB до того, как блок декодирования (под-изображение) будет выведен из DPB.du_dpb_output_delay is used to calculate the DBP output time of the decoding block (sub-picture). It determines how many clock cycles to wait after a decoded decoding block (sub-picture) is removed from the CPB before the decoding block (sub-picture) is output from the DPB.

Следует отметить, что это допускает обновления под-изображений. В таком сценарии необновленные блоки декодирования могут оставаться неизмененными относительно последнего декодированного изображения, т.е. они остаются видимыми.Note that this allows sub-image updates. In such a scenario, the non-updated decoding blocks may remain unchanged from the last decoded picture, ie. they remain visible.

Подводя итог по Фиг.26 и 27 и перенося определенные детали, содержащиеся на них, на вариант осуществления на Фиг.12-14, можно сказать, что время извлечения буфера декодера для блока декодирования может быть сигнализировано в связанном пакете управления таймингом по-другому закодированным способом, а именно, с приращением по отношению к другому времени извлечения буфера декодирования. То есть, чтобы получить время извлечения буфера декодера для определенного блока декодирования, декодер, принимающий поток видеоданных, добавляет время извлечения декодера, полученное от пакета управления таймингом, являющегося префиксом для определенного блока декодирования, к времени извлечения декодера непосредственно предшествующего блока декодирования, т.е. блока, предшествующего определенному блоку декодирования, и продолжая таким способом со следующими блоками декодирования. В начале закодированных видеопоследовательностей нескольких изображений каждого или их частей пакет управления таймингом может дополнительно или альтернативно содержать значение времени извлечения буфера декодера, закодированное скорее абсолютно чем дифференциально по отношению к любому времени извлечения буфера декодера предшествующего блока декодирования.Summarizing Figs. 26 and 27 and transferring certain details contained therein to the embodiment of Figs. 12-14, it can be said that the decoder buffer extraction time for the decoding block can be signaled in the associated timing control packet differently encoded way, namely, incremented with respect to another decoding buffer extraction time. That is, in order to obtain the decoder buffer extraction time for a specific decoding block, the decoder receiving the video stream adds the decoder extraction time obtained from the timing control packet that is a prefix for the specific decoding block to the decoder extraction time of the immediately preceding decoding block, i.e. . block preceding a particular decoding block, and continuing in this manner with subsequent decoding blocks. At the beginning of the encoded video sequences of multiple pictures of each or parts thereof, the timing control packet may additionally or alternatively comprise a decoder buffer extraction time value encoded absolutely rather than differentially with respect to any decoder buffer extraction time of the preceding decoding unit.

Фиг.28 показывает, как может выглядеть сообщение SEI информации слайса под-изображения. Семантика могла бы быть определена следующим образом:FIG. 28 shows what a sub-picture slice information SEI message may look like. The semantics could be defined as follows:

slice_header_data_flag со значением 1 указывает, что данные заголовка слайса присутствуют в сообщении SEI. Данные заголовка слайса, предоставленные в SEI, являются действительными для всех слайсов, следующих в порядке декодирования до окончания блока доступа, появления данных слайса в другом сообщении SEI, блока NAL слайса или блока NAL префикса слайса.slice_header_data_flag with a value of 1 indicates that slice header data is present in the SEI message. The slice header data provided in the SEI is valid for all slices in decoding order until the end of the access block, the appearance of the slice data in another SEI message, the slice NAL unit, or the slice prefix NAL unit.

Фиг.29 показывает пример для сообщения SEI информации фрагмента под-изображения, где семантика могла бы быть определена следующим образом:29 shows an example for reporting sub-picture fragment information SEI, where the semantics could be defined as follows:

tile_priority указывает приоритет всех фрагментов изображения в снабженных префиксом слайсах, следующих в порядке декодирования. Значение tile_priority должно быть в диапазоне от 0 до 7 включительно, где 7 указывает наивысший приоритет.tile_priority indicates the priority of all tiles in the prefixed slices in decoding order. The value of tile_priority must be between 0 and 7 inclusive, where 7 indicates the highest priority.

multiple_tiles_in_prefixed_slices_flag со значением 1 указывает, что есть больше, чем 1 фрагмент изображения в снабженных префиксом слайсах, чтобы следовать в порядке декодирования. multiple_tiles_in_prefixed_slices_flag со значением 0 указывает, что следующие снабженные префиксом слайсы содержат только один фрагмент изображения.multiple_tiles_in_prefixed_slices_flag with a value of 1 indicates that there are more than 1 tiles in prefixed slices to follow in decoding order. multiple_tiles_in_prefixed_slices_flag with a value of 0 indicates that the following prefixed slices contain only one tile.

num_tiles_in_prefixed_slices_minus1 указывает количество фрагментов изображения в снабженных префиксом слайсах, следующих в порядке декодирования.num_tiles_in_prefixed_slices_minus1 indicates the number of tiles in prefixed slices in decoding order.

first_tile_id_in_prefixed_slices указывает tile_id первого фрагмента изображения в снабженных префиксом слайсах, следующих в порядке декодирования.first_tile_id_in_prefixed_slices indicates the tile_id of the first tile in the prefixed slices following in decoding order.

То есть, вариант осуществления на Фиг.16 мог бы быть реализован с использованием синтаксиса на Фиг.29 для реализации пакетов идентификации фрагмента изображения, упомянутых на Фиг.16. Как там показано, определенный флаг, здесь multiple_tiles_in_prefixed_slices_flag, может быть использован для сигнализации в помещенном пакете идентификации фрагмента изображения того, покрыт ли только один фрагмент изображения или больше, чем один фрагмент изображения любой под-частью текущего изображения 18, закодированного в любой из пакетов полезной нагрузки, принадлежащий области действия соответствующего помещенного пакета идентификации фрагмента изображения. Если флаг сигнализирует перекрытие более, чем одного, фрагмента изображения, дополнительный синтаксический элемент содержится в соответствующем помещенном пакете, здесь в качестве примера num_tiles_in_prefixed_slices_minus1, указывающий количество фрагментов изображения, перекрытых любой под-частью любого пакета полезной нагрузки, принадлежащего области действия соответствующего помещенного пакета идентификации фрагмента изображения. Наконец, дополнительный синтаксический элемент, здесь в качестве примера first_tile_id_in_prefixed_slices, указывает ID фрагмента изображения среди ряда фрагментов изображения, указанных текущим помещенным пакетом идентификации фрагмента изображения, который является первым в соответствии с порядком декодирования. Перенося синтаксис Фиг.29 на вариант осуществления на Фиг.16, пакет 72 идентификации фрагмента изображения, являющийся префиксом для пятого пакета 32 полезной нагрузки, мог бы, например, иметь все три только что обсужденных синтаксических элемента с multiple_tiles_in_prefixed_slices_flag, установленным в 1, num_tiles_in_prefixed_slices_minus1, установленным в 1, тем самым указывая, что два фрагмента изображения принадлежат текущей области действия, и пакет 72 идентификации фрагмента изображения начинается на третьем фрагменте изображения (имеющем tile_id = 2).That is, the embodiment in FIG. 16 could be implemented using the syntax in FIG. 29 to implement the sub-picture identification packets referred to in FIG. 16. As shown there, a specific flag, here multiple_tiles_in_prefixed_slices_flag, can be used to signal in a placed tile identification packet whether only one tile or more than one tile is covered by any sub-part of the current picture 18 encoded in any of the payload packets. load belonging to the scope of the corresponding placed image fragment identification package. If the flag signals the overlap of more than one tile, an additional syntax element is contained in the corresponding placed package, here as an example num_tiles_in_prefixed_slices_minus1 indicating the number of tiles overlapped by any sub-part of any payload package belonging to the scope of the corresponding placed fragment identification package Images. Finally, an additional syntax element, here as an example first_tile_id_in_prefixed_slices, specifies the tile ID among the set of tile specified by the currently placed tile identification packet which is first according to the decoding order. Transferring the syntax of Fig. 29 to the embodiment of Fig. 16, the slice identification packet 72 being the prefix for the fifth payload packet 32 could, for example, have all three syntax elements just discussed with multiple_tiles_in_prefixed_slices_flag set to 1, num_tiles_in_prefixed_slices_minus1, set to 1, thereby indicating that two tiles belong to the current scope, and the tile identification packet 72 starts on the third tile (having tile_id = 2).

Фиг.29 также показывает, что пакет 72 идентификации фрагмента изображения может, возможно, указывать tile_priority, т.е. приоритет фрагментов изображения, принадлежащих его области действия. Подобно аспекту ROI, сетевой объект 68 может использовать такую информацию приоритета для управления задачами передачи, такими как запрос повторной передачи определенных пакетов полезной нагрузки.29 also shows that the tile identification packet 72 may optionally indicate tile_priority, ie. priority of image fragments belonging to its scope. Similar to the ROI aspect, network entity 68 may use such priority information to manage transmission tasks such as requesting retransmission of certain payload packets.

Фиг.30 показывает пример синтаксиса для сообщения SEI информации размера фрагмента под-изображения, где семантика могла бы быть определена как:30 shows an example syntax for reporting sub-picture fragment size information to the SEI, where the semantics could be defined as:

multiple_tiles_in_prefixed_slices_flag со значением 1 указывает, что есть больше, чем 1 фрагмент изображения в снабженных префиксом слайсах, чтобы следовать в порядке декодирования. multiple_tiles_in_prefixed_slices_flag со значением 0 указывает, что следующие снабженные префиксом слайсы содержат только один фрагмент изображения.multiple_tiles_in_prefixed_slices_flag with a value of 1 indicates that there are more than 1 tiles in prefixed slices to follow in decoding order. multiple_tiles_in_prefixed_slices_flag with a value of 0 indicates that the following prefixed slices contain only one tile.

num_tiles_in_prefixed_slices_minus1 указывает количество фрагментов изображения в снабженных префиксом слайсах, следующих в порядке декодирования.num_tiles_in_prefixed_slices_minus1 indicates the number of tiles in prefixed slices in decoding order.

tile_horz_start[ i ] указывает начало в горизонтальном направлении i-го фрагмента изображения внутри изображения.tile_horz_start[ i ] specifies the start in the horizontal direction of the i-th tile within the image.

tile_width[ i ] указывает ширину i-го фрагмента изображения в пикселях внутри изображения.tile_width[ i ] specifies the width of the i-th tile in pixels within the image.

tile_vert_start[ i ] указывает начало в горизонтальном направлении i-го фрагмента изображения внутри изображения.tile_vert_start[ i ] specifies the start in the horizontal direction of the i-th tile within the image.

tile_height[ i ] указывает высоту i-го фрагмента изображения в пикселях внутри изображения.tile_height[ i ] specifies the height of the i-th tile in pixels within the image.

Следует отметить, что сообщение SEI размеров может использоваться в операциях отображения, например, для назначения фрагмента изображения экрану в сценарии с дисплеем с несколькими экранами.It should be noted that the size SEI message can be used in display operations, for example, to assign a sub-image to a screen in a multi-screen display scenario.

Фиг.30, таким образом, показывает, что пример реализации синтаксиса на Фиг.29 по отношению к пакетам идентификации фрагмента изображения на Фиг.16 может варьироваться в том, что фрагменты изображения, принадлежащие области действия соответствующего пакета идентификации фрагмента изображения, указываются их местоположением внутри текущего изображения 18, а не их ID фрагмента изображения. То есть, вместо сигнализирования ID фрагмента изображения первого фрагмента изображения в порядке декодирования, покрытого соответствующими под-частями, закодированными в любой из пакетов полезной нагрузки, принадлежащий области действия соответствующего помещенного пакета идентификации фрагмента изображения, для каждого фрагмента изображения, принадлежащего текущему пакету идентификации фрагмента изображения, его положение могло бы быть сигнализировано путем сигнализирования, например, положения верхнего левого угла каждого фрагмента i изображения, здесь в качестве примера посредством tile_horz_start и tile_vert_start, и ширины и высоты фрагмента i изображения, здесь в качестве примера посредством tile_width и tile_height.30 thus shows that the example implementation of the syntax of FIG. 29 with respect to the sub-picture identification packets of FIG. of the current image 18, not their sub-picture ID. That is, instead of signaling the sub-picture ID of the first sub-picture in decoding order covered by the corresponding sub-parts encoded in any of the payload packets belonging to the scope of the corresponding placed sub-picture identification packet, for each sub-picture belonging to the current sub-picture identification packet , its position could be signaled by signaling, for example, the position of the upper left corner of each tile i, here by way of example tile_horz_start and tile_vert_start, and the width and height of the tile i, here by way of example by tile_width and tile_height.

Пример синтаксиса для сообщения SEI области интереса показан на Фиг.31. Чтобы быть более точными, Фиг.32 показывает первый вариант. В частности, сообщение SEI области интереса может, например, использоваться на уровне блока доступа или уровне под-изображения для сигнализации одной или более областей интереса. В соответствии с первым вариантом Фиг.32, отдельная ROI сигнализируется один раз на сообщение SEI ROI, вместо сигнализации всех ROI области действия соответствующего пакета ROI внутри одного сообщения SEI ROI, если несколько ROI находятся в текущей области действия.An example syntax for reporting the SEI of a region of interest is shown in FIG. To be more precise, Fig.32 shows the first option. In particular, the SEI message of the region of interest may, for example, be used at the access unit level or the sub-picture level to signal one or more regions of interest. 32, an individual ROI is signaled once per ROI SEI message, instead of signaling all the scope ROIs of the corresponding ROI packet within a single ROI SEI message if multiple ROIs are in the current scope.

В соответствии с Фиг.31, сообщение SEI области интереса сигнализирует каждую ROI отдельно. Семантика могла бы быть определена следующим образом:31, the ROI SEI message signals each ROI separately. The semantics could be defined as follows:

roi_id указывает идентификатор области интереса.roi_id specifies the ID of the region of interest.

roi_priority указывает приоритет всех фрагментов изображения, которые принадлежат области интереса в снабженных префиксом слайсах или всех слайсах, следующих в порядке декодирования в зависимости от того, отправлено ли сообщение SEI на уровне под-изображения или на уровне блока доступа. Значение roi_priority должно быть в диапазоне от 0 до 7 включительно, где 7 указывает наивысший приоритет. Если оба, roi_priority в сообщении SEI roi_info и tile_priority в сообщениях SEI информации фрагмента изображения под-изображения заданы, наивысшее значение обоих действительно для приоритета отдельных фрагментов изображения.roi_priority indicates the priority of all tiles that belong to the region of interest in prefixed slices or all slices following in decoding order depending on whether the SEI message is sent at the sub-picture level or at the access unit level. The value of roi_priority must be between 0 and 7 inclusive, where 7 indicates the highest priority. If both roi_priority in the roi_info SEI message and tile_priority in the sub-tile tile information SEI messages are specified, the highest value of both is valid for the priority of the individual tiles.

num_tiles_in_roi_minus1 указывает количество фрагментов изображения в снабженных префиксом слайсах, следующих в порядке декодирования, которые принадлежат области интереса.num_tiles_in_roi_minus1 indicates the number of tiles in prefixed slices in decoding order that belong to the region of interest.

roi_tile_id[ i ] указывает tile_id i-го фрагмента изображения, который принадлежит области интереса в снабженных префиксом слайсах, следующих в порядке декодирования.roi_tile_id[ i ] indicates the tile_id of the i-th tile that belongs to the region of interest in the prefixed slices following in the decoding order.

То есть, Фиг.31 показывает, что пакет ROI, как показано на Фиг.15, мог бы сигнализировать в нем ID области интереса, к которой относятся соответствующий пакет ROI и пакет полезной нагрузки, принадлежащий его области действия. Опционально, индекс приоритета ROI мог бы сигнализироваться вместе с ID ROI. Однако, оба синтаксических элемента являются опциональными. Далее, синтаксический элемент num_tiles_in_roi_minus1 может указывать количество фрагментов изображения в области действия соответствующего пакета ROI, принадлежащего соответствующей ROI 60. Далее, roi_tile_id указывает ID фрагмента изображения i-х фрагментов изображений, принадлежащих ROI 60. Представим, например, что изображение 18 было бы подразделено на фрагменты 70 изображения способом, показанным на Фиг.16, и что ROI 60 на Фиг.15 соответствовала бы левой половине изображения 18, было бы сформировано первым и третьим фрагментом изображения в порядке декодирования. Далее, пакет ROI может быть помещен перед первым пакетом 32 полезной нагрузки блока 30 доступа на Фиг.16, за которым следует дополнительный пакет ROI между четвертым и пятым пакетами 32 полезной нагрузки этого блока 30 доступа. Затем первый пакет ROI имел бы num_tile_in_roi_minus1, установленный в 0, с roi_tile_id[0], равным 0 (тем самым ссылаясь на первый фрагмент изображения в порядке декодирования), где второй пакет ROI перед пятым пакетом 32 полезной нагрузки имел бы num_tiles_in_roi_minus1, установленный в 0, с roi_tile_id[0], установленным в 2 (тем самым обозначая третий фрагмент изображения в порядке декодирования в левой нижней четверти изображения 18).That is, Fig. 31 shows that the ROI packet, as shown in Fig. 15, could signal in it the ID of the region of interest to which the corresponding ROI packet and the payload packet belonging to its scope belong. Optionally, the ROI priority index could be signaled along with the ROI ID. However, both syntax elements are optional. Further, the num_tiles_in_roi_minus1 syntax element may indicate the number of tiles in the scope of the corresponding ROI package belonging to the corresponding ROI 60. Further, roi_tile_id indicates the tile ID of the i-th tiles belonging to the ROI 60. Imagine, for example, that the image 18 would be subdivided into sub-pictures 70 in the manner shown in FIG. 16 and that ROI 60 in FIG. 15 would correspond to the left half of image 18 would be generated by the first and third sub-pictures in decoding order. Further, the ROI packet may be placed before the first payload packet 32 of the access unit 30 of FIG. 16, followed by an additional ROI packet between the fourth and fifth payload packets 32 of that access unit 30. The first ROI packet would then have num_tile_in_roi_minus1 set to 0 with roi_tile_id[0] set to 0 (thereby referring to the first tile in decoding order), where the second ROI packet before the fifth payload packet 32 would have num_tiles_in_roi_minus1 set to 0 , with roi_tile_id[0] set to 2 (thereby designating the third tile in the decoding order in the bottom left quarter of image 18).

В соответствии со вторым вариантом, синтаксис сообщения SEI области интереса мог бы быть таким, как показано на Фиг.32. Здесь все ROI сигнализируются в одном сообщении SEI. В частности, использовался бы тот же синтаксис, что и обсужденный выше по отношению к Фиг.31, но умножая синтаксические элементы для каждой из ROI из числа ROI, к которым относится соответствующее сообщение SEI ROI или пакет ROI, на число, сигнализируемое синтаксическим элементом, здесь в качестве примера num_rois_minus1. Опционально, дополнительный синтаксический элемент, здесь в качестве примера roi_presentation_on_separate_screen, мог бы сигнализировать для каждой ROI, подходит ли соответствующая ROI для того, чтобы быть представленной на отдельном экране.According to the second option, the syntax of the SEI message of the region of interest could be as shown in Fig.32. Here, all ROIs are signaled in one SEI message. In particular, the same syntax as discussed above with respect to FIG. 31 would be used, but by multiplying the syntax elements for each of the ROIs among the ROIs to which the corresponding ROI SEI message or ROI packet belongs, by the number signaled by the syntax element, here as an example num_rois_minus1. Optionally, an additional syntax element, here as an example roi_presentation_on_separate_screen, could signal for each ROI whether the corresponding ROI is suitable for being presented on a separate screen.

Семантика могла бы быть следующей:The semantics could be as follows:

num_rois_minus1 указывает количество ROI в снабженных префиксом слайсах или обычных слайсах, следующих в порядке декодирования.num_rois_minus1 indicates the number of ROIs in prefixed slices or regular slices in decoding order.

roi_id[ i ] указывает идентификатор i-й области интереса.roi_id[ i ] indicates the ID of the i-th region of interest.

roi_priority[ i ] указывает приоритет всех фрагментов изображения, которые принадлежат области интереса в снабженных префиксом слайсах или всех слайсах, следующих в порядке декодирования в зависимости от того, отправлено ли сообщение SEI на уровне под-изображения или на уровне блока доступа. Значение roi_priority должно быть в диапазоне от 0 до 7 включительно, где 7 указывает наивысший приоритет. Если оба, roi_priority в сообщении SEI roi_info и tile_priority в сообщениях SEI информации фрагмента изображения под-изображения заданы, наивысшее значение обоих действительно для приоритета отдельных фрагментов изображения.roi_priority[ i ] indicates the priority of all tiles that belong to the region of interest in prefixed slices or all slices following in decoding order depending on whether the SEI message is sent at the sub-picture level or at the access block level. The value of roi_priority must be between 0 and 7 inclusive, where 7 indicates the highest priority. If both roi_priority in the roi_info SEI message and tile_priority in the sub-tile tile information SEI messages are specified, the highest value of both is valid for the priority of the individual tiles.

num_tiles_in_roi_minus1[ i ] указывает количество фрагментов изображения в снабженных префиксом слайсах, следующих в порядке декодирования, которые принадлежат i-й области интереса.num_tiles_in_roi_minus1[ i ] indicates the number of tiles in prefixed slices in decoding order that belong to the i-th region of interest.

roi_tile_id[ i ][ n ] указывает tile_id n-го фрагмента изображения, который принадлежит i-й области интереса в снабженных префиксом слайсах, следующих в порядке декодирования.roi_tile_id[ i ][ n ] indicates the tile_id of the n-th tile that belongs to the i-th region of interest in the prefixed slices following in the decoding order.

roi_presentation_on_seperate_screen [ i ] указывает, что область интереса, связанная с i-м roi_id, подходит для представления на отдельном экране.roi_presentation_on_seperate_screen [ i ] indicates that the region of interest associated with the i-th roi_id is suitable for presentation on a separate screen.

Таким образом, кратко подводя итог по различным вариантам осуществления, описанным до сих пор, была представлена дополнительная стратегия сигнализации синтаксиса высокого уровня, которая позволяет применять сообщения SEI, а также дополнительные синтаксические элементы высокого уровня помимо тех, которые включены в заголовок блока NAL на уровне слайса. Следовательно, авторы изобретения описали блок NAL префикса слайса. Синтаксис и семантика префикса слайса и сообщений SEI уровня_слайса/под-изображения были описаны вместе со сценариями использования для операций CPB малой задержки/под-изображения, сигнализации фрагмента изображения и сигнализации ROI. Был представлен расширенный синтаксис для сигнализации части заголовка слайса следующих слайсов в префиксе слайса дополнительно.Thus, briefly summarizing the various embodiments described so far, an additional high-level syntax signaling strategy has been introduced that allows the use of SEI messages, as well as additional high-level syntax elements beyond those included in the slice-level NAL unit header. . Therefore, the inventors have described the slice prefix NAL unit. The syntax and semantics of the slice prefix and slice_level/sub-picture level SEI messages have been described along with use cases for low latency/sub-picture CPB operations, sub-picture signaling, and ROI signaling. An extended syntax has been introduced to signal the slice header portion of the following slices in the slice prefix optionally.

Для полноты картины, Фиг.33 показывает дополнительные пример для синтаксиса, который мог бы быть использован для пакета управления таймингом в соответствии с вариантом осуществления на Фиг.12-14. Семантика могла бы быть:For the sake of completeness, FIG. 33 shows an additional example for a syntax that could be used for a timing control packet according to the embodiment of FIGS. 12-14. The semantics could be:

du_spt_cpb_removal_delay_increment определяет продолжительность, в единицах под-тактов синхронизации, между номинальным временем CPB последнего блока декодирования в порядке декодирования в текущем блоке доступа и блока декодирования, связанного с сообщением SEI информации блока декодирования. Это значение также используется для вычисления самого раннего возможного времени прибытия данных блока декодирования в CPB для HSS, как определено в Приложении C. Синтаксический элемент представлен кодом фиксированной длины, чья длина в битах задана посредством du_cpb_removal_delay_increment_length_minus1 + 1. Когда блок декодирования, связанный с сообщением SEI информации блока декодирования, является последним блоком декодирования в текущем блоке доступа, значение du_spt_cpb_removal_delay_increment должно быть равным 0.du_spt_cpb_removal_delay_increment specifies the duration, in units of sub-clocks, between the nominal CPB time of the last decoding block in decoding order in the current access block and the decoding block associated with the decoding block information SEI message. This value is also used to calculate the earliest possible time of arrival of the decoding block data in the CPB for the HSS as defined in Annex C. The syntax element is represented by a fixed length code whose length in bits is given by du_cpb_removal_delay_increment_length_minus1 + 1. When the decoding block associated with the SEI message decoding block information is the last decoding block in the current access block, du_spt_cpb_removal_delay_increment shall be 0.

dpb_output_du_delay_present_flag, равный 1, определяет присутствие синтаксического элемента pic_spt_dpb_output_du_delay в сообщении SEI информации блока декодирования. dpb_output_du_delay_present_flag, равный 0, определяет отсутствие синтаксического элемента pic_spt_dpb_output_du_delay в сообщении SEI информации блока декодирования.dpb_output_du_delay_present_flag equal to 1 specifies the presence of the pic_spt_dpb_output_du_delay syntax element in the decoding block information SEI message. dpb_output_du_delay_present_flag equal to 0 specifies the absence of the pic_spt_dpb_output_du_delay syntax element in the decoding block information SEI message.

pic_spt_dpb_output_du_delay используется для вычисления времени вывода DPB изображения, когда SubPicHrdFlag равен 1. Он определяет, сколько под-тактов синхронизации ждать после удаления последнего блока декодирования в блоке доступа из CPB до того, как декодированное изображение будет выведено из DPB. В случае, когда не присутствует, значение pic_spt_dpb_output_du_delay подразумевается равным pic_dpb_output_du_delay. Длина синтаксического элемента pic_spt_dpb_output_du_delay задана в битах посредством dpb_output_delay_du_length_minus1 + 1.pic_spt_dpb_output_du_delay is used to calculate the output time of the DPB picture when SubPicHrdFlag is equal to 1. It determines how many clock sub-clocks to wait after removing the last decode block in the access block from the CPB before the decoded picture is output from the DPB. When not present, the value of pic_spt_dpb_output_du_delay is assumed to be pic_dpb_output_du_delay. The length of the pic_spt_dpb_output_du_delay syntax element is given in bits by dpb_output_delay_du_length_minus1 + 1.

Требованием соответствия битового потока является то, что все сообщения SEI информации блока декодирования, которые связаны с одним и тем же блоком доступа, применяются к одной и той же точке операции, и имеют dpb_output_du_delay_present_flag, равный 1, должны иметь одно и то же значение pic_spt_dpb_output_du_delay. Время вывода, полученное из pic_spt_dpb_output_du_delay любого изображения, которое выводится из удовлетворяющего времени вывода декодера, должно предшествовать времени вывода, полученному из pic_spt_dpb_output_du_delay всех изображений в любой последующей CVS в порядке декодирования.The bitstream conformance requirement is that all decoding block information SEI messages that are associated with the same access block apply to the same operation point, and have dpb_output_du_delay_present_flag equal to 1, must have the same pic_spt_dpb_output_du_delay value. The output time obtained from pic_spt_dpb_output_du_delay of any image that is output from a satisfying decoder output time must precede the output time obtained from pic_spt_dpb_output_du_delay of all images in any subsequent CVS in decoding order.

Порядок вывода изображений, установленный значениями этого синтаксического элемента, будет таким же порядком, который установлен значениями PicOrderCntVal.The order in which images are displayed, set by the values of this syntax element, will be the same order as set by the values of PicOrderCntVal.

Для изображений, которые не выводятся процессом «резкого изменения параметров» из-за того, что они предшествуют в порядке декодирования изображению IRAP с NoRaslOutputFlag, равным 1, который имеет no_output_of_prior_pics_flag, равный 1 или подразумевающийся равным 1, моменты времени вывода, полученные из pic_spt_dpb_output_du_delay, должны быть увеличивающимися с увеличивающимся значением PicOrderCntVal по отношению ко всем изображениям в одной и той же CVS. Для любых двух изображений в CVS разница между моментами времени вывода двух изображений, когда SubPicHrdFlag равен 1, должна быть идентична той же самой разнице, когда SubPicHrdFlag равен 0.For pictures that are not output by the "peep" process because they precede in decoding order an IRAP picture with NoRaslOutputFlag equal to 1, which has no_output_of_prior_pics_flag equal to 1, or implied to be 1, the output times obtained from pic_spt_dpb_output_du_delay, should be incrementing with increasing PicOrderCntVal value relative to all images in the same CVS. For any two images in CVS, the difference between the output times of the two images when SubPicHrdFlag is 1 must be identical to the same difference when SubPicHrdFlag is 0.

Кроме того, Фиг.34 показывает дополнительный пример для сигнализации области ROI с использованием пакетов ROI. В соответствии с Фиг.34, синтаксис пакета ROI содержит только один флаг, указывающий, все ли под-части изображения 18, закодированные в какой-либо пакет 32 полезной нагрузки, принадлежащий его области действия, принадлежат ROI, или нет. «Область действия» расширяется до появления пакета ROI или сообщения SEI region_refresh_info. Если флаг равен 1, область указывается как закодированная в соответствующий последующий пакет(ы) полезной нагрузки, а если 0, применяется обратное, т.е. соответствующие под-части изображения 18 не принадлежат ROI 60.In addition, FIG. 34 shows an additional example for ROI area signaling using ROI packets. 34, the ROI packet syntax contains only one flag indicating whether all sub-parts of the image 18 encoded in any payload packet 32 belonging to its scope belong to the ROI or not. The "scope" is extended to the occurrence of an ROI packet or an SEI region_refresh_info message. If the flag is 1, the area is indicated as being encoded into the corresponding subsequent payload packet(s), and if 0, the reverse applies, i.e. the corresponding sub-parts of image 18 do not belong to ROI 60.

Перед обсуждением некоторых из описанных выше вариантов осуществления снова другими словами с дополнительным объяснением некоторых терминов, использованных выше, таких как фрагмент изображения, слайс и подразделение под-потока WPP, следует отметить, что приведенная выше сигнализация Высокого Уровня варианта осуществления может альтернативно быть определена в транспортных спецификациях, таких как [3-7]. Другими словами, пакеты, упомянутые выше и формирующие последовательность 34, могут быть транспортными пакетами, некоторые из которых имеют подчасти прикладного уровня, такие как слайсы, включенные, например, пакетированные полностью или фрагментированные, туда, некоторые будучи помещенными между последними способом и с целью, обсужденной ниже. Другими словами, вышеупомянутые помещенные пакеты не ограничены, чтобы быть определенными как сообщения SEI других типов блоков NAL, определенных в видеокодеке прикладного уровня, но могли бы альтернативно быть дополнительным транспортным пакетом, определенным в транспортных протоколах.Before discussing some of the above embodiments again in other words with additional explanation of some of the terms used above such as sub-picture, slice and WPP sub-stream sub-stream, it should be noted that the above embodiment High Level signaling may alternatively be defined in transport specifications such as [3-7]. In other words, the packets mentioned above and forming the sequence 34 may be transport packets, some of which have application layer sub-parts such as slices included, for example, packaged in full or fragmented there, some being placed between the latter in a manner and with the intent, discussed below. In other words, the above placed packets are not limited to be defined as SEI messages of other NAL unit types defined in the application layer video codec, but could alternatively be an additional transport packet defined in transport protocols.

Другими словами, в соответствии с одним аспектом настоящего описания, приведенные выше варианты осуществления показали поток видеоданных, имеющий видеоконтент, закодированный в нем в блоках под-частей (см. блоки дерева кодирования или слайсы) изображений видеоконтента, при этом каждая под-часть соответственно закодирована в один или более пакетов полезной нагрузки (см. блоки VCL NAL) последовательности пакетов (блоков NAL) потока видеоданных, последовательность пакетов разделена на последовательность блоков доступа, так что каждый блок доступа собирает пакеты полезной нагрузки, относящиеся к соответствующему изображению видеоконтента, где последовательность пакетов поместила туда пакеты управления таймингом (префикс слайса), так что пакеты управления таймингом подразделяют блоки доступа на блоки декодирования, так что по меньшей мере некоторые блоки доступа подразделены на два или более блоков декодирования, при этом каждый пакет управления таймингом сигнализирует время извлечения буфера декодера для блока декодирования, пакеты полезной нагрузки которого следуют за соответствующим пакетом управления таймингом в последовательности пакетов.In other words, in accordance with one aspect of the present description, the above embodiments have shown a video data stream having video content encoded therein in blocks of sub-parts (see coding tree blocks or slices) of video content images, with each sub-part correspondingly encoded into one or more payload packets (see VCL NAL units) of a sequence of packets (NAL units) of a video stream, the sequence of packets is divided into a sequence of access units such that each access unit collects payload packets related to a corresponding image of the video content, where the sequence of packets placed timing control packets (slice prefix) there, so that timing control packets subdivide access blocks into decode blocks, so that at least some access blocks are subdivided into two or more decode blocks, with each timing control packet signaling a buffer extraction time a decoder-ra for a decoder whose payload packets follow the corresponding timing control packet in the packet sequence.

Как описано выше, область, в отношении которой видеоконтент закодирован в поток видеоданных в единицах под-частей изображений, может покрывать синтаксические элементы, относящиеся к предсказательному кодированию, например, режимам кодирования (таким как внутренний режим, внешний режим, информация подразделения и тому подобное), параметрам предсказания (таким как векторы движения, направления экстраполяции или тому подобное) и/или остаточным данным (таким как уровни коэффициента преобразования), при этом эти синтаксические элементы связаны с локальными частями изображения, такими как блоки дерева кодирования, блоки предсказания и остаточные блоки (такие как преобразования), соответственно.As described above, the area in relation to which the video content is encoded into the video data stream in units of sub-pictures may cover syntax elements related to predictive coding, such as coding modes (such as intra mode, inter mode, division information, and the like) , prediction parameters (such as motion vectors, extrapolation directions, or the like), and/or residual data (such as transform coefficient levels), wherein these syntax elements are associated with local parts of the picture, such as coding tree blocks, prediction blocks, and residual blocks. (such as transformations), respectively.

Как описано выше, пакеты полезной нагрузки каждый может включать в себя один или более слайсов (полностью, соответственно). Слайсы могут быть независимо декодируемыми или могут показывать взаимоотношения, которые препятствуют их независимому декодированию. Например, энтропийные слайсы могут быть независимо энтропийно декодируемыми, но предсказание за пределами границ слайса может быть запрещено. Зависимые слайсы могут допускать обработку WPP, т.е. кодирование/декодирование с использованием энтропийного и предсказательного кодирования за границами слайса с возможностью параллельного кодирования/декодирования зависимых слайсов способом перекрытия во времени, однако, со ступенчатым началом процедуры кодирования/декодирования отдельных зависимых слайсов и слайса/слайсов, на которые ссылаются зависимые слайсы.As described above, payload packets may each include one or more slices (in whole, respectively). The slices may be independently decodable or may show relationships that prevent them from being independently decodable. For example, entropy slices may be independently entropy decodable, but prediction beyond slice boundaries may be prohibited. Dependent slices may allow WPP processing, ie. encoding/decoding using entropy and predictive coding beyond slice boundaries with the possibility of parallel encoding/decoding of dependent slices in a time overlapping manner, however, with a stepped start of the encoding/decoding procedure of individual dependent slices and the slice/slices referenced by dependent slices.

Последовательный порядок, в котором пакеты полезной нагрузки блока доступа упорядочены в соответствующем блоке доступа, может быть известен декодеру заранее. Например, порядок кодирования/декодирования может быть определен среди под-частей изображений, такой как порядок сканирования среди блоков дерева кодирования в приведенных выше примерах.The sequential order in which the access block payload packets are ordered in the corresponding access block may be known to the decoder in advance. For example, the encoding/decoding order may be determined among the sub-parts of the images, such as the scanning order among the encoding tree blocks in the above examples.

См., например, фигуру ниже. Закодированное/декодированное в настоящее время изображение 100 может быть разделено на фрагменты изображения, которые на Фиг.35 и 36, например, в качестве примера соответствуют четырем квадрантам изображения 110 и указаны ссылочными позициями 112a-112d. То есть, целое изображение 110 может формировать один фрагмент изображения, как в случае на Фиг.37, или может быть сегментировано на более, чем один, фрагмент изображения. Сегментация фрагмента изображения может быть ограничена обычной сегментацией, в которой фрагменты изображения расположены только в столбцах и строках. Различные примеры представлены ниже.See, for example, the figure below. The currently encoded/decoded image 100 may be divided into sub-images, which in FIGS. 35 and 36, for example, correspond to four quadrants of the image 110 by way of example and are indicated by numerals 112a-112d. That is, the whole image 110 may form one sub-image, as in the case of FIG. 37, or may be segmented into more than one sub-image. The sub-image segmentation can be limited to conventional segmentation in which sub-images are arranged in columns and rows only. Various examples are presented below.

Как видно, изображение 110 дополнительно подразделено на блоки 114 (дерева) кодирования (маленькие прямоугольники на фигуре и называемые CTB выше), среди которых определен порядок 116 кодирования (здесь, растровый порядок сканирования, но также может быть другим). Подразделение изображения на фрагменты 112a-d изображения может быть ограничено так, что фрагменты изображения представляют собой непересекающиеся наборы блоков 114. Кроме того, как блоки 114, так и фрагменты 112a-d изображения могут быть ограничены стандартным расположением в столбцах и строках.As can be seen, the image 110 is further subdivided into encoding (tree) blocks 114 (small rectangles in the figure and called CTBs above), among which an encoding order 116 is defined (here, raster scan order, but can also be different). The subdivision of the image into sub-images 112a-d may be constrained such that the sub-images are non-overlapping sets of blocks 114. In addition, both blocks 114 and sub-images 112a-d may be constrained to a standard arrangement in columns and rows.

Если присутствуют фрагменты (т.е. больше, чем один) изображения, то порядок 116 де(кодирования) растрово сканирует первый полный фрагмент изображения, затем переходя - также в растровом порядке сканирования фрагмента изображения - к следующему фрагменту изображения в порядке фрагмента изображения.If there are tiles (i.e., more than one) of the image, then the de(encoding) order 116 bitmap scans the first complete image fragment, then proceeds - also in the bitmap scanning order of the image fragment - to the next image fragment in the order of the image fragment.

Поскольку фрагменты изображения являются независимыми с точки зрения кодирования/декодирования друг от друга вследствие отсутствия пересечения границ фрагментов изображения посредством пространственных предсказаний и контекстных выборов, выведенных из пространственного соседства, кодер 10 и кодер 12 могут кодировать/декодировать изображение, подразделенное на фрагменты 112 изображения (ранее указанные как 70) параллельно, независимо друг от друга - за исключением, например, внутрицикловой или пост-фильтрации, которой может быть разрешено пересекать границы фрагмента изображения.Because the sub-pictures are independent in terms of encoding/decoding from each other due to the lack of crossing of sub-picture boundaries by spatial predictions and context choices derived from the spatial neighborhood, encoder 10 and encoder 12 can encode/decode an image subdivided into sub-pictures 112 (previously listed as 70) in parallel, independently of each other - except, for example, in-loop or post-filtering, which may be allowed to cross sub-image boundaries.

Изображение 110 может быть дополнительно подразделено на слайсы 118a-d, 180, ранее указанные с использованием ссылочной позиции 24. Слайс может содержать лишь часть фрагмента изображения, один полный фрагмент изображения или более, чем один, фрагмент изображения полностью. Таким образом, разделение на слайсы также может подразделять фрагменты изображения, как в случае на Фиг.35. Каждый слайс содержит по меньшей мере один блок 114 кодирования полностью и состоит из последовательных блоков 114 кодирования в порядке 116 кодирования, так что порядок определен среди слайсов 118a-d, после чего индексы на фигуре были назначены. Разделение на слайсы на Фиг.35-37 было выбрано только в целях иллюстрации. Границы фрагментов изображения могут быть сигнализированы в потоке данных. Изображение 110 может формировать единственный фрагмент изображения, как изображено на Фиг.37.Image 110 may be further subdivided into slices 118a-d, 180, previously referred to using reference numeral 24. A slice may contain only part of a sub-image, one complete sub-image, or more than one entire sub-image. Thus, slicing can also subdivide the sub-images, as in the case of FIG. Each slice contains at least one coding block 114 in its entirety and consists of consecutive coding blocks 114 in coding order 116 such that the order is determined among the slices 118a-d, after which figure indices have been assigned. The slicing in Figs. 35-37 has been chosen for purposes of illustration only. The tile boundaries may be signaled in the data stream. Image 110 may form a single sub-image as shown in FIG.

Кодер 10 и декодер 12 могут быть выполнены с возможностью удовлетворять условиям границ фрагмента изображения в том, что пространственное предсказание не применяется через границы фрагмента изображения. Адаптация контекста, т.е. вероятностные адаптации различных энтропийных (арифметических) контекстов, может продолжаться по целым частям. Однако, всякий раз когда слайс пересекает - в соответствии с порядком 116 кодирования - границу фрагмента изображения (если присутствует внутри слайса), как, например, на Фиг.36 по отношению к слайсам 118a,b, то слайс, в свою очередь, подразделяется на подсекции (подпотоки или фрагменты изображения) с слайсом, содержащим указатели (c.p. entry_point_pffset), указывающие на начала каждой подсекции. В цикле декодера фильтрам может быть разрешено пересекать границы фрагмента изображения. Такие фильтры могут включать в себя один или более из деблокирующего фильтра, фильтра Адаптивного Сдвига Сэмпла (SAO) и Адаптивного контурного фильтра (ALF). Последний может быть применен по границам фрагмента изображения/слайса, если активирован.Encoder 10 and decoder 12 may be configured to satisfy sub-picture boundaries conditions in that spatial prediction is not applied across sub-picture boundaries. Context adaptation, i.e. probabilistic adaptations of various entropy (arithmetic) contexts, can continue in whole parts. However, whenever a slice crosses - in accordance with encoding order 116 - a sub-picture boundary (if present within the slice), as for example in FIG. 36 with respect to slices 118a,b, then the slice is in turn subsections (substreams or image fragments) with a slice containing pointers (c.p. entry_point_pffset) pointing to the start of each subsection. In the decoder loop, filters may be allowed to cross sub-picture boundaries. Such filters may include one or more of a deblocking filter, an Adaptive Sample Shift (SAO) filter, and an Adaptive Loop Filter (ALF). The latter can be applied to the borders of a sub-image/slice if enabled.

Каждая опциональная вторая и последующие подсекции могут иметь свои начала, расположенные с байтовым выравниванием в слайсе с указателем, указывающим сдвиг от начала одной подсекции к началу следующей подсекции. Подсекции расположены внутри слайсов в порядке 116 сканирования. Фиг.38 показывает пример с слайсов 180c на Фиг.37, который в качестве примера подразделен на подсекции 119i.Each optional second and subsequent subsections may have their beginnings byte-aligned in a slice with a pointer indicating the offset from the beginning of one subsection to the beginning of the next subsection. The subsections are arranged within the slices in scan order 116 . Fig.38 shows an example with slices 180c in Fig.37, which is subdivided into subsections 119i as an example.

Что касается фигур, следует отметить, что слайсы, формирующие подчасти фрагментов изображения, не должны заканчиваться со строкой во фрагменте 112a изображения. См., например, слайс 118a на Фиг.37 и 38.With regard to the figures, it should be noted that the slices forming the sub-pieces of the sub-images do not need to end with a line in the sub-image 112a. See, for example, slice 118a in Figures 37 and 38.

Фигура ниже показывает примерную часть потока данных, относящуюся к блоку данных, связанному с изображением 110 приведенной выше Фиг.38. Здесь каждый пакет 122a-d полезной нагрузки - ранее указанные ссылочной позицией 32 - в качестве примера включает в себя только один слайс 118a. Два пакета 124a,b - ранее указанные ссылочной позицией 36 - показаны как помещенные в блок 120 доступа в иллюстративных целях: 124a предшествует пакету 122a в порядке 126 пакета (соответствующем временной оси де/кодирования), а 124b предшествует пакету 122c. Соответственно, блок 120 доступа разделен на два блока 128a,b декодирования - ранее указанные ссылочной позицией 38 - первый из которых содержит пакеты 122a,b (наряду с опциональными пакетами данных заполнения (следующими за первым и вторым пакетами 122a,b, соответственно) и опциональными ведущими пакетами SEI блока доступа (предшествующими первому пакету 122a)), и второй из которых содержит пакеты 118c,d (наряду с опциональными пакетами данных заполнения (следующими за пакетами 122c,d, соответственно)).The figure below shows an exemplary portion of the data stream related to the block of data associated with image 110 of FIG. 38 above. Here, each payload packet 122a-d - previously indicated by numeral 32 - includes only one slice 118a by way of example. Two packets 124a,b - previously indicated by reference numeral 36 - are shown as placed in access block 120 for illustrative purposes: 124a precedes packet 122a in packet order 126 (corresponding to the de/coding time axis), and 124b precedes packet 122c. Accordingly, the access block 120 is divided into two decoding blocks 128a,b - previously indicated by reference numeral 38 - the first of which contains packets 122a,b (along with optional padding data packets (following the first and second packets 122a,b, respectively) and optional leading access block SEI packets (preceding the first packet 122a)), and the second of which contains packets 118c,d (along with optional padding data packets (following packets 122c,d, respectively)).

Как было описано выше, каждый пакет последовательности пакетов может быть назначен точно одному типу пакета из множества типов пакетов (nal_unit_type). Пакеты полезной нагрузки и пакеты управления таймингом (и опциональные пакеты данных заполнения и SEI) имеют, например, разный тип пакета. Экземпляры пакетов определенного типа пакета в последовательности пакетов могут быть предметом определенных ограничений. Эти ограничения могут определять порядок среди типов пакета (см. Фиг.17), которому должны подчиняться пакеты в каждом блоке доступа, так что границы 130a,b блока доступа являются обнаруживаемыми, и остаются в той же позиции в последовательности пакетов, даже если пакеты любого удаляемого типа пакета удалены из потока видеоданных. Например, пакеты полезной нагрузки представляют собой пакеты неудаляемого типа пакета. Однако, пакеты управления таймингом, пакеты данных заполнения и пакеты SEI могут, как обсуждено выше, быть удаляемого типа пакета, т.е. они могут представлять собой не-VCL NAL блоки.As described above, each package in a sequence of packages can be assigned to exactly one package type from a plurality of package types (nal_unit_type). Payload packets and timing control packets (and optional padding and SEI data packets) have, for example, a different packet type. Instances of packages of a particular package type in a package sequence may be subject to certain restrictions. These constraints may define the order among packet types (see FIG. 17) that packets in each access block must obey, such that access block boundaries 130a,b are discoverable, and remain in the same position in the packet sequence even if packets of any packet type to be removed are removed from the video stream. For example, payload packets are packets of a non-removable packet type. However, timing control packets, padding data packets, and SEI packets may, as discussed above, be of a removable packet type, i. e. they may be non-VCL NAL units.

В приведенном выше примере пакеты управления таймингом были явно приведены выше в качестве примера посредством синтаксиса slice_prefix_rbsp().In the example above, timing control packets have been explicitly exemplified above via the slice_prefix_rbsp() syntax.

Используя такое помещение пакетов управления таймингом, кодер имеет возможность регулировать планирование буферизации на стороне декодера в ходе кодирования отдельных изображений видеоконтента. Например, кодер имеет возможность оптимизировать планирование буфера, чтобы минимизировать сквозную задержку. В связи с этим, кодер имеет возможность учитывать отдельное распределение сложности кодирования по области изображения видеоконтента для отдельных изображений видеоконтента. В частности, кодер может непрерывно выводить последовательность пакетов 22, 122a-d, 122a-d1-3 на по-пакетной основе (т.е. как только текущий пакет был завершен, он выводится). Путем использования пакетов управления таймингом, кодер имеет возможность регулировать планирование буфера на декодирующей стороне в моменты, когда некоторые из под-частей текущего изображения уже были закодированы в соответствующие пакеты полезной нагрузки с оставшимися под-частями, однако, еще не были закодированы.By using such placement of timing control packets, the encoder is able to control buffering scheduling on the decoder side during the encoding of individual pictures of the video content. For example, the encoder has the ability to optimize buffer scheduling to minimize end-to-end delay. In this regard, the encoder has the ability to take into account a separate distribution of encoding complexity over the video content image area for individual video content images. In particular, the encoder may continuously output the sequence of packets 22, 122a-d, 122a-d 1-3 on a per-burst basis (ie, once the current packet has been completed, it is output). By using timing control packets, the encoder is able to adjust the buffer scheduling on the decoding side at times when some of the sub-parts of the current picture have already been encoded into the corresponding payload packets with the remaining sub-parts, however, have not yet been encoded.

Соответственно, кодер для кодирования в видеоконтент потока видеоданных в блоках под-частей (см. блоки дерева кодирования, фрагменты изображения или слайсы) изображений видеоконтента, с соответствующим кодированием каждой под-части в один или более пакетов полезной нагрузки (см. блоки VCL NAL) последовательности пакетов (блоков NAL) потока видеоданных, так что последовательность пакетов разделена на последовательность блоков доступа, и каждый блок доступа собирает пакеты полезной нагрузки, относящиеся к соответствующему изображению видеоконтента, может быть выполнен с возможностью помещать в последовательность пакетов пакеты управления таймингом (префикс слайса), так что пакеты управления таймингом подразделяют блоки доступа на блоки декодирования, так что по меньшей мере некоторые блоки доступа подразделены на два или более блоков декодирования, при этом каждый пакет управления таймингом сигнализирует время извлечения буфера декодера для блока декодирования, пакеты полезной нагрузки которого следуют за соответствующим пакетом управления таймингом в последовательности пакетов.Accordingly, an encoder for encoding into video content a video data stream in sub-parts (see coding tree blocks, picture tiles, or slices) of video content images, with corresponding encoding of each sub-part into one or more payload packets (see VCL NAL blocks) sequence of packets (NAL units) of the video data stream, so that the sequence of packets is divided into a sequence of access units, and each access unit collects payload packets related to the corresponding image of the video content, can be configured to put timing control packets (slice prefix) in the packet sequence , so that timing control packets subdivide access units into decode units, such that at least some access units are subdivided into two or more decode units, with each timing control packet signaling a decoder buffer extraction time for the decode unit, payload packets to followed by the corresponding timing control packet in the packet sequence.

Любой декодер, принимающий только что описанный поток видеоданных, может свободно использовать информацию планирования, содержащуюся к пакете управления таймингом, или нет. Однако, тогда как декодер может свободно использовать информацию, декодер, соответствующий уровню кодека, должен иметь возможность декодировать данные, следующие за указанным таймингом. Если имеет место использование, декодер питает свой буфер декодера и опустошает буфер декодера в единицах блоков декодирования. «Буфер декодера» может, как описано выше, включать в себя буфер декодированного изображения и/или буфер закодированного изображения.Any decoder receiving the video data stream just described is free to use the scheduling information contained in the timing control packet or not. However, while the decoder is free to use the information, the decoder corresponding to the codec level must be able to decode the data following the specified timing. If there is usage, the decoder feeds its decoder buffer and empties the decoder buffer in units of decode blocks. The "decoder buffer" may, as described above, include a decoded picture buffer and/or an encoded picture buffer.

Соответственно, декодер для декодирования потока видеоданных, имеющего видеоконтент, закодированный в нем в единицах под-частей (см. блоки дерева кодирования, фрагменты изображения или слайсы) изображений, при этом каждая под-часть соответственно закодирована в один или более пакетов полезной нагрузки (см. блоки VCL NAL) последовательности пакетов (блоков NAL) потока видеоданных, последовательность пакетов разделена на последовательность блоков доступа, так что каждый блок доступа собирает пакеты полезной нагрузки, относящиеся к соответствующему изображению видеоконтента, может быть выполнен с возможностью поиска пакетов управления таймингом, помещенных в последовательность пакетов, подразделения блоков доступа на блоки декодирования в пакетах управления таймингом, так что по меньшей мере некоторые блоки доступа подразделены на два или более блока декодирования, получения из каждого пакета управления таймингом времени извлечения буфера декодера для блока декодирования, пакеты полезной нагрузки которого следуют за соответствующим пакетом управления таймингом в последовательности пакетов, и извлечения блоков декодирования из буфера декодера, запланированных в моменты времени, определенные временами извлечения буфера декодера для блоков декодирования.Accordingly, a decoder for decoding a video data stream having video content encoded therein in units of sub-parts (see coding tree blocks, sub-pictures or slices) of images, with each sub-part respectively encoded into one or more payload packets (see .VCL NAL units) sequence of packets (NAL units) of the video data stream, the sequence of packets is divided into a sequence of access units, so that each access unit collects payload packets related to the corresponding video content image, can be configured to search for timing control packets placed in a sequence of packets, subdividing access blocks into decode blocks in timing control packets such that at least some access blocks are subdivided into two or more decode blocks, deriving from each timing control packet the decoder buffer extraction time for the decode block, payload packets whose loads follow the corresponding timing control packet in the sequence of packets, and decode block extractions from the decoder buffer scheduled at times determined by the decoder buffer extraction times for the decode blocks.

Поиск пакетов управления таймингом может включать в себя декодер, проверяющий заголовок блока NAL и синтаксический элемент, содержащийся там, а именно, nal_unit_type. Если значение последнего флага равно некоторому значению, т.е. в соответствии с приведенными выше примерами, 124, то пакет, проверяемый в настоящее время, является пакетом управления таймингом. То есть, пакет управления таймингом содержал бы или передавал информацию, объясненную выше по отношению к буферизации под-изображения псевдо-кода, а также subpic_timing. То есть, пакеты управления таймингом могут передавать или определять исходные задержки удаления CPB для декодера или определять, сколько тактов синхронизации ждать после удаления из CPB соответствующего блока декодирования.The search for timing control packets may include a decoder examining the NAL unit header and the syntax element contained there, namely nal_unit_type. If the value of the last flag is equal to some value, i.e. according to the examples above, 124, then the packet currently being checked is the timing control packet. That is, the timing control packet would contain or convey the information explained above with respect to pseudo-code sub-picture buffering as well as subpic_timing. That is, the timing control packets may convey or determine the initial CPB removal delays for the decoder, or determine how many clock cycles to wait after the corresponding decoding block is removed from the CPB.

Чтобы допустить повторяющуюся передачу пакетов управления таймингом без непреднамеренного дополнительного деления блока доступа на дополнительные блоки декодирования, флаг в пакетах управления таймингом может явно сигнализировать, участвует ли текущий пакет управления таймингом в подразделении блока доступа на блоки кодирования, или нет (сравните decoding_unit_start_flag = 1, указывающий начало блока декодирования, и decoding_unit_start_flag = 0, сигнализирующий противоположное обстоятельство).To allow repeated transmission of timing control packets without inadvertently further dividing the access unit into additional decoding units, a flag in the timing control packets may explicitly signal whether the current timing control packet participates in the division of the access unit into coding units or not (compare decoding_unit_start_flag = 1 indicating decoding unit start, and decoding_unit_start_flag = 0, signaling the opposite).

Аспект использования информации идентификации фрагмента изображения, относящейся к помещенному блоку декодирования, отличается от аспекта использования пакетов управления таймингом, относящихся к помещенному блоку декодирования, в том, что пакеты идентификации фрагмента изображения помещены в поток данных. Вышеупомянутые пакеты управления таймингом могут дополнительно быть помещены в поток данных, или времена извлечения буфера декодера могут быть переданы вместе с объясненной ниже информацией идентификации фрагмента изображения в том же самом пакете обычно. Соответственно, подробности, представленные в приведенной выше секции, могут быть использованы, чтобы разъяснить проблемы в описании ниже.The use aspect of the sub-picture identification information related to the placed decoding unit differs from the use aspect of the timing control packets related to the placed decoding unit in that the sub-picture identification packets are placed in the data stream. The above timing control packets may additionally be placed in the data stream, or the decoder buffer extraction times may be transmitted along with the sub-picture identification information explained below in the same packet normally. Accordingly, the details provided in the above section can be used to clarify the issues in the description below.

Дополнительный аспект настоящего описания, получаемый из вышеописанных вариантов осуществления, показывает поток видеоданных, имеющий видеоконтент, закодированный в нем, использующий предсказательное и энтропийное кодирование, в единицах слайсов, на которые изображения видеоконтента пространственно подразделены, использующий порядок кодирования среди слайсов с ограничивающими предсказаниями предсказательного кодирования и/или энтропийного кодирования ко внутренней части фрагментов изображения, на которые изображения видеоконтента пространственно подразделены, где последовательность слайсов в порядке кодирования пакетируется в пакеты полезной нагрузки последовательности пакетов (блоков NAL) потока видеоданных в порядке кодирования, при этом последовательность пакетов разделена на последовательность блоков доступа, так что каждый блок доступа собирает пакеты полезной нагрузки, пакетированные в нем в слайсы, относящиеся к соответствующему изображению видеоконтента, где последовательность пакетов имеет пакеты идентификации фрагмента изображения, помещенные туда, идентифицирующие фрагменты изображения (потенциально только один), которые перекрыты слайсами (потенциально только одним), пакетированные в один или более пакетов полезной нагрузки, непосредственно следующие за пакетом идентификации фрагмента изображения в последовательности пакетов.A further aspect of the present description, derived from the above embodiments, shows a video data stream having video content encoded therein, using predictive and entropy coding, in units of slices into which images of the video content are spatially subdivided, using an encoding order among slices with predictive encoding limiting predictions, and /or entropy encoding to the interior of the image fragments into which the video content images are spatially subdivided, where the sequence of slices in the order of encoding is packaged into payload packets of the sequence of packets (NAL units) of the video data stream in the order of encoding, while the sequence of packets is divided into a sequence of access blocks, so that each access unit collects the payload packets packaged in it into slices related to the corresponding image of the video content, where the sequence packets has the sub-picture identification packets placed there, identifying the sub-pictures (potentially only one) that are overlapped by slices (potentially only one), packaged in one or more payload packets immediately following the sub-picture identification packet in the sequence of packets.

См., например, непосредственно предшествующую фигуру, показывающую поток данных. Пакеты 124a и 124b теперь представят пакеты идентификации фрагмента изображения. Либо посредством явной сигнализации (сравните single_slice_flag = 1), либо по соглашению, пакет идентификации фрагмента изображения может лишь идентифицировать фрагменты изображения, которые перекрыты слайсами, пакетированными в непосредственно следующий пакет 122a полезной нагрузки. Альтернативно, путем явной сигнализации или по соглашению, пакет 124a идентификации фрагмента изображения может идентифицировать фрагменты изображения, которые перекрыты слайсами, пакетированными в один или более пакетов полезной нагрузки, непосредственно следующие за соответствующим пакетом 124a идентификации фрагмента изображения в последовательности пакетов, до более раннего из окончания 130b текущего блока 120 доступа и начала следующего блока 128b декодирования, соответственно. См., например, Фиг.35: если каждый слайс 118a-d1-3 был отдельно пакетирован в соответствующий пакет 122a-d1-3, с подразделением на блоки декодирования такие, что пакеты сгруппированы в три блока декодирования в соответствии с {122a1-3}, {122b1-3} и {122c1-3, 122d1-3}, то слайсы {118c1-3, 118d1-3} пакетируются в пакеты {122c1-3, 122d1-3} третьего блока декодирования, например, фрагменты 112c и 112d изображения перекрытия и соответствующий префикс слайса указывали бы, например, при обращении к полному блоку декодирования, «c» и «d», т.е. эти фрагменты 112c и 112d изображения.See, for example, the immediately preceding figure showing the flow of data. Packets 124a and 124b will now present sub-picture identification packets. Either by explicit signaling (cf. single_slice_flag = 1) or by convention, a slice identification packet can only identify slices that are overlapped by slices packaged in the immediately following payload packet 122a. Alternatively, by explicit signaling or by convention, the sub-picture identification packet 124a may identify the sub-pictures that are overlapped by slices packaged in one or more payload packets immediately following the corresponding sub-picture identification packet 124a in the packet sequence, up to the earlier of the end. 130b of the current access block 120 and the beginning of the next decoding block 128b, respectively. See, for example, Fig. 35: if each slice 118a-d 1-3 was separately packetized into a corresponding packet 122a-d 1-3 , subdivided into decoding blocks such that the packets are grouped into three decoding blocks according to {122a 1-3 }, {122b 1-3 } and {122c 1-3 , 122d 1-3 }, then slices {118c 1-3 , 118d 1-3 } are bundled into packets {122c 1-3 , 122d 1-3 } of the third decoding block, for example, the overlay image tiles 112c and 112d and the corresponding slice prefix would indicate, for example, when referring to the complete decoding block, "c" and "d", i.e. these fragments 112c and 112d of the image.

Таким образом, сетевой объект, упомянутый дополнительно ниже, может использовать эту явную сигнализацию или соглашение, чтобы корректно связать каждый пакет идентификации фрагмента изображения с одним или более пакетами полезной нагрузки, непосредственно следующими за пакетом идентификации в последовательности пакетов. Способ, с помощью которого идентификация может быть сигнализирована, был примерно описан выше с помощью subpic_tile_info псевдо-кода. Связанные пакеты полезной нагрузки были упомянуты выше как «снабженные префиксом слайсы». Естественно, пример может быть изменен. Например, синтаксические элементы «tile_priority» могут быть оставлены в стороне. Кроме того, порядок среди синтаксических элементов может быть переключен, и дескриптор, касающийся возможных длин в битах, и принципы кодирования синтаксических элементов являются лишь иллюстративными.Thus, the network entity, mentioned further below, can use this explicit signaling or convention to correctly associate each sub-picture identification packet with one or more payload packets immediately following the identification packet in the packet sequence. The way in which an identification can be signaled has been roughly described above with the subpic_tile_info pseudo-code. Associated payload packets have been referred to above as "prefixed slices". Naturally, the example can be changed. For example, the "tile_priority" syntax elements can be left out. In addition, the order among the syntax elements can be switched, and the descriptor regarding the possible bit lengths and encoding principles of the syntax elements are only illustrative.

Сетевой объект, который принимает поток видеоданных (т.е. поток видеоданных, имеющий видеоконтент, закодированный в нем, использующий предсказательное и энтропийное кодирование, в единицах слайсов, на которые изображения видеоконтента пространственно подразделены, использующий порядок кодирования среди слайсов, с ограничивающими предсказаниями предсказательного кодирования и/или энтропийного кодирования ко внутренней части фрагментов изображения, на которые изображения видеоконтента пространственно подразделены, где последовательность слайсов в порядке кодирования пакетирована в пакеты полезной нагрузки последовательности пакетов (блоков NAL) потока видеоданных в порядке кодирования, при этом последовательность пакетов разделена на последовательность блоков доступа, так что каждый блок доступа собирает пакеты полезной нагрузки, пакетированные в нем в слайсы, относящиеся к соответствующему изображению видеоконтента, где последовательность пакетов имеет пакеты идентификации фрагмента изображения, помещенные туда), может быть выполнена с возможностью идентификации, на основе пакетов идентификации фрагмента изображения, фрагментов изображения, которые перекрыты слайсами, пакетированными в один или более пакетов полезной нагрузки, непосредственно следующие за соответствующим пакетом идентификации фрагмента изображения в последовательности пакетов. Сетевой объект может использовать результат идентификации для того, чтобы выбрать задачи передачи. Например, сетевой объект может обрабатывать различные фрагменты изображения с различным приоритетом для воспроизведения. Например, в случае потери пакета те пакеты полезной нагрузки, относящиеся к фрагментам изображения более высокого приоритета, могут быть предпочтительными для повторной передачи по сравнению с пакетами полезной нагрузки, относящимися к фрагментам изображения более низкого приоритета. То есть, сетевой объект может сначала запросить повторную передачу потерянных пакетов полезной нагрузки, относящихся к фрагментам изображения более высокого приоритета. Только в случае достаточного оставшегося времени (в зависимости от скорости передачи) сетевой объект переходит к запросу повторной передачи потерянных пакетов полезной нагрузки, относящихся к фрагментам изображения более низкого приоритета. Сетевой объект может, однако, также быть блоком воспроизведения, который способен назначать фрагменты изображения или пакеты полезной нагрузки, относящиеся к определенным фрагментам изображения, различным экранам.A network entity that receives a video stream (i.e., a video stream having video content encoded therein using predictive and entropy coding, in units of slices into which video content images are spatially subdivided, using coding order among slices, with predictive coding limiting predictions and/or entropy encoding to the interior of the sub-images into which video content images are spatially subdivided, where a sequence of slices in coding order is packetized into payload packets of a sequence of video data stream packets (NAL units) in coding order, wherein the sequence of packets is divided into a sequence of access blocks , so that each access unit collects payload packets packaged in it into slices related to the corresponding image of the video content, where the sequence of packets has fragment identification packets from fragments placed there) can be configured to identify, based on sub-picture identification packets, sub-pictures that are overlapped by slices packaged in one or more payload packets immediately following the corresponding sub-picture identification packet in the burst sequence. The network entity may use the identification result to select transmission tasks. For example, a network object may process different sub-images with different playback priorities. For example, in the event of a packet loss, those payload packets related to higher priority tile may be preferred for retransmission over payload packets related to lower priority tile. That is, the network entity may first request retransmission of lost payload packets related to higher priority image tiles. Only if there is sufficient time remaining (depending on the transmission rate) does the network entity proceed to request retransmission of lost payload packets related to sub-images of lower priority. The network entity may, however, also be a renderer that is capable of assigning sub-pictures or payload packets related to certain sub-pictures to different screens.

Что касается аспекта использования помещенной информации области интереса, следует отметить, что пакеты ROI, упомянутые ниже, могли бы сосуществовать с вышеупомянутыми пакетами управления таймингом и/или пакетами идентификации фрагмента изображения, либо путем объединения их информационного контента с общими пакетами, как описано выше по отношению к префиксам слайса, либо в форме отдельных пакетов.With regard to the aspect of using the placed region of interest information, it should be noted that the ROI packets mentioned below could coexist with the above mentioned timing control and/or sub-picture identification packets, either by combining their information content with common packets, as described above with respect to to slice prefixes, or in the form of separate packets.

Аспект использования помещенной информации области интереса, как описано выше, показывает, другими словами, поток видеоданных, имеющий видеоконтент, закодированный в нем, использующий предсказательное и энтропийное кодирование, в единицах слайсов, на которые изображения видеоконтента пространственно подразделены, использующий порядок кодирования среди слайсов, с ограничивающими предсказаниями предсказательного кодирования и/или энтропийного кодирования ко внутренней части фрагментов изображения, на которые изображения видеоконтента разделены, где последовательность слайсов в порядке кодирования пакетирована в пакеты полезной нагрузки последовательности пакетов (блоков NAL) потока видеоданных в порядке кодирования, при этом последовательность пакетов разделена на последовательность блоков доступа, так что каждый блок доступа собирает пакеты полезной нагрузки, пакетированные в нем в слайсы, относящиеся к соответствующему изображению видеоконтента, где последовательность пакетов имеет пакеты ROI, помещенные туда, идентифицирующие фрагменты изображений, которые принадлежат ROI изображений, соответственно.The aspect of using placed region of interest information as described above shows, in other words, a video data stream having video content encoded in it using predictive and entropy coding, in units of slices into which video content images are spatially subdivided using coding order among slices, with limiting predictions of predictive coding and/or entropy coding to the interior of the sub-images into which video content images are divided, where a sequence of slices in coding order is packetized into payload packets of a sequence of packets (NAL units) of a video stream in coding order, wherein the sequence of packets is divided into a sequence of access units, such that each access unit collects payload packets packaged therein into slices related to the corresponding video content image, where the sequence of packets has pack The ROI sets placed there identifying the image fragments that belong to the image ROI, respectively.

Что касается пакетов ROI, подобные комментарии действительны, как и те, предоставленные ранее по отношению к пакетам идентификации фрагмента изображения: пакеты ROI могут идентифицировать фрагменты изображений, принадлежащих ROI изображения, лишь среди тех фрагментов изображения, которые перекрыты слайсами, содержащимися в одном или более пакетах полезной нагрузки, к которым соответствующий пакет ROI относится путем непосредственного предшествования одному или более пакетам полезной нагрузки, как описано выше по отношению к «снабженным префиксом слайсам».With respect to ROI packets, similar comments are valid as those provided earlier with respect to image fragment identification packets: ROI packets can only identify image fragments belonging to an image ROI among those image fragments that are overlapped by slices contained in one or more packets. payloads to which the corresponding ROI packet refers by immediately preceding one or more payload packets, as described above with respect to "prefixed slices".

Пакеты ROI могут допускать идентификацию более чем одной ROI на снабженный префиксом слайс с идентификацией связанных фрагментов изображения для каждой из этих ROI (c.p. num_rois_minus1)). Затем для каждой ROI может быть передан приоритет, разрешающий размещение ROI в терминах приоритета (c.p. roi_priority[ i ]). Чтобы разрешить «отслеживание» ROI с течением времени в ходе последовательности изображений видео, каждая ROI может быть проиндексирована индексом ROI, так что ROI, указанные в пакетах ROI, могут быть связаны друг с другом за/через границы изображения, т.е. во времени (c.p. roi_id[ i ]).ROI packets may allow the identification of more than one ROI per prefixed slice, with the identification of associated sub-pictures for each of these ROIs (c.p. num_rois_minus1)). A priority can then be passed for each ROI, allowing the placement of the ROI in terms of priority (c.p. roi_priority[ i ]). To allow "tracking" of an ROI over time over the course of a sequence of video images, each ROI can be indexed with an ROI index so that the ROIs specified in the ROI packets can be linked to each other beyond/across image boundaries, i.e. in time (c.p. roi_id[ i ]).

Сетевой объект, который принимает поток видеоданных (т.е. поток видеоданных, имеющий видеоконтент, закодированный в нем, использующий предсказательное и энтропийное кодирование, в единицах слайсов, на которые изображения видеоконтента пространственно подразделены, использующий порядок кодирования среди слайсов, с ограничивающими предсказаниями предсказательного кодирования ко внутренней части фрагментов изображения, на которые изображения видеоконтента разделены, при этом продолжая вероятностную адаптацию энтропийного кодирования по всем слайсам, где последовательность слайсов в порядке кодирования пакетирована в пакеты полезной нагрузки последовательности пакетов (блоков NAL) потока видеоданных в порядке кодирования, при этом последовательность пакетов разделена на последовательность блоков доступа, так что каждый блок доступа собирает пакеты полезной нагрузки, пакетированные в нем в слайсы, относящиеся к соответствующему изображению видеоконтента), может быть выполнена с возможностью идентификации, на основе пакетов идентификации фрагмента изображения, пакетов, пакетирующих слайсы, которые перекрывают фрагменты изображения, которые принадлежат ROI изображений.A network entity that receives a video stream (i.e., a video stream having video content encoded therein using predictive and entropy coding, in units of slices into which video content images are spatially subdivided, using coding order among slices, with predictive coding limiting predictions to the inside of the image fragments into which the video content images are divided, while continuing the probabilistic adaptation of entropy coding across all slices, where the sequence of slices in coding order is packaged into payload packets of the sequence of packets (NAL units) of the video data stream in coding order, while the sequence of packets divided into a sequence of access units such that each access unit collects payload packets packaged therein into slices related to a corresponding video content image) may be configured to identification, based on image fragment identification packets, packets that package slices that overlap image fragments that belong to the image ROI.

Сетевой объект может использовать информацию, переданную пакетом ROI, способом, подобным тому, как объяснено выше в этом предыдущем разделе, касающемся пакетов идентификации фрагмента изображения.The network entity may use the information conveyed by the ROI packet in a manner similar to that explained above in this previous section regarding sub-picture identification packets.

Что касается текущего раздела, а также предыдущего раздела, следует отметить, что любой сетевой объект, такой как MANE или декодер, способен определить, какой фрагмент или фрагменты изображения перекрыты слайсом или слайсами пакета полезной нагрузки, в настоящее время проверяемого, просто путем опроса порядка слайсов изображений и опроса прогресса части текущего изображения, которое эти слайсы покрывают, относительно положения фрагментов изображения на изображении, что может быть явно сигнализировано в потоке данных, как объяснено выше, или может быть известно кодеру и декодеру по соглашению. Альтернативно, каждый слайс (за исключением первого в изображении в порядке сканирования) может быть снабжен указанием/индексом (slice_address, измеренный в единицах блоков дерева кодирования) первого блока кодирования (например, CTB) один и тот же относится к (тем же кодам), так что декодер может поместить каждый слайс (его восстановление) в изображение от этого первого блока кодирования в направлении порядка слайсов. Соответственно, этого может быть достаточно, если вышеупомянутые пакеты информации фрагментов изображения лишь содержат индекс первого фрагмента изображения (first_tile_id_in_prefixed_slices), перекрытого любым слайсом связанного одного или более пакетов полезной нагрузки, непосредственно следующих за соответствующим пакетом идентификации фрагмента изображения, поскольку сетевому объекту ясно при встрече следующего пакета идентификации фрагмента изображения с последовательным расположением, что если индекс, переданный последним пакетом идентификации фрагмента изображения, отличается от предыдущего больше, чем на один, то пакеты полезной нагрузки между этими двумя пакетами идентификации фрагмента изображения покрывают фрагменты изображения, имеющие индекс фрагмента изображения между ними. Это является истинным, если, как упомянуто выше, как подразделение фрагментов изображения, так и подразделение блоков кодирования основаны, например, на по-строчном/по-столбцовом подразделении, имеющим растровый порядок сканирования, определенный среди них, который является, как для фрагментов изображения, так и для блоков кодирования, построчным, например, т.е. индекс фрагмента изображения увеличивается в этом растровом порядке сканирования также, как и слайсы следуют друг за другом в соответствии с порядком слайсов согласно этому растровому порядку сканирования среди блоков кодирования.Regarding the current section, as well as the previous section, it should be noted that any network entity, such as a MANE or a decoder, is able to determine which image fragment or fragments are covered by the slice or slices of the payload packet currently being examined, simply by polling the slice order. images and interrogating the progress of the portion of the current image these slices cover with respect to the position of the image tiles in the image, which may be explicitly signaled in the data stream as explained above, or may be known to the encoder and decoder by convention. Alternatively, each slice (except the first one in the picture in the scan order) can be provided with an indication/index (slice_address, measured in coding tree block units) of the first coding block (e.g. CTB) the same refers to (the same codes), so that the decoder can place each slice (its recovery) in the picture from this first coding block in the slice order direction. Accordingly, it may be sufficient if the aforementioned tile information packets only contain the index of the first tile (first_tile_id_in_prefixed_slices) overlapped by any slice of the associated one or more payload packets immediately following the corresponding tile identification packet, since it is clear to the network entity upon encountering the next sequencing sub-picture identification packet such that if the index transmitted by the last sub-picture identification packet differs from the previous one by more than one, then the payload packets between the two sub-picture identification packets cover the sub-pictures having a sub-picture index between them. This is true if, as mentioned above, both the sub-image subdivision and the coding unit subdivision are based, for example, on a per-line/per-column subdivision having a raster scan order defined among them, which is, as for sub-images , and for coding blocks, line by line, for example, i.e. the sub-picture index increases in this bitmap scan order as well as the slices follow each other according to the slice order according to this bitmap scan order among the coding blocks.

Аспект сигнализации пакетированного и помещенного заголовка слайса, описанный получаемым из приведенных выше вариантов осуществления, также является комбинируемым с любым из вышеупомянутых аспектов или любой их комбинацией. Ранее явно описанные префиксы слайса, например, в соответствии с версией 2, объединили все эти аспекты. Преимущество настоящего аспекта заключается в возможности формирования данных заголовка слайса более легко доступными для сетевых объектов, поскольку они передаются в автономных пакетах, внешних по отношению к снабженным префиксом слайсам/пакетам полезной нагрузки, и возможна повторяющаяся передача данных заголовка слайса.The packetized and placed slice header signaling aspect described as derived from the above embodiments is also combinable with any of the above aspects or any combination thereof. Previously explicitly described slice prefixes, such as those according to version 2, combined all of these aspects. An advantage of the present aspect is that slice header data can be made more easily accessible to network entities as it is transmitted in stand-alone packets external to the prefixed slices/payload packets, and repeated transmission of slice header data is possible.

Соответственно, дополнительный аспект настоящего описания представляет собой аспект сигнализации пакетированного и помещенного заголовка слайса и может быть, другими словами, рассмотрен как показывающий поток видеоданных, имеющий видеоконтент, закодированный в нем, в единицах под-частей (см. блоки дерева кодирования или слайсы) изображений видеоконтента, при этом каждая под-часть соответственно закодирована в один или более пакетов полезной нагрузки (см. блоки VCL NAL) последовательности пакетов (блоков NAL) потока видеоданных, при этом последовательность пакетов разделена на последовательность блоков доступа, так что каждый блок доступа собирает пакеты полезной нагрузки, относящиеся к соответствующему изображению видеоконтента, где последовательность пакетов помещена в пакеты заголовка слайса (префикс слайса), передающие данные заголовка слайса для, и отсутствующие в, одного или более пакетов полезной нагрузки, которые следуют за соответствующим пакетом заголовка слайса в последовательности пакетов.Accordingly, a further aspect of the present description is an aspect of packetized and placed slice header signaling and can be, in other words, considered as showing a video data stream having video content encoded therein, in units of sub-parts (see coding tree blocks or slices) of pictures. video content, with each sub-part respectively encoded into one or more payload packets (see VCL NAL blocks) of a sequence of packets (NAL units) of the video data stream, with the packet sequence divided into a sequence of access units, such that each access unit collects packets payloads related to the corresponding video content image, where a sequence of packets is placed in slice header packets (slice prefix) carrying slice header data for, and missing from, one or more payload packets that follow the corresponding slice header packet in the sequence packages.

Сетевой объект, который принимает поток видеоданных (т.е. поток видеоданных, имеющий видеоконтент, закодированный в нем, в единицах под-частей (см. блоки дерева кодирования или слайсы) изображений видеоконтента, при этом каждая под-часть соответственно закодирована в один или более пакетов полезной нагрузки (см. блоки VCL NAL) последовательности пакетов (блоков NAL) потока видеоданных, при этом последовательность пакетов разделена на последовательность блоков доступа, так что каждый блок доступа собирает пакеты полезной нагрузки, относящиеся к соответствующему изображению видеоконтента, где последовательность пакетов помещена в пакеты заголовка слайса) может быть выполнена с возможностью чтения заголовка слайса наряду с данными полезной нагрузки для слайсов из пакетов, однако, с получением из пакетов заголовка слайса данных заголовка слайса и пропуском чтения заголовка слайса для одного или более пакетов полезной нагрузки, которые следуют за соответствующим пакетом заголовка слайса в последовательности пакетов, но вместо этого адаптируя заголовок слайса, полученный из пакета заголовка слайса, за которым следует один или более пакетов полезной нагрузки.A network entity that receives a video stream (i.e., a video stream having video content encoded therein, in units of sub-parts (see coding tree blocks or slices) of video content images, with each sub-part respectively encoded into one or more than payload packets (see VCL NAL units) of a sequence of packets (NAL units) of a video data stream, wherein the sequence of packets is divided into a sequence of access units such that each access unit collects payload packets related to the corresponding image of the video content where the sequence of packets is placed into slice header packets) may be configured to read slice header along with payload data for slices from packets, however, obtaining slice header data from slice header packets and skipping slice header reading for one or more payload packets that follow corresponding slice header packet in n sequence of packets, but instead adapting a slice header derived from a slice header packet followed by one or more payload packets.

Как было истинным с вышеупомянутыми аспектами, возможно, чтобы пакеты, здесь пакеты заголовка слайса, также могли иметь функциональность указания любого сетевого объекта, такого как MANE или декодер, начала блока декодирования или начала выполнений одного или более пакетов полезной нагрузки, снабженных префиксом в виде соответствующего пакета. Соответственно, сетевой объект в соответствии с настоящим аспектом может идентифицировать пакеты полезной нагрузки, для которых чтение заголовка пакета должно быть пропущено, на основе вышеупомянутых синтаксических элементов в этом пакете, а именно single_slice_flag, в комбинации с, например, decoding_unit_start_flag, из которых последний флаг делает возможной, как обсуждено выше, повторную передачу копий определенных пакетов заголовка слайса в блоке декодирования. Это является полезным, например, поскольку заголовок слайсов в одном блоке декодирования может меняться вдоль последовательности слайсов, и соответственно, тогда как пакеты заголовка слайса в начале блоков декодирования могут иметь установленный decoding_unit_start_flag (равный единице), пакеты заголовка слайса, расположенные между ними, могут иметь этот флаг не установленным, для того чтобы предотвратить любой сетевой объект от неправильной интерпретации появления этого пакета заголовка слайса в качестве нового блока декодирования.As was true with the above aspects, it is possible that packets, here slice header packets, could also have the functionality of indicating any network entity, such as a MANE or a decoder, the start of a decoding block, or the start of executions of one or more payload packets prefixed with the appropriate package. Accordingly, the network entity according to the present aspect can identify payload packets for which the packet header reading should be skipped based on the aforementioned syntax elements in that packet, namely single_slice_flag, in combination with, for example, decoding_unit_start_flag, of which the last flag makes possible, as discussed above, retransmission of copies of certain slice header packets in the decoding block. This is useful, for example, since the slice header in one decoding unit may change along the sequence of slices, and accordingly, while slice header packets at the beginning of decoding blocks may have decoding_unit_start_flag set (equal to one), slice header packets located between them may have this flag is not set in order to prevent any network entity from misinterpreting the appearance of this slice header packet as a new decoding unit.

Хотя некоторые аспекты были описаны в контексте устройства, ясно, что эти аспекты также представляют описание соответствующего способа, где блок или устройство соответствует шагу способа или отличительному признаку шага способа. Аналогично, аспекты, описанные в контексте шага способа, также представляют описание соответствующего блока или элемента или отличительного признака соответствующего устройства. Некоторые или все из шагов способа могут быть выполнены посредством (или с использованием) аппаратного устройства, как например, микропроцессора, программируемого компьютера или электронной схемы. В некоторых вариантах осуществления некоторый один или более из наиболее важных шагов способа могут быть выполнены таким устройством.Although some aspects have been described in the context of a device, it is clear that these aspects also represent a description of the corresponding method, where the block or device corresponds to a method step or method step feature. Likewise, the aspects described in the context of a method step also provide a description of the corresponding block or element or feature of the corresponding device. Some or all of the steps of the method may be performed by (or using) a hardware device such as a microprocessor, a programmable computer, or an electronic circuit. In some embodiments, some one or more of the most important steps of the method may be performed by such a device.

Изобретательный поток видеоданных может быть сохранен в цифровой запоминающей среде или может быть передан через передающую среду, такую как беспроводная передающая среда или проводная передающая среда, такая как Интернет.The inventive video data stream may be stored in a digital storage medium or may be transmitted over a transmission medium such as a wireless transmission medium or a wired transmission medium such as the Internet.

В зависимости от определенных требований реализации, варианты осуществления изобретения могут быть реализованы аппаратно или программно. Реализация может быть выполнена с использованием цифровой запоминающей среды, например, дискеты, DVD, Blu-Ray, PROM (ППЗУ, программируемое постоянное запоминающее устройство), EPROM (СППЗУ, стираемое программируемое постоянное запоминающее устройство), EEPROM (ЭСППЗУ, электрически стираемое программируемое постоянное запоминающее устройство) или ФЛЭШ памяти, имеющей электронно считываемые управляющие сигналы, хранящиеся на ней, которая взаимодействует (или способна взаимодействовать) с программируемой компьютерной системой, так что соответствующий способ выполняется. Следовательно, цифровая запоминающая среда может быть машиночитаемой.Depending on certain implementation requirements, embodiments of the invention may be implemented in hardware or software. The implementation may be performed using a digital storage medium such as floppy disk, DVD, Blu-Ray, PROM (PROM, Programmable Read Only Memory), EPROM (EPROM, Erasable Programmable Read Only Memory), EEPROM (Electrically Erasable Programmable Read Only Memory). device) or FLASH memory having electronically readable control signals stored therein, which interacts (or is capable of interacting) with a programmable computer system such that the corresponding method is performed. Therefore, the digital storage medium can be machine readable.

Некоторые варианты осуществления в соответствии с изобретением содержат носитель данных, имеющий электронно считываемые управляющие сигналы, которые способны взаимодействовать с программируемой компьютерной системой, так что один из способов, описанных в материалах настоящей заявки, выполняется.Some embodiments in accordance with the invention comprise a storage medium having electronically readable control signals that are capable of interfacing with a programmable computer system such that one of the methods described herein is performed.

Как правило, варианты осуществления настоящего изобретения могут быть реализованы как компьютерный программный продукт с программным кодом, при этом программный код способен выполнять один из способов, когда компьютерный программный продукт выполняется на компьютере. Программный код может, например, храниться на машиночитаемом носителе.Typically, embodiments of the present invention may be implemented as a computer program product with program code, wherein the program code is capable of performing one of the methods when the computer program product is executed on the computer. The program code may, for example, be stored on a computer-readable medium.

Другие варианты осуществления содержат компьютерную программу для выполнения одного из способов, описанных в материалах настоящей заявки, хранимую на машиночитаемом носителе.Other embodiments include a computer program for performing one of the methods described herein, stored on a computer-readable medium.

Другими словами, вариант осуществления изобретательного способа, следовательно, представляет собой компьютерную программу, имеющую программный код для выполнения одного из способов, описанных в материалах настоящей заявки, когда компьютерная программа выполняется на компьютере.In other words, an embodiment of the inventive method is therefore a computer program having program code for performing one of the methods described herein when the computer program is executed on a computer.

Дополнительный вариант осуществления изобретательных способов, следовательно, представляет собой носитель данных (или цифровую запоминающую среду, или машиночитаемый носитель) содержащий записанную на нее компьютерную программу для выполнения одного из способов, описанных в материалах настоящей заявки. Носитель данных, цифровая запоминающая среда или записанная среда, как правило, являются материальными и/или не временными.An additional embodiment of the inventive methods, therefore, is a storage medium (or digital storage medium, or computer-readable medium) containing a computer program recorded thereon for performing one of the methods described herein. The storage medium, digital storage medium, or recorded medium is typically tangible and/or non-temporal.

Дополнительный вариант осуществления изобретательного способа, следовательно, представляет собой поток данных или последовательность сигналов, представляющих компьютерную программу для выполнения одного из способов, описанных в материалах настоящей заявки. Поток данных или последовательность сигналов может, например, быть выполнена с возможностью быть переданной через соединение передачи данных, например, через Интернет.An additional embodiment of the inventive method is therefore a stream of data or a sequence of signals representing a computer program for performing one of the methods described herein. The data stream or signal sequence may, for example, be configured to be transmitted over a data connection, such as the Internet.

Дополнительный вариант осуществления содержит вычислительный средства, например, компьютер, или программируемое логическое устройство, выполненное с возможностью или адаптированное к выполнению одного из способов, описанных в материалах настоящей заявки.An additional embodiment comprises computing means, such as a computer, or a programmable logic device capable of or adapted to perform one of the methods described herein.

Дополнительный вариант осуществления содержит компьютер с установленной на него компьютерной программой для выполнения одного из способов, описанных в материалах настоящей заявки.An additional embodiment includes a computer with a computer program installed on it for performing one of the methods described in the materials of this application.

Дополнительный вариант осуществления, в соответствии с изобретением, содержит устройство или систему, выполненную с возможностью передачи (например, электронно или оптически) компьютерной программы для выполнения одного из способов, описанных в материалах настоящей заявки, в приемник. Приемник может быть, например, компьютером, мобильным устройством, устройством памяти или тому подобным. Устройство или система могут, например, содержать файловый сервер для передачи компьютерной программы в приемник.An additional embodiment, in accordance with the invention, comprises a device or system configured to transmit (eg, electronically or optically) a computer program for performing one of the methods described herein to a receiver. The receiver may be, for example, a computer, a mobile device, a memory device, or the like. The device or system may, for example, include a file server for transferring a computer program to the receiver.

В некоторых вариантах осуществления программируемое логическое устройство (например, программируемая вентильная матрица) может быть использовано для выполнения некоторых или всех из функциональных возможностей способов, описанных в материалах настоящей заявки. В некоторых вариантах осуществления программируемая вентильная матрица может взаимодействовать с микропроцессором, чтобы выполнить один из способов, описанных в материалах настоящей заявки. Как правило, эти способы предпочтительно выполняются любым аппаратным устройством.In some embodiments, a programmable logic device (eg, field programmable gate array) may be used to perform some or all of the functionality of the methods described herein. In some embodiments, the field-programmable gate array may communicate with the microprocessor to perform one of the methods described herein. Generally, these methods are preferably performed by any hardware device.

Заявленное изобретение, в частности, охватывает следующие объекты: The claimed invention, in particular, covers the following objects:

1. Поток видеоданных, имеющий видеоконтент (16), закодированный в нем, в единицах под-частей (24) изображений (18) видеоконтента (16), при этом каждая под-часть (24) соответственно закодирована в один или более пакетов (32) полезной нагрузки последовательности (34) пакетов потока (22) видеоданных, при этом последовательность (34) пакетов разделена на последовательность блоков (30) доступа, так что каждый блок (30) доступа собирает пакеты (32) полезной нагрузки, относящиеся к соответствующему изображению (18) видеоконтента (16), причем последовательность (34) пакетов содержит помещенные в нее пакеты (36) управления таймингом, так что пакеты (36) управления таймингом подразделяют блоки (30) доступа на блоки (38) декодирования, так что по меньшей мере некоторые блоки (30) доступа подразделены на два или более блоков (38) декодирования, при этом каждый пакет (38) управления таймингом сигнализирует время извлечения буфера декодера для блока (38) декодирования, пакеты (32) полезной нагрузки которого следуют за соответствующим пакетом (38) управления таймингом в последовательности (34) пакетов.1. A video data stream having video content (16) encoded in it, in units of sub-parts (24) of images (18) of video content (16), with each sub-part (24) respectively encoded in one or more packets (32 ) payload of a sequence (34) of packets of a stream (22) of video data, wherein the sequence (34) of packets is divided into a sequence of blocks (30) of access, so that each block (30) of access collects packets (32) of the payload related to the corresponding image (18) of the video content (16), wherein the sequence (34) of packets contains the timing control packets (36) placed therein, so that the timing control packets (36) subdivide access blocks (30) into decoding blocks (38), so that at least At least some access blocks (30) are subdivided into two or more decoding blocks (38), with each timing control packet (38) signaling the decoder buffer extraction time for the decoding block (38), payload packets (32) followed by the corresponding timing control packet (38) in the sequence (34) of packets.

2. Поток видеоданных по п. 1, в котором под-части (24) представляют собой слайсы, и каждый пакет (32) полезной нагрузки включает в себя один или более слайсов.2. The video data stream of claim 1, wherein the sub-parts (24) are slices and each payload packet (32) includes one or more slices.

3. Поток видеоданных по п. 2, в котором слайсы содержат независимо декодируемые слайсы и зависимые слайсы, позволяющие, для обработки WPP, декодирование с использованием энтропийного и предсказательного декодирования за границами слайса.3. The video data stream of claim 2, wherein the slices comprise independently decodable slices and dependent slices allowing, for WPP processing, decoding using entropy and predictive decoding beyond slice boundaries.

4. Поток видеоданных по любому из п.п. 1-3, в котором каждый пакет последовательности (34) пакетов может быть назначен точно одному типу пакета из множества типов пакета, при этом пакеты (32) полезной нагрузки и пакеты (36) управления таймингом имеют различные типы пакета, где появления пакетов из множества типов пакета в последовательности (34) пакетов являются предметом определенных ограничений, которые определяют порядок среди типов пакета, которому должны подчиняться пакеты в каждом блоке (30) доступа, так что границы блока доступа являются обнаруживаемыми с использованием ограничений посредством обнаружения экземпляров, где есть возражения ограничениям, и остаются в том же положении в последовательности пакетов, даже если пакеты любого удаляемого типа пакета удалены из потока видеоданных, причем пакеты (32) полезной нагрузки являются неудаляемым типом пакета, а пакеты (36) управления таймингом являются удаляемым типом пакета.4. The stream of video data according to any one of paragraphs. 1-3, in which each packet of the sequence (34) of packets can be assigned to exactly one type of packet from a plurality of packet types, while the payload packets (32) and timing control packets (36) have different packet types, where the occurrences of packets from the set packet types in a sequence (34) of packets are subject to certain constraints that define the order among the packet types that the packets in each access block (30) must obey, such that access block boundaries are discoverable using constraints by detecting instances where there are constraint objections. , and remain in the same position in the packet sequence even if packets of any packet type to be removed are removed from the video stream, payload packets (32) being the non-removable packet type and timing control packets (36) being the packet type to be removed.

5. Поток видеоданных по любому из п.п. 1-4, в котором каждый пакет содержит указывающую тип пакета часть синтаксического элемента.5. The stream of video data according to any one of paragraphs. 1-4, in which each package contains a part of a syntax element indicating the package type.

6. Поток видеоданных по п. 5, в котором указывающая тип пакета часть синтаксического элемента содержит поле типа пакета в заголовке пакета соответствующего пакета, содержимое которого отличается между пакетами полезной нагрузки и пакетами управления таймингом, и для пакетов управления таймингом, поле типа пакета SEI, отличающееся между пакетами управления таймингом с одной стороны, и пакетами SEI другого типа с другой стороны.6. The video data stream according to claim 5, wherein the packet type part of the syntax element contains a packet type field in the packet header of the corresponding packet, the content of which differs between payload packets and timing control packets, and for timing control packets, the SEI packet type field, different between timing control packets on the one hand, and other type SEI packets on the other hand.

7. Кодер для кодирования в поток (22) видеоданных видеоконтента (16) в единицах под-частей (24) изображений (18) видеоконтента (16), с соответствующим кодированием каждой под-части (24) в один или более пакетов (32) полезной нагрузки последовательности (34) пакетов потока (22) видеоданных, так что последовательность (34) пакетов разделена на последовательность блоков (30) доступа, и каждый блок (30) доступа собирает пакеты (32) полезной нагрузки, относящиеся к соответствующему изображению (18) видеоконтента (16), при этом кодер выполнен с возможностью помещать в последовательность (34) пакетов пакеты (36) управления таймингом, так что пакеты (36) управления таймингом подразделяют блоки (30) доступа на блоки (38) декодирования, так что по меньшей мере некоторые блоки (30) доступа подразделены на два или более блоков (38) декодирования, при этом каждый пакет (36) управления таймингом сигнализирует время извлечения буфера декодера для блока (38) декодирования, пакеты (32) полезной нагрузки которого следуют за соответствующим пакетом (36) управления таймингом в последовательности (34) пакетов7. An encoder for encoding video content (16) video data into a stream (22) in units of sub-parts (24) of images (18) of video content (16), with the corresponding encoding of each sub-part (24) into one or more packets (32) payload of a sequence (34) of packets of a stream (22) of video data, so that the sequence (34) of packets is divided into a sequence of blocks (30) of access, and each block (30) of access collects packets (32) of the payload related to the corresponding image (18 ) video content (16), while the encoder is configured to place timing control packets (36) in a sequence (34) of packets, so that timing control packets (36) subdivide access blocks (30) into decoding blocks (38), so that according to at least some access blocks (30) are subdivided into two or more decoding blocks (38), with each timing control packet (36) signaling the decoder buffer extraction time for decoding block (38), payload packets (32) and which is followed by the corresponding timing control packet (36) in the sequence (34) of packets

8. Кодер по п. 7, в котором в материалах настоящей заявки кодер выполнен с возможностью, во время кодирования текущего изображения видеоконтента,8. The encoder according to claim 7, in which, in the materials of the present application, the encoder is configured to, during encoding of the current image of the video content,

кодировать текущую под-часть (24) текущего изображения (18) в текущий пакет (32) полезной нагрузки текущего блока (38) декодирования,encode the current sub-part (24) of the current image (18) into the current packet (32) of the payload of the current decoding block (38),

передавать в потоке данных текущий блок (38) декодирования, снабженный префиксом в виде текущего пакета (36) управления таймингом, с установкой времени извлечения буфера декодера, сигнализируемого текущим пакетом (36) управления таймингом, в первый момент времени; иtransmit in the data stream the current decoding block (38) prefixed with the current timing control packet (36), setting the decoder buffer extraction time signaled by the current timing control packet (36) to the first time point; and

кодировать дополнительную под-часть текущего изображения во второй момент времени, более поздний, чем первый момент времени.encode an additional sub-part of the current picture at a second time later than the first time.

9. Способ кодирования в поток (22) видеоданных видеоконтента (16) в единицах под-частей (24) изображений (18) видеоконтента (16), с соответствующим кодированием каждой под-части (24) в один или более пакетов (32) полезной нагрузки последовательности (34) пакетов потока (22) видеоданных, так что последовательность (34) пакетов разделена на последовательность блоков (30) доступа, и каждый блок (30) доступа собирает пакеты (32) полезной нагрузки, относящиеся к соответствующему изображению (18) видеоконтента (16), при этом способ содержит этап, на котором помещают в последовательность (34) пакетов пакеты (36) управления таймингом, так что пакеты (36) управления таймингом подразделяют блоки (30) доступа на блоки (38) декодирования, так что по меньшей мере некоторые блоки (30) доступа подразделены на два или более блоков (38) декодирования, при этом каждый пакет (36) управления таймингом сигнализирует время извлечения буфера декодера для блока (38) декодирования, пакеты (32) полезной нагрузки которого следуют за соответствующим пакетом (36) управления таймингом в последовательности (34) пакетов.9. Method for encoding video content (16) video data stream (22) in units of sub-parts (24) of images (18) of video content (16), with corresponding encoding of each sub-part (24) into one or more payload packets (32) loads a sequence (34) of packets of a stream (22) of video data, so that a sequence (34) of packets is divided into a sequence of access blocks (30), and each access block (30) collects payload packets (32) related to the corresponding image (18) video content (16), wherein the method comprises the step of placing timing control packets (36) in a sequence (34) of packets, so that timing control packets (36) subdivide access blocks (30) into decoding blocks (38), so that at least some access blocks (30) are subdivided into two or more decoding blocks (38), with each timing control packet (36) signaling the decoder buffer extraction time for decoding block (38), payload packets (32) and which is followed by the corresponding timing control packet (36) in the sequence (34) of packets.

10. Декодер для декодирования потока (22) видеоданных, имеющего видеоконтент (16), закодированный в нем в единицах под-частей (24) изображений (18) видеоконтента (16), при этом каждая под-часть соответственно закодирована в один или более пакетов (32) полезной нагрузки последовательности (34) пакетов потока (22) видеоданных, последовательность (34) пакетов разделена на последовательность блоков (30) доступа, так что каждый блок (30) доступа собирает пакеты (32) полезной нагрузки, относящиеся к соответствующему изображению (18) видеоконтента (16), при этом декодер содержит буфер для буферизации потока видеоданных или восстановления видеоконтента, полученного оттуда посредством декодирования потока видеоданных, и выполненный с возможностью поиска пакетов (36) управления таймингом, помещенных в последовательность пакетов, подразделения блоков (30) доступа на блоки (38) декодирования в пакетах (36) управления таймингом, так что по меньшей мере некоторые блоки доступа подразделены на два или более блоков декодирования, и опустошения буфера в единицах блоков декодирования.10. A decoder for decoding a stream (22) of video data having video content (16) encoded in units of sub-parts (24) of images (18) of video content (16), with each sub-part respectively encoded in one or more packets (32) payload of a sequence (34) of packets of a stream (22) of video data, a sequence (34) of packets is divided into a sequence of access blocks (30), so that each access block (30) collects payload packets (32) related to the corresponding image (18) video content (16), while the decoder contains a buffer for buffering the video data stream or recovering the video content obtained from there by decoding the video data stream, and configured to search for timing control packets (36) placed in a packet sequence, subdivisions of blocks (30) access to decoding blocks (38) in timing control packets (36), so that at least some access blocks are subdivided into two or and more decoding blocks, and buffer underruns in units of decoding blocks.

11. Декодер по п. 10, в котором декодер выполнен с возможностью при поиске пакетов (36) управления таймингом проверять в каждом пакете указывающую тип пакета часть синтаксического элемента и, если значение указывающей тип пакета части синтаксического элемента равно предопределенному значению, распознавать соответствующий пакет как пакет (36) управления таймингом.11. The decoder according to claim 10, wherein the decoder is configured, when searching for timing control packets (36), to check in each packet the packet type-indicating part of the syntax element and, if the value of the packet-type-indicating part of the syntax element is equal to a predefined value, to recognize the corresponding packet as timing control package (36).

12. Способ декодирования потока (22) видеоданных, имеющего видеоконтент (16), закодированный в нем в единицах под-частей (24) изображений (18) видеоконтента (16), при этом каждая под-часть соответственно закодирована в один или более пакетов (32) полезной нагрузки последовательности (34) пакетов потока (22) видеоданных, последовательность (34) пакетов разделена на последовательность блоков (30) доступа, так что каждый блок (30) доступа собирает пакеты (32) полезной нагрузки, относящиеся к соответствующему изображению (18) видеоконтента (16), при этом способ использует буфер для буферизации потока видеоданных или восстановления видеоконтента, полученного из него посредством декодирования потока видеоданных, и содержит этапы, на которых осуществляют поиск пакетов (36) управления таймингом, помещенных в последовательность пакетов, подразделяют блоки (30) доступа на блоки (38) декодирования в пакетах (36) управления таймингом, так что по меньшей мере некоторые блоки доступа подразделены на два или более блоков декодирования, и опустошают буфер в единицах блоков декодирования.12. A method for decoding a stream (22) of video data having video content (16) encoded in units of sub-parts (24) of images (18) of video content (16), with each sub-part respectively encoded in one or more packets ( 32) the payload of a sequence (34) of packets of a stream (22) of video data, the sequence (34) of packets is divided into a sequence of blocks (30) of access, so that each block (30) of access collects packets (32) of the payload related to the corresponding image ( 18) video content (16), wherein the method uses a buffer for buffering the video data stream or restoring the video content obtained from it by decoding the video data stream, and comprises the steps of searching for the timing control packets (36) placed in the packet sequence, subdivide the blocks (30) accesses to decoding blocks (38) in timing control packets (36), so that at least some access blocks are subdivided into two or more decoding blocks, and empty the buffer in units of decoding blocks.

13. Сетевой объект для передачи потока (22) видеоданных, имеющего видеоконтент (16), закодированный в нем в единицах под-частей (24) изображений (18) видеоконтента (16), при этом каждая под-часть соответственно закодирована в один или более пакетов (32) полезной нагрузки последовательности (34) пакетов в потоке (22) видеоданных, при этом последовательность (34) пакетов разделена на последовательность блоков (30) доступа, так что каждый блок (30) доступа собирает пакеты (32) полезной нагрузки, относящиеся к соответствующему изображению (18) видеоконтента (16), при этом декодер выполнен с возможностью поиска пакетов (36) управления таймингом, помещенных в последовательность пакетов, подразделения блоков доступа на блоки декодирования в пакетах (36) управления таймингом, так что по меньшей мере некоторые блоки (30) доступа подразделены на два или более блоков (38) декодирования, получения из каждого пакета (36) управления таймингом времени извлечения буфера декодера для блока (38) декодирования, пакеты (32) полезной нагрузки которого следуют за соответствующим пакетом (36) управления таймингом в последовательности (34) пакетов, и выполнения передачи потока видеоданных, зависимого от времен извлечения буфера декодера для блоков (38) декодирования.13. A network object for transmitting a stream (22) of video data having video content (16) encoded in it in units of sub-parts (24) of images (18) of video content (16), with each sub-part respectively encoded into one or more packets (32) of the payload of a sequence (34) of packets in the stream (22) of video data, while the sequence (34) of packets is divided into a sequence of blocks (30) of access, so that each block (30) of access collects packets (32) of the payload, related to the corresponding image (18) of the video content (16), wherein the decoder is configured to search for timing control packets (36) placed in a sequence of packets, dividing access blocks into decoding blocks in timing control packets (36), so that at least some blocks (30) of access are subdivided into two or more blocks (38) of decoding, receiving from each packet (36) timing control of decoder buffer extraction time for block (38) decoder , the payload packets (32) of which follow the corresponding timing control packet (36) in the packet sequence (34), and performing the transmission of a video data stream dependent on the decoder buffer extraction times for the decoding units (38).

14. Способ передачи потока (22) видеоданных, имеющего видеоконтент (16), закодированный в нем в единицах под-частей (24) изображений (18) видеоконтента (16), при этом каждая под-часть соответственно закодирована в один или более пакетов (32) полезной нагрузки последовательности (34) пакетов в потоке (22) видеоданных, при этом последовательность (34) пакетов разделена на последовательность блоков (30) доступа, так что каждый блок (30) доступа собирает пакеты (32) полезной нагрузки, относящиеся к соответствующему изображению (18) видеоконтента (16), при этом способ содержит этапы, на которых осуществляют поиск пакетов (36) управления таймингом, помещенных в последовательность пакетов, подразделяют блоки доступа на блоки декодирования в пакетах (36) управления таймингом, так что по меньшей мере некоторые блоки (30) доступа подразделены на два или более блоков (38) декодирования, получают из каждого пакета (36) управления таймингом время извлечения буфера декодера для блока (38) декодирования, пакеты (32) полезной нагрузки которого следуют за соответствующим пакетом (36) управления таймингом в последовательности (34) пакетов, и выполняют передачу потока видеоданных, зависимого от времен извлечения буфера декодера для блоков (38) декодирования.14. A method for transmitting a stream (22) of video data having video content (16) encoded in it in units of sub-parts (24) of images (18) of video content (16), with each sub-part respectively encoded in one or more packets ( 32) payload of a sequence (34) of packets in a stream (22) of video data, wherein the sequence (34) of packets is divided into a sequence of access blocks (30), so that each access block (30) collects payload packets (32) related to corresponding image (18) of the video content (16), wherein the method comprises the steps of searching for timing control packets (36) placed in a sequence of packets, subdividing access blocks into decoding blocks in timing control packets (36), so that at least At least some access blocks (30) are subdivided into two or more decoding blocks (38), receive from each timing control packet (36) the decoder buffer extraction time for the decoder block (38). the payload packets (32) of which follow the corresponding timing control packet (36) in the packet sequence (34) and perform the transmission of a video data stream dependent on decoder buffer extraction times for decoding units (38).

15. Поток видеоданных, имеющий видеоконтент (16), закодированный в нем, использующий предсказательное и энтропийное кодирование в единицах слайсов (24), на которые изображения (18) видеоконтента пространственно подразделены, использующий порядок кодирования среди слайсов (24) с ограничительными предсказаниями предсказательного кодирования и/или энтропийного кодирования ко внутренней части фрагментов (70) изображения, на которые изображения видеоконтента пространственно подразделены, где последовательность слайсов (24) пакетирована в пакеты (32) полезной нагрузки последовательности пакетов потока видеоданных в порядке кодирования, при этом последовательность (34) пакетов подразделена на последовательность блоков (30) доступа, так что каждый блок доступа собирает пакеты (32) полезной нагрузки, пакетированные в нем в слайсы (24), относящиеся к соответствующему изображению (18) видеоконтента (16), где последовательность (34) пакетов имеет пакеты (72) идентификации фрагмента изображения, помещенные в ней между пакетами полезной нагрузки одного блока доступа, идентифицирующего один или более фрагментов (70) изображения, перекрытых каким-либо слайсом (24), пакетированным в один или более пакетов (32) полезной нагрузки, непосредственно следующие за соответствующим пакетом (72) идентификации фрагмента изображения в последовательности (34) пакетов.15. A video data stream having video content (16) encoded therein, using predictive and entropy coding in units of slices (24) into which video content images (18) are spatially subdivided, using coding order among slices (24) with restrictive predictions of predictive coding and/or entropy encoding to the interior of the fragments (70) of the image, into which the video content images are spatially subdivided, where the sequence of slices (24) is packaged into payload packets (32) of the sequence of video data stream packets in coding order, while the sequence (34) of packets subdivided into a sequence of access blocks (30), so that each access unit collects payload packets (32) packaged therein into slices (24) related to the corresponding image (18) of video content (16), where the sequence (34) of packets has packets (72) identifying a fragment of the image, according to placed in it between payload packets of one access block, identifying one or more fragments (70) of the image overlapped by any slice (24) packaged in one or more payload packets (32) immediately following the corresponding packet (72) identification of an image fragment in a sequence (34) of packets.

16. Поток видеоданных по п. 15, в котором пакеты (72) идентификации фрагмента изображения идентифицируют один или более слайсов (70), перекрытых каким-либо слайсом (24), пакетированным в точно непосредственно следующий пакет полезной нагрузки.16. The video data stream of claim 15, wherein the subpicture identification packets (72) identify one or more slices (70) overlaid by any slice (24) packaged in exactly the next payload packet.

17. Поток видеоданных по п. 15, в котором пакеты (72) идентификации фрагмента изображения идентифицируют один или более фрагментов (70) изображения, перекрытых каким-либо слайсом (24), пакетированным в один или более пакетов (32) полезной нагрузки, непосредственно следующих за соответствующим пакетом (72) идентификации фрагмента изображения в последовательности (34) пакетов, до более раннего из окончания текущего блока (30) доступа и следующего пакета (72) идентификации фрагмента изображения, соответственно, в последовательности (34) пакетов.17. The video data stream according to claim 15, in which the fragment identification packets (72) identify one or more fragments (70) of the image overlapped by any slice (24) packaged in one or more payload packets (32) directly following the respective fragment identification packet (72) in the packet sequence (34), up to the earlier end of the current access block (30) and the next fragment identification packet (72), respectively, in the packet sequence (34).

18. Сетевой объект, выполненный с возможностью приема потока видеоданных по любому из п.п. 15-16, и идентификации, на основе пакетов (72) идентификации фрагмента изображения, фрагментов (70) изображения, которые перекрыты слайсами (24), пакетированными в один или более пакетов (72) полезной нагрузки, непосредственно следующих за соответствующим пакетом (72) идентификации фрагмента изображения в последовательности пакетов.18. A network object configured to receive a video stream according to any one of paragraphs. 15-16 and identifying, based on sub-image identification packets (72), the sub-images (70) that are overlapped by slices (24) packaged in one or more payload packets (72) immediately following the corresponding packet (72) identification of an image fragment in a sequence of packets.

19. Сетевой объект по п. 18, в котором сетевой объект выполнен с возможностью использования результата идентификации для того, чтобы выбрать задачи передачи, относящиеся к потоку видеоданных.19. The network entity of claim 18, wherein the network entity is configured to use the identification result to select transmission tasks related to the video data stream.

20. Сетевой объект по п. 18 или 19, в котором задачи передачи содержат запросы повторной передачи, касающиеся дефектных пакетов.20. The network entity of claim 18 or 19, wherein the transmission tasks comprise retransmission requests regarding defective packets.

21. Сетевой объект по п. 18 или 19, где сетевой объект выполнен с возможностью обработки различных фрагментов (70) изображения с различным приоритетом посредством назначения более высокого приоритета пакетам (72) идентификации фрагмента изображения и пакетам полезной нагрузки, непосредственно следующим за соответствующим пакетом (72) идентификации фрагмента изображения, имеющим слайсы, пакетированные в нем, которые перекрывают фрагменты (70) изображения, идентифицированные соответствующими пакетами идентификации фрагмента изображения, для которых приоритет выше, чем пакетам (72) идентификации фрагмента изображения и пакетам полезной нагрузки, непосредственно следующим за соответствующим пакетом (72) идентификации фрагмента изображения, имеющим слайсы, пакетированные в нем, которые перекрывают фрагменты (70) изображения, идентифицированные соответствующими пакетами идентификации фрагмента изображения, для которых приоритет ниже.21. The network object according to claim 18 or 19, where the network object is configured to process different fragments (70) of the image with different priority by assigning a higher priority to the packets (72) identification of the fragment of the image and payload packets immediately following the corresponding packet ( 72) identifying a sub-picture having slices stacked therein that overlap the sub-pictures (70) identified by corresponding sub-picture identification packets for which priority is higher than the sub-picture identification packets (72) and payload packets immediately following the respective a sub-picture identification packet (72) having slices stacked therein that overlap the sub-pictures (70) identified by corresponding sub-picture identification packets for which the priority is lower.

22. Сетевой объект по п. 21, в котором сетевой объект выполнен с возможностью сначала запросить повторную передачу пакетов полезной нагрузки, имеющих более высокий приоритет, назначенный им, до запрашивания какой-либо повторной передачи пакетов полезной нагрузки, имеющих более низкий приоритет, назначенный им.22. The network entity of claim 21, wherein the network entity is configured to first request retransmission of payload packets having a higher priority assigned to them prior to requesting any retransmission of payload packets having a lower priority assigned to them. .

23. Способ, содержащий этапы, на которых принимают поток видеоданных по любому из п.п. 15-16, и идентифицируют, на основе пакетов (72) идентификации фрагмента изображения, фрагменты (70) изображения, которые перекрыты слайсами (24), пакетированными в один или более пакетов (72) полезной нагрузки, непосредственно следующих за соответствующим пакетом (72) идентификации фрагмента изображения в последовательности пакетов.23. A method comprising the steps of receiving a stream of video data according to any one of paragraphs. 15-16 and identify, based on the fragment identification packets (72), the fragments (70) of the image that are overlapped by slices (24) packaged in one or more payload packets (72) immediately following the corresponding packet (72) identification of an image fragment in a sequence of packets.

24. Поток видеоданных, имеющий видеоконтент (16), закодированный в нем, в единицах под-частей (24) изображений (18) видеоконтента (16), при этом каждая под-часть (24) соответственно закодирована в один или более пакетов (32) полезной нагрузки последовательности (34) пакетов потока (22) видеоданных, при этом последовательность (34) пакетов разделена на последовательность блоков (30) доступа, так что каждый блок (30) доступа собирает пакеты (32) полезной нагрузки, относящиеся к соответствующему изображению (18) видеоконтента (16), где по меньшей мере некоторые блоки доступа имеют последовательность (34), помещенную в пакеты (64) ROI, так что пакеты (64) управления таймингом подразделяют блоки (64) доступа на блоки (38) декодирования, так что по меньшей мере некоторые блоки (30) доступа имеют пакеты (64) ROI, помещенные между пакетами (32) полезной нагрузки, относящимися к изображению соответствующего блока доступа, при этом каждый пакет ROI относится к одному или более следующим пакетам полезной нагрузки в последовательности (34) пакетов, следующих за соответствующим пакетом ROI, и идентифицирующих, перекрывают ли под-части (24), закодированные в один или более пакетов полезной нагрузки, к которым относится соответствующий пакет ROI, область интереса видеоконтента.24. A video data stream having video content (16) encoded in it, in units of sub-parts (24) of images (18) of video content (16), with each sub-part (24) respectively encoded in one or more packets (32 ) payload of a sequence (34) of packets of a stream (22) of video data, wherein the sequence (34) of packets is divided into a sequence of blocks (30) of access, so that each block (30) of access collects packets (32) of the payload related to the corresponding image (18) video content (16), where at least some access blocks have a sequence (34) placed in ROI packets (64), so that timing control packets (64) subdivide access blocks (64) into decoding blocks (38), so that at least some access units (30) have ROI packets (64) placed between payload packets (32) related to the image of the corresponding access unit, with each ROI packet related to one or more following packets payload in the sequence (34) of packets following the corresponding ROI packet and identifying whether the sub-parts (24) encoded in one or more payload packets to which the corresponding ROI packet belongs overlap the video content region of interest.

25. Поток видеоданных по п. 24, в котором под-части представляют собой слайсы, и видеоконтент закодирован в поток видеоданных с использованием предсказательного и энтропийного кодирования с ограничением предсказательного и/или энтропийного кодирования ко внутренней части фрагментов изображения, на которые изображения видеоконтента разделены, причем каждый пакет ROI дополнительно идентифицирует фрагменты изображения, в которых под-части (24), закодированные в каком-либо из одного или более пакетов полезной нагрузки, к которому относится соответствующий пакет ROI, перекрывают область интереса.25. The video data stream of claim 24, wherein the sub-parts are slices and the video content is encoded into the video data stream using predictive and entropy constrained predictive and/or entropy coding to the inside of the sub-images into which the video content images are divided, wherein each ROI packet further identifies sub-images in which sub-parts (24) encoded in any of the one or more payload packets to which the corresponding ROI packet belongs overlap the region of interest.

26. Поток видеоданных по п. 24 или 25, в котором каждый пакет ROI относится исключительно к непосредственно следующему пакету полезной нагрузки.26. The video data stream of claim 24 or 25, wherein each ROI packet relates exclusively to the immediately following payload packet.

27. Поток видеоданных по п. 24 или 25, в котором каждый пакет ROI относится ко всем пакетам полезной нагрузки, непосредственно следующим за соответствующим пакетом ROI в последовательности пакетов до более раннего из окончания блока доступа в котором соответствующий пакет ROI расположен, и следующего пакета ROI, соответственно.27. The video data stream of claim 24 or 25, wherein each ROI packet refers to all payload packets immediately following the corresponding ROI packet in the sequence of packets up to the earlier end of the access block in which the corresponding ROI packet is located and the next ROI packet , respectively.

28. Сетевой объект, выполненный с возможностью приема потока видеоданных по любому из п.п. 24-27, и идентификации, на основе пакетов ROI, ROI видеоконтента.28. A network object configured to receive a video stream according to any one of paragraphs. 24-27, and identifying, based on the ROI packets, the ROI of the video content.

29. Сетевой объект по п. 27, в котором сетевой объект выполнен с возможностью использования результата идентификации для того, чтобы выбрать задачи передачи, относящиеся к потоку видеоданных.29. The network entity of claim 27, wherein the network entity is configured to use the identification result to select transmission tasks related to the video data stream.

30. Сетевой объект по п. 28 или 29, в котором задачи передачи содержат запросы повторной передачи, касающиеся дефектных пакетов.30. The network entity of claim 28 or 29, wherein the transmission tasks comprise retransmission requests regarding defective packets.

31. Сетевой объект по п. 28 или 29, в котором сетевой объект выполнен с возможностью обработки области (70) интереса с увеличенным приоритетом посредством назначения более высокого приоритета пакетам (72) ROI и одному или более пакетам полезной нагрузки, следующим за соответствующим пакетом (72) ROI, к которому относится соответствующий пакет ROI, чей пакет ROI сигнализирует перекрытие области интереса под-частями (24), закодированными в любой из одного или более пакетов полезной нагрузки, к которому соответствующий пакет ROI относится, чем пакетам ROI и одному или более пакетам полезной нагрузки, следующим за соответствующим пакетом (72) ROI, к которому относится соответствующий пакет ROI, чьи пакеты ROI сигнализируют отсутствие перекрытия.31. The network entity according to claim 28 or 29, wherein the network entity is configured to process the area of interest (70) with increased priority by assigning a higher priority to the ROI packets (72) and one or more payload packets following the corresponding packet ( 72) The ROI to which the corresponding ROI packet belongs, whose ROI packet signals the overlap of the region of interest with sub-parts (24) encoded in any one or more payload packets to which the corresponding ROI packet belongs, than to the ROI packets and one or more payload packets following the corresponding ROI packet (72) to which the corresponding ROI packet belongs, whose ROI packets signal a lack of overlap.

32. Сетевой объект по п. 31, в котором сетевой объект выполнен с возможностью сначала запросить повторную передачу пакетов полезной нагрузки, имеющих более высокий приоритет, назначенный им, до запрашивания какой-либо повторной передачи пакетов полезной нагрузки, имеющих более низкий приоритет, назначенный им.32. The network entity of claim 31, wherein the network entity is configured to first request retransmission of payload packets having a higher priority assigned to them prior to requesting any retransmission of payload packets having a lower priority assigned to them. .

33. Способ, содержащий этапы, на которых принимают поток видеоданных по любому из п.п. 23-26, и идентифицируют, на основе пакетов ROI, ROI видеоконтента.33. A method comprising the steps of receiving a stream of video data according to any one of paragraphs. 23-26 and identify, based on the ROI packets, the ROI of the video content.

34. Компьютерная программа, имеющая программный код для осуществления, при выполнении на компьютере, способа по п.п. 9, 12, 14, 23 или 33.34. A computer program having a program code for implementing, when executed on a computer, the method according to PP. 9, 12, 14, 23 or 33.

Описанные выше варианты осуществления являются лишь иллюстративными для принципов настоящего изобретения. Понятно, что модификации и изменения схем и подробностей, описанных в материалах настоящей заявки, будут очевидны специалистам в данной области техники. Следовательно, это является целью быть ограниченным только объемом предстоящей формулы изобретения, а не определенными подробностями, представленными посредством описания и объяснения вариантов осуществления в материалах настоящей заявки.The embodiments described above are merely illustrative of the principles of the present invention. It is clear that modifications and changes in the schemes and details described in the materials of this application will be obvious to experts in this field of technology. Therefore, it is intended to be limited only by the scope of the forthcoming claims, and not by the specific details provided through the description and explanation of the embodiments throughout the present application.

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

[1] Thomas Wiegand, Gary J. Sullivan. Gisle Bjontegaard, Ajay Luthra, «Обзор Стандарта Видеокодирования H.264/AVC», IEEE Trans. Circuits Syst. Video Technol., vol. 13, N7, Июль 2003.[1] Thomas Wiegand, Gary J. Sullivan. Gisle Bjontegaard, Ajay Luthra, "Overview of the H.264/AVC Video Coding Standard", IEEE Trans. Circuits Syst. Video Technol., vol. 13, N7, July 2003.

[2] JCT-VC, «Текстовая спецификация Высокоэффективного Видеокодирования (HEVC) Рабочий Проект 7», JCTVC-I1003, Май 2012.[2] JCT-VC, "High Efficiency Video Coding (HEVC) Textual Specification Working Draft 7", JCTVC-I1003, May 2012.

[3] ISO/IEC 13818-1: Спецификация систем MPEG-2.[3] ISO/IEC 13818-1: Specification for MPEG-2 systems.

[4] IETF RFC 3550 - Транспортный Протокол Реального Времени.[4] IETF RFC 3550 - Real Time Transport Protocol.

[5] Y.-K. Wang и другие., «Формат Полезной Нагрузки RTP для Видео H.264», IETF RFC 6184, http://tools.ietf.org/html/.[5] Y.-K. Wang et al., "RTP Payload Format for H.264 Video", IETF RFC 6184, http://tools.ietf.org/html/.

[6] S. Wenger и другие, «Формат Полезной Нагрузки RTP для Масштабируемого Видеокодирования», IETF RFC 6190, http://tools.ietf.org/html/rfc6190.[6] S. Wenger et al., "RTP Payload Format for Scalable Video Coding", IETF RFC 6190, http://tools.ietf.org/html/rfc6190.

[7] T. Schierl и другие, «Формат Полезной Нагрузки RTP для Высокоэффективного Видеокодирования», IETF интернет черновик, http://datatracker.ietf.org/doc/draft-schierl-payload-rtp-h265/.[7] T. Schierl et al., "RTP Payload Format for High Efficiency Video Coding", IETF Internet Draft, http://datatracker.ietf.org/doc/draft-schierl-payload-rtp-h265/.

Claims (28)

1. Устройство для декодирования потока данных для восстановления видеоконтента, содержащее:1. A device for decoding a data stream for restoring video content, comprising: декодер, выполненный с возможностью извлечения из потока данных последовательности пакетов, представляющих под-части видеоконтента и организованных во множество блоков доступа, при этом каждый из множества блоков доступа относится к изображению видеоконтента и включает в себя один или более блоков декодирования, и каждый блок декодирования включает в себя по меньшей мере один пакет полезной нагрузки, и каждая из под-частей соответствует слайсу, при этом извлечение включает в себя энтропийное декодирование слайсов через границы слайсов в соответствии с методом параллельной обработки волнового фронта;a decoder configured to extract from the data stream a sequence of packets representing sub-parts of the video content and organized into a plurality of access blocks, wherein each of the plurality of access blocks relates to an image of the video content and includes one or more decoding blocks, and each decoding block includes including at least one payload packet, and each of the sub-parts corresponds to a slice, wherein the extraction includes entropy decoding slices across slice boundaries in accordance with a parallel wavefront processing technique; идентификации в каждом из множества блоков доступа одного или более пакетов управления таймингом, соответствующих одному или более блокам декодирования, соответственно, и помещенных в блок доступа, при этом каждый из пакетов управления таймингом указывает время извлечения из буфера декодера, в которое содержимое соответствующего блока декодирования должно быть извлечено из буфера;identification in each of the plurality of access blocks of one or more timing control packets corresponding to one or more decoding blocks, respectively, and placed in the access block, each of the timing control packets indicating the extraction time from the decoder buffer at which the contents of the corresponding decoding block should be retrieved from the buffer; извлечения из буфера содержимого каждого блока декодирования в соответствии со временем извлечения из буфера декодера, связанным с блоком декодирования, при этом каждый пакет из последовательности пакетов включает в себя поле типа пакета в заголовке пакета соответствующего пакета, и поле типа пакета для по меньшей мере одного пакета полезной нагрузки отличается от поля типа пакета для одного или более пакетов управления таймингом; иretrieving the content buffer of each decoding block according to the decoder buffering time associated with the decoding block, wherein each packet from the sequence of packets includes a packet type field in the packet header of the corresponding packet, and a packet type field for at least one packet payload differs from the packet type field for one or more timing control packets; and декодирования одного или более блоков декодирования с использованием предсказательного декодирования для восстановления видеоконтента.decoding one or more decoding blocks using predictive decoding to reconstruct the video content. 2. Устройство по п. 1, в котором по меньшей мере один пакет полезной нагрузки представляет собой пакет неудаляемого типа, а каждый из одного или более пакетов управления таймингом представляет собой пакет удаляемого типа.2. The apparatus of claim 1, wherein at least one payload packet is a non-removable type packet and each of the one or more timing control packets is a removable type packet. 3. Устройство по п. 1, в котором последовательность пакетов содержит пакеты Дополнительной Информации Улучшения (SEI) различного типа, каждый из пакетов SEI включает в себя поле типа пакета SEI, причем содержимое поля типа пакета SEI пакета управления таймингом отличается от содержимого поля типа пакета SEI другого типа пакета SEI.3. The apparatus of claim 1, wherein the sequence of packets contains Supplemental Enhancement Information (SEI) packets of various types, each of the SEI packets includes an SEI packet type field, wherein the content of the SEI packet type field of the timing control packet is different from the packet type field. SEI of another type of SEI package. 4. Устройство по п. 1, в котором по меньшей мере один пакет полезной нагрузки содержит закодированную информацию под-части изображения видеоконтента.4. The apparatus of claim. 1, wherein at least one payload packet contains encoded sub-image information of the video content. 5. Устройство по п. 1, в котором различные типы пакетов в последовательности пакетов располагаются в соответствии с заранее определенной организацией, и организация пакетов в последовательности пакетов может определяться в соответствии с заранее определенной организацией при удалении одного или нескольких удаляемых пакетов из последовательности пакетов.5. The apparatus of claim 1, wherein the various types of packages in the package sequence are arranged according to a predetermined organization, and the organization of the packages in the package sequence can be determined according to the predetermined organization when one or more removable packages are removed from the package sequence. 6. Устройство по п. 5, в котором различные типы пакетов SEI включают в себя пакеты области интереса (ROI).6. The apparatus of claim 5, wherein the different types of SEI packets include Region of Interest (ROI) packets. 7. Устройство для кодирования видеоконтента в поток данных, содержащее:7. A device for encoding video content into a data stream, comprising: кодер, выполненный с возможностью кодирования под-частей видеоконтента на основе видеоконтента в последовательность пакетов, организованных во множество блоков доступа, при этом каждый из множества блоков доступа относится к изображению видеоконтента и включает в себя один или более блоков декодирования, и каждый из блоков декодирования включает в себя по меньшей мере один пакет полезной нагрузки, и каждая из под-частей соответствует слайсу, причем кодирование включает в себя энтропийное кодирование слайсов через границы слайсов в соответствии с методом параллельной обработки волнового фронта; иan encoder configured to encode sub-parts of the video content based on the video content into a sequence of packets organized into a plurality of access units, wherein each of the plurality of access units relates to an image of the video content and includes one or more decoding units, and each of the decoding units includes including at least one payload packet, and each of the sub-parts corresponds to a slice, the coding including entropy coding of slices across slice boundaries in accordance with a parallel wavefront processing technique; and помещения в каждый из множества блоков доступа одного или более пакетов управления таймингом, соответствующих одному или более блокам декодирования, соответственно, при этом каждый пакет управления таймингом указывает время извлечения из буфера декодера, в которое содержимое соответствующего блока декодирования должно извлекаться из буфера, при этом каждый пакет из последовательности пакетов включает в себя поле типа пакета в заголовке пакета соответствующего пакета, причем поле типа пакета для по меньшей мере одного пакета полезной нагрузки отличается от поля типа пакета для одного или более пакетов управления таймингом.placing in each of the plurality of access blocks one or more timing control packets corresponding to one or more decoding blocks, respectively, with each timing control packet indicating a decoder buffer extraction time at which the contents of the corresponding decoding block should be retrieved from the buffer, each a packet from a sequence of packets includes a packet type field in the packet header of the corresponding packet, wherein the packet type field for at least one payload packet is different from the packet type field for one or more timing control packets. 8. Устройство по п. 7, в котором по меньшей мере один пакет полезной нагрузки представляет собой пакет неудаляемого типа, а каждый из одного или более пакетов управления таймингом представляет собой пакет удаляемого типа.8. The apparatus of claim 7, wherein at least one payload packet is a non-removable type packet and each of the one or more timing control packets is a removable type packet. 9. Устройство по п. 7, в котором последовательность пакетов содержит пакеты Дополнительной Информации Улучшения (SEI) различного типа, каждый из пакетов SEI включает в себя поле типа пакета SEI, причем содержимое поля типа пакета SEI пакета управления таймингом отличается от содержимого поля типа пакета SEI другого типа пакета SEI.9. The device according to claim 7, wherein the sequence of packets contains Supplemental Enhancement Information (SEI) packets of various types, each of the SEI packets includes an SEI packet type field, and the content of the SEI packet type field of the timing control packet is different from the content of the packet type field SEI of another type of SEI package. 10. Устройство по п. 7, в котором по меньшей мере один пакет полезной нагрузки содержит закодированную информацию под-части изображения видеоконтента.10. The apparatus of claim 7, wherein at least one payload packet contains encoded sub-image information of the video content. 11. Устройство по п. 7, в котором различные типы пакетов в последовательности пакетов располагаются в соответствии с заранее определенной организацией, и организация пакетов в последовательности пакетов может определяться в соответствии с заранее определенной организацией при удалении одного или нескольких удаляемых пакетов из последовательности пакетов.11. The apparatus of claim 7, wherein the different types of packages in the package sequence are arranged according to a predetermined organization, and the organization of the packages in the package sequence can be determined according to the predetermined organization when one or more removable packages are removed from the package sequence. 12. Устройство по п. 11, в котором различные типы пакетов SEI включают в себя пакеты области интереса (ROI).12. The apparatus of claim 11, wherein the various types of SEI packets include Region of Interest (ROI) packets. 13. Способ декодирования потока данных для восстановления видеоконтента, содержащий:13. A method for decoding a data stream for restoring video content, comprising: извлечение из потока данных последовательности пакетов, представляющих под-части видеоконтента и организованных во множество блоков доступа, при этом каждый из множества блоков доступа относится к изображению видеоконтента и включает в себя один или более блоков декодирования, и каждый блок декодирования включает в себя по меньшей мере один пакет полезной нагрузки, и каждая из под-частей соответствует слайсу, при этом извлечение включает в себя энтропийное декодирование слайсов через границы слайсов в соответствии с методом параллельной обработки волнового фронта;extracting from the data stream a sequence of packets representing sub-parts of the video content and organized into a plurality of access blocks, wherein each of the plurality of access blocks relates to an image of the video content and includes one or more decoding blocks, and each decoding block includes at least one payload packet, and each of the sub-parts corresponds to a slice, wherein the extraction includes entropy decoding slices across slice boundaries according to a wavefront parallel processing technique; идентификацию в каждом из множества блоков доступа одного или более пакетов управления таймингом, соответствующих одному или более блокам декодирования, соответственно, и помещенных в блок доступа, при этом каждый из пакетов управления таймингом указывает время извлечения из буфера декодера, в которое содержимое соответствующего блока декодирования должно быть извлечено из буфера;identifying in each of the plurality of access blocks one or more timing control packets corresponding to one or more decoding blocks, respectively, and placed in the access block, each of the timing control packets indicating the decoder buffer extraction time at which the contents of the corresponding decoding block should be retrieved from the buffer; извлечение из буфера содержимого каждого блока декодирования в соответствии со временем извлечения из буфера декодера, связанным с блоком декодирования, при этом каждый пакет из последовательности пакетов включает в себя поле типа пакета в заголовке пакета соответствующего пакета, и поле типа пакета для по меньшей мере одного пакета полезной нагрузки отличается от поля типа пакета для одного или более пакетов управления таймингом; иextraction from the buffer of the contents of each decoding block in accordance with the decoder buffer extraction time associated with the decoding block, each packet from the sequence of packets includes a packet type field in the packet header of the corresponding packet, and a packet type field for at least one packet payload differs from the packet type field for one or more timing control packets; and декодирование одного или более блоков декодирования с использованием предсказательного декодирования для восстановления видеоконтента.decoding one or more decoding blocks using predictive decoding to reconstruct the video content. 14. Способ по п. 13, в котором по меньшей мере один пакет полезной нагрузки представляет собой пакет неудаляемого типа, а каждый из одного или более пакетов управления таймингом представляет собой пакет удаляемого типа.14. The method of claim 13, wherein at least one payload packet is a non-removable type packet and each of the one or more timing control packets is a removable type packet. 15. Способ по п. 13, в котором последовательность пакетов содержит пакеты Дополнительной Информации Улучшения (SEI) различного типа, каждый из пакетов SEI включает в себя поле типа пакета SEI, причем содержимое поля типа пакета SEI пакета управления таймингом отличается от содержимого поля типа пакета SEI другого типа пакета SEI.15. The method of claim 13, wherein the sequence of packets comprises Supplemental Enhancement Information (SEI) packets of different types, each of the SEI packets includes an SEI packet type field, wherein the content of the SEI packet type field of the timing control packet is different from the content of the packet type field SEI of another type of SEI package. 16. Способ по п. 13, в котором по меньшей мере один пакет полезной нагрузки содержит закодированную информацию под-части изображения видеоконтента.16. The method of claim 13, wherein at least one payload packet contains encoded sub-image information of the video content. 17. Способ по п. 13, в котором различные типы пакетов в последовательности пакетов располагаются в соответствии с заранее определенной организацией, и организация пакетов в последовательности пакетов может определяться в соответствии с заранее определенной организацией при удалении одного или нескольких удаляемых пакетов из последовательности пакетов.17. The method of claim 13, wherein the different types of packages in the package sequence are arranged according to a predetermined organization, and the organization of the packages in the package sequence can be determined according to the predetermined organization when one or more removable packages are removed from the package sequence. 18. Способ по п. 17, в котором различные типы пакетов SEI включают в себя пакеты области интереса (ROI).18. The method of claim 17, wherein the various types of SEI packets include Region of Interest (ROI) packets.
RU2022103151A 2012-06-29 2022-02-09 Video stream concept RU2776357C1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US61/666,185 2012-06-29

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
RU2020114791A Division RU2766882C2 (en) 2012-06-29 2020-04-27 Video data stream concept

Related Child Applications (1)

Application Number Title Priority Date Filing Date
RU2022118841A Division RU2812020C2 (en) 2012-06-29 2022-07-11 Video stream concept

Publications (1)

Publication Number Publication Date
RU2776357C1 true RU2776357C1 (en) 2022-07-19

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001080570A2 (en) * 2000-04-19 2001-10-25 General Instrument Corporation Rate control and buffer protection for variable bit rate video programs over a constant rate channel
US20080292003A1 (en) * 2007-04-24 2008-11-27 Nokia Corporation Signaling of multiple decoding times in media files
RU2375839C2 (en) * 2003-02-18 2009-12-10 Нокиа Корпорейшн Method of coding images
US20120014434A1 (en) * 2006-02-16 2012-01-19 Dany Hong System and method for thinning of scalable video coding bit-streams
US20120027316A1 (en) * 2005-10-11 2012-02-02 Nokia Corporation System and method for efficient scalable stream adaptation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001080570A2 (en) * 2000-04-19 2001-10-25 General Instrument Corporation Rate control and buffer protection for variable bit rate video programs over a constant rate channel
RU2375839C2 (en) * 2003-02-18 2009-12-10 Нокиа Корпорейшн Method of coding images
US20120027316A1 (en) * 2005-10-11 2012-02-02 Nokia Corporation System and method for efficient scalable stream adaptation
US20120014434A1 (en) * 2006-02-16 2012-01-19 Dany Hong System and method for thinning of scalable video coding bit-streams
US20080292003A1 (en) * 2007-04-24 2008-11-27 Nokia Corporation Signaling of multiple decoding times in media files

Similar Documents

Publication Publication Date Title
RU2766882C2 (en) Video data stream concept
RU2776357C1 (en) Video stream concept
RU2812020C2 (en) Video stream concept
KR20240070581A (en) Video data stream concept