RU2780809C1 - Signalling of the image header parameters - Google Patents

Signalling of the image header parameters Download PDF

Info

Publication number
RU2780809C1
RU2780809C1 RU2021128832A RU2021128832A RU2780809C1 RU 2780809 C1 RU2780809 C1 RU 2780809C1 RU 2021128832 A RU2021128832 A RU 2021128832A RU 2021128832 A RU2021128832 A RU 2021128832A RU 2780809 C1 RU2780809 C1 RU 2780809C1
Authority
RU
Russia
Prior art keywords
slices
pic
pps
slice
type
Prior art date
Application number
RU2021128832A
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 RU2780809C1 publication Critical patent/RU2780809C1/en

Links

Images

Abstract

FIELD: video data processing.
SUBSTANCE: group of inventions relates to video encoding/decoding and generally describes the technology of new-generation video encoding; in particular, generally relates to methods and apparatus associated with processing an image header. Proposed is a method for video data decoding, wherein the method is implemented by at least one processor. The method includes a stage of indicating, using the syntax element of the image header, for all slices included in the corresponding encoded image, whether said slices are type B, P, and/or I slices, wherein the syntax element is encoded using an unsigned integer. The video data is decoded based on the types of slices indicated by means of the syntax element.
EFFECT: reduced amount of signalling service data when indicating the slice type.
12 cl, 18 tbl, 3 dwg

Description

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИCROSS-REFERENCE TO RELATED APPLICATIONS

[0001] По данной заявке испрашивается приоритет предварительной патентной заявки США №62/950,453, поданной 19 декабря 2019 г. и патентной заявки США №17/026,748, поданной 21 сентября 2020, которые включены в настоящее описание в полном объеме.[0001] This application claims priority to U.S. Provisional Application No. 62/950,453, filed December 19, 2019, and U.S. Provisional Application No. 17/026,748, filed September 21, 2020, which are incorporated herein in their entirety.

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕFIELD OF TECHNOLOGY TO WHICH THE INVENTION RELATES

[0002] Это изобретение относится в целом к кодированию/декодированию видео и в целом описывает технологии видеокодирования нового поколения по отношению к HEVC (высокопроизводительному видеокодированию, High Efficiency Video Coding), например, универсальное видеокодирование (VVC, Versatile Video Coding). В частности, это изобретение относится в целом к способам и устройствам, связанным с обработкой заголовка изображения.[0002] This invention relates generally to video coding/decoding and generally describes next-generation video coding technologies in relation to HEVC (high performance video coding, High Efficiency Video Coding), such as Versatile Video Coding (VVC). In particular, this invention relates generally to methods and apparatuses related to image header processing.

УРОВЕНЬ ТЕХНИКИBACKGROUND OF THE INVENTION

[0003] Предложенный VVC проект 7 включает в себя HLS (High Level Syntax, синтаксис высокого уровня), именуемый заголовком изображения, который содержит синтаксические элементы, применяющиеся ко всем слайсам кодированного изображения, например, во избежание сигнализации синтаксических элементов в заголовке(ах) слайса(ов), которые должны иметь одинаковые значения для всех слайсов изображения.[0003] VVC Proposed Draft 7 includes an HLS (High Level Syntax, High Level Syntax), referred to as a picture header, which contains syntax elements that apply to all slices of an encoded picture, for example, to avoid signaling syntax elements in the slice header(s). (s), which must have the same values for all slices of the image.

Набор параметров изображенияImage parameter set

[0004] HLS задает синтаксические элементы, которые могут применяться к инструментам кодирования более низкого уровня. Например, размер CTU (единицы дерева кодирования, Coding Tree Unit) может задаваться на уровне последовательностей или SPS (наборов параметров последовательности, Sequence Parameter Set), и в целом не изменяется от изображения к изображению. Типичный HLS включает в себя SPS, PPS (набор параметров изображения, Picture Parameter Set), РН (заголовок изображения, Picture Header), SH (заголовок слайса, Slice Header) и APS (набор адаптивных параметров, Adaptive Parameter Set).[0004] The HLS defines syntax elements that can be applied to lower level encoding tools. For example, the size of the CTU (Coding Tree Unit) can be set at the level of sequences or SPS (Sequence Parameter Sets), and generally does not change from image to image. A typical HLS includes SPS, PPS (Picture Parameter Set), PH (Picture Header), SH (Slice Header), and APS (Adaptive Parameter Set).

[0005] Разные HLS включают в себя уровни приложений, благодаря чему широко используемые синтаксические элементы не нуждаются в повторном кодировании. Например, SPS задает общие синтаксические элементы, применимые к уровням последовательностей. РН задает общие синтаксические элементы, применимые к кодированному изображению, которое может состоять из одного или более слайсов.[0005] The various HLSs include application layers so that commonly used syntax elements do not need to be re-encoded. For example, SPS defines common syntax elements that apply to sequence levels. The PH specifies the general syntax elements applicable to the encoded picture, which may consist of one or more slices.

[0006] Ниже описаны синтаксические элементы, включенные в PPS согласно VVC проект 7:[0006] The syntax elements included in the PPS according to VVC Draft 7 are described below:

Figure 00000001
Figure 00000001

Figure 00000002
Figure 00000002

Figure 00000003
Figure 00000003

Figure 00000004
Figure 00000004

[0007] Как показано выше в таблице 1, num_slices_in_pic_minus1 плюс 1 задает количество прямоугольных слайсов в каждом изображении, ссылающемся на PPS. Значение num_slices_in_pic_minus1 находится в пределах от 0 до MaxSlicesPerPicture - 1, включительно. Когда no_pic_partition_flag равен 1, значение num_slices_in_pic_minus1 может определяться равным 0.[0007] As shown in Table 1 above, num_slices_in_pic_minus1 plus 1 specifies the number of rectangular slices in each image referring to PPS. The value of num_slices_in_pic_minus1 is between 0 and MaxSlicesPerPicture - 1, inclusive. When no_pic_partition_flag is equal to 1, the value of num_slices_in_pic_minus1 may be determined to be 0.

[0008] Как показано выше в таблице 1, pps_mvd_1l_zero_idc, равный 0, указывает, что синтаксический элемент mvd_l1_zero_flag присутствует в РН, ссылающихся на PPS. Кроме того, pps_mvd_1l_zero_idc, равный 1 или 2, указывает, что mvd_l1_zero_flag отсутствует в РН, ссылающихся на PPS. Дополнительно, pps_mvd_l1_zero_idc, равный 3, резервируется для использования в будущем в ITU-T ISO/IEC.[0008] As shown in Table 1 above, pps_mvd_1l_zero_idc equal to 0 indicates that the mvd_l1_zero_flag syntax element is present in the PH referring to the PPS. In addition, pps_mvd_1l_zero_idc equal to 1 or 2 indicates that the mvd_l1_zero_flag is not present in the PPS referenced PHs. Additionally, pps_mvd_l1_zero_idc equal to 3 is reserved for future use in ITU-T ISO/IEC.

[0009] Как показано выше в таблице 1, pps_collocated_from_10_idc, равный 0, указывает, что синтаксический элемент collocated_from_10_flag присутствует в заголовках слайсов, ссылающихся на PPS. Кроме того, pps_collocated_from_10_idc, равный 1 или 2, указывает, что синтаксический элемент collocated_from_10_flag отсутствует в заголовках слайсов, ссылающихся на PPS. Дополнительно, pps_collocated_from_10_idc, равный 3, резервируется для использования в будущем в ITU-T | ISO/IEC.[0009] As shown in Table 1 above, pps_collocated_from_10_idc equal to 0 indicates that the collocated_from_10_flag syntax element is present in slice headers referring to PPS. In addition, pps_collocated_from_10_idc equal to 1 or 2 indicates that the collocated_from_10_flag syntax element is not present in the slice headers referring to PPS. Additionally, pps_collocated_from_10_idc equal to 3 is reserved for future use in ITU-T | ISO/IEC.

[0010] Как показано выше в таблице 1, pps_six_minus_max_num_merge_cand_plus1, равный 0, указывает, что picsixminusmaxnummergecand присутствует в РН, ссылающихся на PPS. Кроме того, pps_six_minus_max_num_merge_cand_plus1, больший 0, указывает, что pps_six_minus_max_num_merge_cand отсутствует в РН, ссылающихся на PPS. Значение pps_six_minus_max_num_merge_cand_plus1 находится в пределах от 0 до 6, включительно.[0010] As shown in Table 1 above, pps_six_minus_max_num_merge_cand_plus1 equal to 0 indicates that picsixminusmaxnummergecand is present in the PPS referencing PH. In addition, pps_six_minus_max_num_merge_cand_plus1 greater than 0 indicates that pps_six_minus_max_num_merge_cand is not present in PPS referencing PHs. The value of pps_six_minus_max_num_merge_cand_plus1 is between 0 and 6, inclusive.

[0011] Как показано выше в таблице 1, pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1, равный 0, указывает, что pic_max_num_merge_candminus_max_num_triangle_cand присутствует в РН слайсов, ссылающихся на PPS. Кроме того, pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1, больший 0, указывает, что pic_max_num_merge_candminus_max_num_triangle_cand отсутствует в РН, ссылающихся на PPS. Значение pic_max_num_merge_candminus_max_num_triangle_cand_plus1 находится в пределах от 0 до MaxNumMergeCand - 1.[0011] As shown in Table 1 above, pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1 equal to 0 indicates that pic_max_num_merge_candminus_max_num_triangle_cand is present in the PH of slices referring to PPS. In addition, pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1 greater than 0 indicates that pic_max_num_merge_candminus_max_num_triangle_cand is not present in PPS referenced RNs. The value of pic_max_num_merge_candminus_max_num_triangle_cand_plus1 is between 0 and MaxNumMergeCand - 1.

RBSP уровня слайсаslice level RBSP

[0012] RBSP уровня слайса может состоять из заголовка слайса и данных слайса.[0012] A slice level RBSP may consist of a slice header and slice data.

Figure 00000005
Figure 00000005

Заголовок изображения и заголовок слайсаImage title and slice title

[0013] Синтаксические элементы, кодированные в PPS, на который ссылается текущее изображение, должны игнорироваться в РН и SH, в результате чего устанавливается pic_deblocking_filter_override_flag в РН, ссылающемся на PPS, или slice_deblocking_filter_override_flag в SH, ссылающемся на PPS. Синтаксические элементы, отсутствующие в РН, могут, напротив, присутствовать в SH. Например, когда значение pic_sao_enabled_present_flag в РН, указывающее присутствие синтаксических элементов, связанных с SAO, равно 0, slice_sao_luma_flag и slice_sao_chroma_flag может кодироваться в SH для указания использования SAO для яркости и цветности.[0013] Syntax elements encoded in the PPS referenced by the current picture must be ignored in the PH and SH, resulting in pic_deblocking_filter_override_flag being set in the PH referring to the PPS, or slice_deblocking_filter_override_flag in the SH referring to the PPS. Syntactic elements not present in PH may, on the contrary, be present in SH. For example, when the value of pic_sao_enabled_present_flag in PH indicating the presence of syntax elements associated with SAO is 0, slice_sao_luma_flag and slice_sao_chroma_flag may be encoded in SH to indicate the use of SAO for luma and chrominance.

[0014] С использованием РН, синтаксические элементы, которые уже должны быть одинаковыми во всех слайсах изображения, могут передаваться в РН по одному на изображение во избежание издержек сигнализации, в особенности при наличии небольшого количества слайсов в изображении. И все же синтаксические элементы, которые часто изменяются от слайса к слайсу, могут передаваться в SH для обеспечения гибкости.[0014] Using the PH, syntax elements that should already be the same in all slices of an image can be transferred to the PH one per image to avoid signaling overhead, especially when there are few slices in the image. Still, syntax elements that change frequently from slice to slice can be passed to SH for flexibility.

[0015] Синтаксические элементы, включенные в РН и SH согласно VVC проект 7, описаны ниже в таблицах 3 и 5.[0015] The syntax elements included in the PH and SH according to VVC Draft 7 are described in Tables 3 and 5 below.

Figure 00000006
Figure 00000006

Figure 00000007
Figure 00000007

Figure 00000008
Figure 00000008

Figure 00000009
Figure 00000009

Figure 00000010
Figure 00000010

Figure 00000011
Figure 00000011

Figure 00000012
Figure 00000012

Figure 00000013
Figure 00000013

Figure 00000014
Figure 00000014

Figure 00000015
Figure 00000015

[0016] Как указано выше и ниже, slice type может указывать тип кодирования слайса согласно нижеприведенной таблице 4:[0016] As mentioned above and below, slice type may indicate a slice encoding type according to Table 4 below:

Figure 00000016
Figure 00000016

Разделитель блоков доступаAccess Block Separator

[0017] Разделитель AU (блоков доступа, Access Unit) используется для указания начала AU и типа слайсов, присутствующих в кодированных изображениях в AU, содержащих блок NAL (уровень сетевой абстракции, Network Abstraction Layer) разделителя AU. В настоящее время не существует нормативного процесса декодирования, связанного с разделителем AU.[0017] The AU separator (Access Unit) is used to indicate the beginning of the AU and the type of slices present in the encoded pictures in the AU containing the NAL (Network Abstraction Layer) AU separator. There is currently no normative decoding process associated with the AU delimiter.

[0018] Кроме того, pic_type указывает, что значения slice_type для всех слайсов кодированных изображений в AU, содержащей блок NAL разделителя AU, являются элементами множества, перечисленными в таблице 4 для данного значения pic_type. Значение pic_type может быть равно 0, 1 или 2 в битовых потоках. Другие значения pic_type зарезервированы для использования в будущем в ITU Т | ISO/IEC. Декодеры, согласующиеся с этой версией, могут игнорировать зарезервированные значения pic_type.[0018] In addition, pic_type indicates that slice_type values for all coded picture slices in the AU containing the AU delimiter NAL unit are the elements of the set listed in Table 4 for the given pic_type value. The value of pic_type can be 0, 1, or 2 in bitstreams. Other pic_type values are reserved for future use by ITU T | ISO/IEC. Decoders conforming to this version MAY ignore reserved pic_type values.

Figure 00000017
Figure 00000017

[0019] Непатентный источник [1] предлагает высокоуровневый флаг управления для указания того, что необходим набор параметров для охваченных уровней низкоуровневого кодирования.[0019] Non-Patent Reference [1] proposes a high-level control flag to indicate that a set of parameters is needed for the covered low-level coding levels.

[0020] В [1] описывается способ, в котором все синтаксические элементы или параметры, связанные с внешним предсказанием, нужно сигнализировать только при наличии по меньшей мере одного интер-кодированного слайса, или когда внутри изображения существует разбиение. В противном случае, эти синтаксические элементы или параметры не сигнализируются.[0020] [1] describes a method in which all syntax elements or parameters associated with inter-prediction need only be signaled when there is at least one inter-coded slice, or when a split exists within an image. Otherwise, these syntax elements or parameters are not signaled.

[0021] В одном варианте осуществления, описанном в [1], флаг управления в заголовке изображения, обозначенный pic_intra_only_flag, сигнализируется для указания, будут ли все слайсы (или любого рода части этого изображения) внутри изображения иметь только внутреннее предсказание (или не связаны с внутренним предсказанием). Когда этот флаг равен TRUE, только синтаксические элементы или параметры, связанные с интра-кодированием, сигнализируются позже в заголовке изображения. В противном случае, когда этот флаг равен FALSE, сигнализируются синтаксические элементы или параметры, связанные с внешним предсказанием. Ниже приведена таблица синтаксиса, отражающая этот вариант осуществления:[0021] In one embodiment described in [1], a control flag in the picture header, denoted pic_intra_only_flag, is signaled to indicate whether all slices (or any kind of parts of that picture) within the picture will only have intra prediction (or not be associated with internal prediction). When this flag is TRUE, only syntax elements or parameters related to intra-coding are signaled later in the picture header. Otherwise, when this flag is FALSE, syntax elements or parameters associated with inter prediction are signaled. The following is a syntax table reflecting this embodiment:

Figure 00000018
Figure 00000018

Figure 00000019
Figure 00000019

[0022] Согласно другому способу из [1], все связанные синтаксические элементы или параметры, которые используются только для интра-слайса или интра-разбиения, нужно сигнализировать в отсутствие интер-кодированного слайса, или когда внутри изображения существует разбиение. В противном случае, эти синтаксические элементы или параметры не сигнализируются.[0022] According to another method from [1], all associated syntax elements or parameters that are only used for intra-slice or intra-splitting need to be signaled in the absence of an inter-coded slice, or when a split exists within an image. Otherwise, these syntax elements or parameters are not signaled.

[0023] В другом варианте осуществления [1], флаг управления в заголовке изображения, обозначенный pic_inter_only_flag, сигнализируется для указания, будут ли все слайсы (или любого рода разбиение этого изображения) внутри изображения иметь внешнее предсказание (или предсказание, не связанное с внутренним предсказанием). Когда этот флаг равен TRUE, синтаксические элементы или параметры, связанные с интра-слайсом, не сигнализируются позже в заголовке изображения. В противном случае, когда этот флаг равен FALSE, интра-слайс может использоваться по меньшей мере в одном из слайсов или разбиений в изображении. Будут сигнализироваться связанные синтаксические элементы или параметры для интра-слайса или частей. Ниже приведена таблица синтаксиса, отражающая этот вариант осуществления:[0023] In another embodiment [1], a control flag in the image header, denoted pic_inter_only_flag, is signaled to indicate whether all slices (or any kind of partition of that image) within the image will have inter-prediction (or prediction unrelated to intra-prediction). ). When this flag is TRUE, syntax elements or parameters associated with an intra-slice are not signaled later in the image header. Otherwise, when this flag is FALSE, the intra-slice may be used in at least one of the slices or partitions in the image. The associated syntax elements or parameters for the intra-slice or parts will be signalled. The following is a syntax table reflecting this embodiment:

Figure 00000020
Figure 00000020

[0024] Согласно упомянутым способам, описанным в [1], если изображение имеет свой собственный тип, например, является интра-изображением или интер-изображением, вышеупомянутые флаги управления pic_intra_only_flag и pic_inter_only_flag не нужно сигнализировать, и их значения можно вывести из типа изображения.[0024] According to the methods described in [1], if the image has its own type, for example, is an intra-image or an inter-image, the aforementioned control flags pic_intra_only_flag and pic_inter_only_flag do not need to be signaled, and their values can be derived from the image type.

[0025] Кроме того, если текущее изображение имеет тип изображения "только интра" (все слайсы в изображении являются I-слайсами), то pic_intra_only_flag может определяться как TRUE. В другом примере, если текущее изображение имеет тип изображения "только интер" (все слайсы в изображении являются Р- или В-слайсами), то pic_inter_only_flag может определяться как TRUE. В еще одном примере в [1], если текущее изображение имеет тип изображения, указывающий, что в изображении возможны как интра-слайсы, так и интер-слайсы, то pic_intra_only_flag и pic_inter_only_flag могут определяться как FALSE.[0025] In addition, if the current picture is of the intra-only picture type (all slices in the picture are I-slices), then pic_intra_only_flag may be determined to be TRUE. In another example, if the current picture is of the inter-only picture type (all slices in the picture are P or B slices), then pic_inter_only_flag may be defined as TRUE. In yet another example in [1], if the current picture has a picture type indicating that both intra-slices and inter-slices are possible in the picture, then pic_intra_only_flag and pic_inter_only_flag may be defined as FALSE.

ПроблемаProblem

[0026] Хотя РН может сигнализироваться по одному на изображение во избежание сигнализации синтаксических элементов, которые являются общими для слайсов в пределах изображения, эта сигнализация может, вместо этого, вносить служебную нагрузку, не учитывая синтаксических элементов, используемых только для интра-слайсов (I-слайсов) или интер-слайсов (В-, Р-слайсов).[0026] Although the PH may be signaled one per picture to avoid signaling syntax elements that are common to slices within a picture, this signaling may instead introduce overhead by not considering syntax elements used only for intra-slices (I -slices) or inter-slices (B-, P-slices).

СУЩНОСТЬ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION

[0027] Варианты осуществления относятся к способу, системе и компьютерно-считываемому носителю для кодирования/декодирования видео и, в частности, к обработке заголовка изображения.[0027] Embodiments relate to a method, system, and computer-readable medium for encoding/decoding video, and in particular to image header processing.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS

[0028] Эти и другие объекты, признаки и преимущества будут понятны из нижеследующего подробного описания иллюстративных вариантов осуществления, подлежащих рассмотрению совместно с прилагаемыми чертежами. Различные признаки чертежей могут быть изображены с нарушением масштаба для наглядности и облегчения понимания специалистом в данной области техники совместно с подробным описанием. На чертежах:[0028] These and other objects, features, and advantages will be apparent from the following detailed description of illustrative embodiments, taken in conjunction with the accompanying drawings. Various features of the drawings may be drawn out of scale for clarity and ease of understanding by one of ordinary skill in the art, together with a detailed description. On the drawings:

[0029] Фиг. 1 - упрощенная блок-схема системы связи в соответствии с вариантом осуществления.[0029] FIG. 1 is a simplified block diagram of a communication system in accordance with an embodiment.

[0030] Фиг. 2 - упрощенная блок-схема системы связи в соответствии с вариантом осуществления.[0030] FIG. 2 is a simplified block diagram of a communication system in accordance with an embodiment.

[0031] Фиг. 3 - схема компьютерной системы в соответствии с вариантом осуществления.[0031] FIG. 3 is a diagram of a computer system in accordance with an embodiment.

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

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

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

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

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

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

[0037] Согласно вариантам осуществления, синтаксический элемент pic_type_idc может использоваться для указания типов слайсов для всех слайсов кодированного изображения.[0037] According to embodiments, the pic_type_idc syntax element may be used to indicate slice types for all slices of an encoded picture.

[0038] В одном варианте осуществления, pic_type_idc может кодироваться с использованием беззнакового целого синтаксического элемента, кодированного экспоненциальным кодом Голомба 0-го порядка, начинающегося с левого бита. При этом pic_type_idc может иметь три значения 0, 1 и 2 и три состояния, например, только I-слайс, В-, Р-, I-слайсы, и В-, Р-слайсы. Значение может отображаться в состояния в любом порядке. В нижеследующей таблице 8 приведены примеры возможной семантики pic_type_idc.[0038] In one embodiment, pic_type_idc may be encoded using an unsigned integer syntax element encoded with a 0th order exponential Golomb code, starting from the left bit. While pic_type_idc can have three values 0, 1 and 2 and three states, for example, only I-slice, B-, P-, I-slices, and B-, P-slices. The value can appear in the states in any order. The following table 8 provides examples of the possible semantics of pic_type_idc.

Figure 00000021
Figure 00000021

[0039] Согласно варианту осуществления, pic_type_idc может кодироваться с использованием беззнакового целого числа с использованием 2 битов. При этом, pic_type_idc может иметь, но без ограничения, три значения 0, 1 и 2 и три состояния, например: только I-слайс, В-, Р-, I-слайсы, и В-, Р-слайсы. Другие значения pic_type_idc могут быть зарезервированы для дальнейшего задания.[0039] According to an embodiment, pic_type_idc may be encoded using an unsigned integer using 2 bits. Here, pic_type_idc may have, but is not limited to, three values of 0, 1 and 2 and three states, for example: I-slice only, B-, P-, I-slices, and B-, P-slices. Other pic_type_idc values may be reserved for later reference.

Figure 00000022
Figure 00000022

[0040] Согласно варианту осуществления, зарезервированное значение 3 pic_type_idc может указывать, что в кодированном изображении присутствуют только Р- и I-слайсы.[0040] According to an embodiment, the reserved value 3 pic_type_idc may indicate that only P and I slices are present in the encoded picture.

[0041] В примере, pic_type_idc может кодироваться с использованием беззнакового целого числа с использованием 2 битов. Кроме того, pic_type_idc может иметь четыре значения 0, 1, 2 и 3 и четыре состояния, например, только I-слайс, В-, Р-, I-слайсы и В-слайсы, и Р-слайсы.[0041] In the example, pic_type_idc may be encoded using an unsigned integer using 2 bits. In addition, pic_type_idc can have four values of 0, 1, 2, and 3 and four states, such as I-slice only, B-, P-, I-slices, and B-slices, and P-slices.

Figure 00000023
Figure 00000023

[0042] Предлагается сигнализировать pic_type_idc в HLS, чтобы кодировались или присутствовали только связанные синтаксические элементы, для снижения издержек сигнализации. Например, когда pic_type_idc указывает, что изображение является только интра-изображением (внутренне кодированным), никакие синтаксические элементы, связанные с интер-кодированием (внешним кодированием), не сигнализируются.[0042] It is proposed to signal pic_type_idc in HLS so that only related syntax elements are encoded or present to reduce signaling overhead. For example, when pic_type_idc indicates that the picture is only an intra-picture (intra-coded), no syntax elements related to inter-coding (outer encoding) are signaled.

[0043] В одном примере, pic_type_idc может сигнализироваться в PPS, благодаря чему он задает типы слайсов для всех слайсов каждого кодированного изображения ссылающегося на PPS. Ниже детально описаны синтаксис и семантика. В нижеследующей таблице, а также других таблицах в этом изобретении, изменения по сравнению с VVC проект 7 выделены курсивом.[0043] In one example, pic_type_idc may be signaled in the PPS such that it specifies slice types for all slices of each encoded picture referring to the PPS. The syntax and semantics are detailed below. In the following table, as well as other tables in this invention, changes from VVC draft 7 are in italics.

Figure 00000024
Figure 00000024

Figure 00000025
Figure 00000025

Figure 00000026
Figure 00000026

Figure 00000027
Figure 00000027

[0044] При этом, pic_type_idc задает типы слайсов для всех слайсов каждого кодированного изображения, ссылающегося на PPS.[0044] Here, pic_type_idc specifies slice types for all slices of each encoded picture referring to the PPS.

[0045] В одном варианте осуществления, pic_type_idc, установленный равным 1, указывает, что каждое кодированное изображение, ссылающееся на PPS, имеет только один или более I-слайсов. В подобных случаях, интер-слайсы (В-, Р-слайс), связанные с синтаксическими элементами pps_mvd_1l_zero_idc, pps_collocated_from_10_idc, pps_six_minus_max_num_merge_cand_plus1 и pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1, определяются равными 0.[0045] In one embodiment, pic_type_idc set to 1 indicates that each encoded picture referring to the PPS has only one or more I-slices. In such cases, the inter-slices (B-, P-slice) associated with the syntax elements pps_mvd_1l_zero_idc, pps_collocated_from_10_idc, pps_six_minus_max_num_merge_cand_plus1 and pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1 are defined to be 0.

[0046] При этом, pps_mvd_1l_zero_idc, равный 0, указывает, что синтаксический элемент mvd_l1_zero_flag присутствует в РН, ссылающихся на PPS. Кроме того, pps_mvd_l1_zero_idc, равный 1 или 2, указывает, что mvd ll zero flag отсутствует в РН, ссылающихся на PPS. Дополнительно, pps_mvd_1l_zero_idc, равный 3, резервируется для использования в будущем в ITU-T | ISO/IEC. Когда отсутствует, pps_mvd_1l_zero_idc может определяться равным 0.[0046] Here, pps_mvd_1l_zero_idc equal to 0 indicates that the mvd_l1_zero_flag syntax element is present in the RNs referring to the PPS. In addition, pps_mvd_l1_zero_idc equal to 1 or 2 indicates that the mvd ll zero flag is not present in the PHs referring to PPS. Additionally, pps_mvd_1l_zero_idc equal to 3 is reserved for future use in ITU-T | ISO/IEC. When absent, pps_mvd_1l_zero_idc may be set to 0.

[0047] Дополнительно, pps_collocated_from_10_idc, равный 0, указывает, что синтаксический элемент collocated_from_10_flag присутствует в заголовках слайсов, ссылающихся HaPPS. Кроме того, pps_collocated_from_10_idc, равный 1 или 2, указывает, что синтаксический элемент collocated from lO flag отсутствует в заголовках слайсов, ссылающихся на PPS. Дополнительно, pps_collocated_from_10_idc, равный 3, резервируется для использования в будущем в ITU-T | ISO/IEC. Когда отсутствует, pps_collocated_from_10_idc может определяться равным 0.[0047] Additionally, pps_collocated_from_10_idc equal to 0 indicates that the collocated_from_10_flag syntax element is present in slice headers referring to HaPPS. In addition, pps_collocated_from_10_idc equal to 1 or 2 indicates that the collocated from lO flag syntax element is not present in the slice headers referring to PPS. Additionally, pps_collocated_from_10_idc equal to 3 is reserved for future use in ITU-T | ISO/IEC. When absent, pps_collocated_from_10_idc may be set to 0.

[0048] Кроме того, pps_six_minus_max_num_merge_cand_plus1, равный 0, указывает, что pps_six_minus_max_num_merge_cand присутствует в РН, ссылающихся на PPS. Дополнительно, pps_six_minus_max_num_merge_cand_plus1, больший 0, указывает, что pps_six_minus_max_num_merge_cand отсутствует в РН, ссылающихся на PPS. Значение pps_six_minus_max_num_merge_cand_plus1 находится в пределах от 0 до 6, включительно. Когда отсутствует, pps_six_minus_max_num_merge_cand_plus1 может определяться равным 0[0048] In addition, pps_six_minus_max_num_merge_cand_plus1 equal to 0 indicates that pps_six_minus_max_num_merge_cand is present in the PH referring to the PPS. Additionally, pps_six_minus_max_num_merge_cand_plus1 greater than 0 indicates that pps_six_minus_max_num_merge_cand is not present in PPS-referencing PHs. The value of pps_six_minus_max_num_merge_cand_plus1 is between 0 and 6, inclusive. When absent, pps_six_minus_max_num_merge_cand_plus1 may be set to 0

[0049] Как показано, pic_max_num_merge_candminus_max_num_triangle_cand_plus1, равный 0, указывает, что pic_max_num_merge_candminus_max_num_triangle_cand присутствует в РН слайсов, ссылающихся на PPS. Кроме того, pic_max_num_merge_candminus_max_num_triangle_cand_plus1, больший 0, указывает, что pic_max_num_merge_candminus_max_num_triangle_cand отсутствует в РН, ссылающихся на PPS. Значение pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1 находится в пределах от 0 до MaxNumMergeCand - 1. Когда отсутствует, pic_max_num_merge_candminus_max_num_triangle_cand_plus1 может определяться равным 0.[0049] As shown, pic_max_num_merge_candminus_max_num_triangle_cand_plus1 equal to 0 indicates that pic_max_num_merge_candminus_max_num_triangle_cand is present in the PH of slices referring to PPS. In addition, pic_max_num_merge_candminus_max_num_triangle_cand_plus1 greater than 0 indicates that pic_max_num_merge_candminus_max_num_triangle_cand is not present in PHs referring to PPS. The value of pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1 ranges from 0 to MaxNumMergeCand - 1. When absent, pic_max_num_merge_candminus_max_num_triangle_cand_plus1 may be set to 0.

Figure 00000028
Figure 00000028

Figure 00000029
Figure 00000029

Figure 00000030
Figure 00000030

Figure 00000031
Figure 00000031

Figure 00000032
Figure 00000032

Figure 00000033
Figure 00000033

Figure 00000034
Figure 00000034

[0050] Для каждого кодированного изображения, ссылающегося на PPS, pic_type_idc используется для определения, анализировать ли синтаксические элементы, связанные с интра-слайсами (I-слайсами) и интер-слайсами (В-, Р-слайсами). Например, синтаксические элементы, связанные с интра-слайсами,[0050] For each encoded picture referring to PPS, pic_type_idc is used to determine whether to parse syntax elements associated with intra-slices (I-slices) and inter-slices (B-, P-slices). For example, syntax elements associated with intra-slices

pic_log2_diff_min_qt_min_cb_intra_slice_luma,pic_log2_diff_min_qt_min_cb_intra_slice_luma,

pic_max_mtt_hierarchy_depth_intra_slice_luma,pic_max_mtt_hierarchy_depth_intra_slice_luma,

pic_log2_diff_min_qt_min_cb_intra_slice_luma,pic_log2_diff_min_qt_min_cb_intra_slice_luma,

pic_log2_diff_min_qt_min_cb_intra_slice_luma,pic_log2_diff_min_qt_min_cb_intra_slice_luma,

pic_log2_diff_min_qt_min_cb_intra_slice_chroma,pic_log2_diff_min_qt_min_cb_intra_slice_chroma,

pic_max_mtt_hierarchy_depth_intra_slice_chroma,pic_max_mtt_hierarchy_depth_intra_slice_chroma,

pic_log2_diff_max_bt_min_qt_intra_slice_chroma иpic_log2_diff_max_bt_min_qt_intra_slice_chroma and

pic_log2_diff_min_qt_min_cb_intra_slice_chroma, декодируют только при наличии только I-слайсов, связанных с РН. С другой стороны, синтаксические элементы, связанные с интер-слайсами, декодируют всякий раз, когда присутствуют интер-слайсы.pic_log2_diff_min_qt_min_cb_intra_slice_chroma, decode only if there are only I-slices associated with the PH. On the other hand, syntax elements associated with inter-slices are decoded whenever inter-slices are present.

[0051] В одном примере, pic_type_idc сигнализируется в РН, благодаря чему он задает типы слайсов для всех слайсов кодированного изображения, связанных с РН. Детальное описание синтаксиса и семантики приведены ниже. Изменения по сравнению с VVC проект 7 выделены курсивом.[0051] In one example, pic_type_idc is signaled to the PH whereby it specifies the slice types for all slices of the encoded picture associated with the PH. A detailed description of the syntax and semantics is given below. Changes from VVC draft 7 are in italics.

Figure 00000035
Figure 00000035

Figure 00000036
Figure 00000036

Figure 00000037
Figure 00000037

Figure 00000038
Figure 00000038

Figure 00000039
Figure 00000039

Figure 00000040
Figure 00000040

Figure 00000041
Figure 00000041

[0052] Для каждого кодированного изображения, pic_type_idc используется для определения, анализировать ли синтаксические элементы, связанные с интра-слайсами (I-слайсами) и интер-слайсами (В-, Р-слайсами). Например, синтаксические элементы, связанные с интра-слайсами, pic_log2_difr_min_qt_min_cb_intra_slice_luma,[0052] For each encoded picture, pic_type_idc is used to determine whether to analyze syntax elements associated with intra-slices (I-slices) and inter-slices (B-, P-slices). For example, the syntax elements associated with intra-slices are pic_log2_difr_min_qt_min_cb_intra_slice_luma,

pic_max_mtt_hierarchy_depth_intra_slice_luma,pic_max_mtt_hierarchy_depth_intra_slice_luma,

pic_log2_diff_min_qt_min_qt_intra_slice_luma,pic_log2_diff_min_qt_min_qt_intra_slice_luma,

pic_log2_diff_min_qt_min_cb_intra_slice_luma,pic_log2_diff_min_qt_min_cb_intra_slice_luma,

pic_log2_diff_min_qt_min_cb_intra_slice_chroma,pic_log2_diff_min_qt_min_cb_intra_slice_chroma,

pic_max_mtt_hierarchy_depth_intra_slice_chroma,pic_max_mtt_hierarchy_depth_intra_slice_chroma,

pic_log2_diff_max_bt_min_qt_intra_slice_chroma иpic_log2_diff_max_bt_min_qt_intra_slice_chroma and

pic_log2_diff_min_qt_min_cb_intra_slice_chroma, декодируются только при наличии только I-слайсов, связанных с РН. С другой стороны, синтаксические элементы, связанные с интер-слайсами, декодируются всякий раз, когда присутствуют интер-слайсы.pic_log2_diff_min_qt_min_cb_intra_slice_chroma are decoded only if there are only I-slices associated with the RH. On the other hand, syntactic elements associated with inter-slices are decoded whenever inter-slices are present.

[0053] В одном варианте осуществления, pic_type_idc может присутствовать и в PPS, и в РН, ссылающихся на PPS, как pps_pic_type_idc и ph_pic_type_idc, соответственно.[0053] In one embodiment, pic_type_idc may be present in both the PPS and the PH referring to the PPS as pps_pic_type_idc and ph_pic_type_idc, respectively.

Figure 00000042
Figure 00000042

Figure 00000043
Figure 00000043

Figure 00000044
Figure 00000044

Figure 00000045
Figure 00000045

Figure 00000046
Figure 00000046

[0054] При этом pps_pic_type_idc задает типы слайсов для всех слайсов каждого кодированного изображения, ссылающегося на PPS.[0054] Here, pps_pic_type_idc specifies slice types for all slices of each encoded picture referring to the PPS.

[0055] Кроме того, pps_mvd_1l_zero_idc, равный 0, указывает, что синтаксический элемент mvd_l1_zero_flag присутствует в РН, ссылающихся на PPS. Дополнительно, pps_mvd_l1_zero_idc, равный 1 или 2, указывает, что mvd ll zero flag отсутствует в РН, ссылающихся на PPS. Дополнительно, pps_mvd_l1_zero_idc, равный 3, резервируется для использования в будущем в ITU-T | ISO/IEC. Когда отсутствует, pps_mvd_1l_zero_idc может определяться равным 0.[0055] In addition, pps_mvd_1l_zero_idc equal to 0 indicates that the mvd_l1_zero_flag syntax element is present in the RNs referring to the PPS. Additionally, pps_mvd_l1_zero_idc equal to 1 or 2 indicates that the mvd ll zero flag is not present in the RNs referring to PPS. Additionally, pps_mvd_l1_zero_idc equal to 3 is reserved for future use in ITU-T | ISO/IEC. When absent, pps_mvd_1l_zero_idc may be set to 0.

[0056] Кроме того, pps_collocated_from_10_idc, равный 0, указывает, что синтаксический элемент collocated from lO flag присутствует в заголовках слайсов, ссылающихся на PPS. Дополнительно, pps_collocated_from_10_idc, равный 1 или 2, указывает, что синтаксический элемент collocated_from_10_flag отсутствует в заголовках слайсов, ссылающихся на PPS. Дополнительно, pps_collocated_from_10_idc, равный 3, резервируется для использования в будущем в ITU-T | ISO/IEC. Когда отсутствует, pps_collocated_from_10_idc может определяться равным 0.[0056] In addition, pps_collocated_from_10_idc equal to 0 indicates that the collocated from lO flag syntax element is present in the slice headers referring to the PPS. Additionally, pps_collocated_from_10_idc equal to 1 or 2 indicates that the collocated_from_10_flag syntax element is not present in the slice headers referring to the PPS. Additionally, pps_collocated_from_10_idc equal to 3 is reserved for future use in ITU-T | ISO/IEC. When absent, pps_collocated_from_10_idc may be set to 0.

[0057] Кроме того, pps_six_minus_max_num_merge_cand_plus1, равный 0, указывает, что pps_six_minus_max_num_merge_cand присутствует в РН, ссылающихся на PPS. Дополнительно, pps_six_minus_max_num_merge_cand_plus1, больший 0, указывает, что pps_six_minus_max_num_merge_cand отсутствует в РН, ссылающихся на PPS. Значение pps_six_minus_max_num_merge_cand_plus1 должно быть в пределах от 0 до 6, включительно. Когда отсутствует, pps_six_minus_max_num_merge_cand_plus1 может определяться равным 0.[0057] In addition, pps_six_minus_max_num_merge_cand_plus1 equal to 0 indicates that pps_six_minus_max_num_merge_cand is present in the PH referring to the PPS. Additionally, pps_six_minus_max_num_merge_cand_plus1 greater than 0 indicates that pps_six_minus_max_num_merge_cand is not present in PPS-referencing PHs. The value of pps_six_minus_max_num_merge_cand_plus1 must be between 0 and 6, inclusive. When absent, pps_six_minus_max_num_merge_cand_plus1 may be set to 0.

[0058] Кроме того, pic_max_num_merge_candminus_max_num_triangle_candplus1, равный 0, указывает, что pic_max_num_merge_candminus_max_num_triangle_cand присутствует в РН слайсов, ссылающихся на PPS. Дополнительно, pic_max_num_merge_candminus_max_num_triangle_candplus1, больший 0, указывает, что pic_max_num_merge_candminus_max_num_triangle_cand отсутствует в РН, ссылающихся на PPS. Значение pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1 должно быть в пределах от 0 до MaxNumMergeCand - 1. Когда отсутствует, pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1 может определяться равным 0.[0058] In addition, pic_max_num_merge_candminus_max_num_triangle_candplus1 equal to 0 indicates that pic_max_num_merge_candminus_max_num_triangle_cand is present in the PH of slices referring to PPS. Additionally, pic_max_num_merge_candminus_max_num_triangle_candplus1 greater than 0 indicates that pic_max_num_merge_candminus_max_num_triangle_cand is not present in PPS-referencing PHs. The value of pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1 shall be between 0 and MaxNumMergeCand - 1. When absent, pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1 may be set to 0.

[0059] В одном примере, когда значение pps_pic_type_idc указывает присутствие одного типа слайса (I- или В- или Р- слайса, как в таблице 10 значение 1, 2 и 3), значение ph_pic_type_idc может определяться из значения pps_pic_type_idc.[0059] In one example, when the pps_pic_type_idc value indicates the presence of one slice type (I- or B- or P-slice, as in Table 10 value 1, 2, and 3), the ph_pic_type_idc value may be determined from the pps_pic_type_idc value.

Figure 00000047
Figure 00000047

Figure 00000048
Figure 00000048

Figure 00000049
Figure 00000049

Figure 00000050
Figure 00000050

Figure 00000051
Figure 00000051

Figure 00000052
Figure 00000052

Figure 00000053
Figure 00000053

[0060] При этом, ph_pic_type_idc задает типы слайсов для всех слайсов каждого кодированного изображения, связанного с РН.[0060] Here, ph_pic_type_idc specifies slice types for all slices of each encoded picture associated with the PH.

[0061] В одном варианте осуществления, ph_tic_type_idc, равный 1, указывает, что каждое кодированное изображение, связанное с РН, имеет только один или более I-слайсов.[0061] In one embodiment, ph_tic_type_idc equal to 1 indicates that each encoded picture associated with the PH has only one or more I-slices.

Figure 00000054
Figure 00000054

[0062] Если pps_pic_type_idc равен 0 (B-, P-, I-слайсы, как в таблице 10), значение ph_pic_type_idc находится в диапазоне от 0 до 2, включительно. В противном случае, значение ph_pic_type_idc может определяться из pps_pic_type_idc (например, тождественно). В таком случае, требование к согласованию битового потока состоит в том, что значения ph_pic_type_idc должны быть равны значениям pps_pic_type_idc.[0062] If pps_pic_type_idc is 0 (B-, P-, I-slices as in Table 10), the value of ph_pic_type_idc is in the range 0 to 2, inclusive. Otherwise, the value of ph_pic_type_idc may be determined from pps_pic_type_idc (eg, identically). In such a case, the bitstream matching requirement is that the values of ph_pic_type_idc must be equal to the values of pps_pic_type_idc.

[0063] В одном примере, сигнализация синтаксиса ph_pic_type_idc зависит от значения pps_pic_type_idc (например, ограничивается им). Когда значение pps_pic_type_idc указывает присутствие как интра-слайсов (I-слайсов), так и интер-слайсов (В-, Р-слайсов) в кодированных изображениях, ph_tic_type_idc нужно сигнализировать/анализировать для указания типов слайсов, присутствующих в этом изображении, связанном с заголовком изображения. В других случаях, когда pps_pic_type_idc указывает присутствие единственного типа слайса, ph_pic_type_idc не сигнализируется/анализируется, и определяется равным (например, идентичным) типу слайса pps_pic_type_idc. Требование к согласованию битового потока состоит в том, что диапазон ph_pic_type_idc не больше, чем диапазон pps_pic_type_idc.[0063] In one example, the ph_pic_type_idc syntax signaling is dependent on (eg, limited to) the pps_pic_type_idc value. When the value of pps_pic_type_idc indicates the presence of both intra-slices (I-slices) and inter-slices (B-, P-slices) in encoded pictures, ph_tic_type_idc needs to be signaled/parsed to indicate the slice types present in that picture associated with a header Images. In other cases, when pps_pic_type_idc indicates the presence of a single slice type, ph_pic_type_idc is not signaled/parsed, and is determined to be equal to (eg, identical to) the pps_pic_type_idc slice type. The bitstream matching requirement is that the range of ph_pic_type_idc is not greater than the range of pps_pic_type_idc.

Figure 00000055
Figure 00000055

Figure 00000056
Figure 00000056

Figure 00000057
Figure 00000057

Figure 00000058
Figure 00000058

Figure 00000059
Figure 00000059

Figure 00000060
Figure 00000060

Figure 00000061
Figure 00000061

[0064] При этом, ph_pic_type_idc задает типы слайсов для всех слайсов каждого кодированного изображения, связанного с РН. Кроме того, ph_pic_type_idc может присутствовать в битовом потоке только, когда pps_pic_type_idc равен 0.[0064] Here, ph_pic_type_idc specifies slice types for all slices of each encoded picture associated with the PH. Also, ph_pic_type_idc can only be present in the bitstream when pps_pic_type_idc is 0.

[0065] Дополнительно, ph_pic_type_idc, равный 1, указывает, что каждое кодированное изображение, связанное с РН, имеет только один или более I-слайсов. Если pps_pic_type_idc равен 0 (В-, Р-, I-слайсы, как в таблице 8), значение ph_tic_type_idc находится в диапазоне от 0 до 2, включительно. В противном случае, когда ph_pic_type_idc отсутствует, оно определяется равным pps_ph_type_idc, как в таблице 8.[0065] Additionally, ph_pic_type_idc equal to 1 indicates that each encoded picture associated with the PH has only one or more I-slices. If pps_pic_type_idc is 0 (B-, P-, I-slices as in Table 8), the value of ph_tic_type_idc is in the range 0 to 2, inclusive. Otherwise, when ph_pic_type_idc is absent, it is determined to be pps_ph_type_idc as in Table 8.

[0066] В одном варианте осуществления, синтаксические элементы, связанные с РН, включены в блок NAL RBSP уровня слайса, и ph_present_flag используется для указания присутствия синтаксиса, связанного с РН, в блоке NAL RBSP уровня слайса. Повторная сигнализация синтаксиса, связанного с РН, может иметь преимущество устойчивости к ошибкам и восстановления после ошибки. Когда блок NAL РН повреждается при передаче по любого рода сети, блоки NAL RBSP уровня слайса способны к восстановлению после ошибки при наличии РН в блоках NAL RBSP уровня слайса. Изменения по сравнению с VVC проект 7 выделены курсивом.[0066] In one embodiment, the syntax elements associated with the PH are included in the slice level RBSP NAL unit, and ph_present_flag is used to indicate the presence of the syntax associated with the PH in the slice level RBSP NAL unit. Resigning the RH-related syntax may have the benefit of error tolerance and error recovery. When a PH NAL becomes corrupted in transit over any kind of network, the slice layer RBSP NALs are capable of error recovery when there is a PH in the slice layer RBSP NALs. Changes from VVC draft 7 are in italics.

Figure 00000062
Figure 00000062

[0067] При этом ph_present_flag может использоваться для указания присутствия синтаксиса, связанного с РН в RBSP уровня слайса. Когда ph_present_flag равен 1, синтаксис, связанный с РН, присутствует. Когда ph_present flag равен 0, синтаксис, связанный с РН, отсутствует в RBSP уровня слайса.[0067] Here, the ph_present_flag may be used to indicate the presence of a PH-related syntax in a slice-level RBSP. When ph_present_flag is 1, the PH-related syntax is present. When the ph_present flag is 0, the PH-related syntax is not present in the slice level RBSP.

[0068] В одном варианте осуществления, когда pic_type, декодированный в разделителе AU, как описано выше, присутствует, pic_type_idc, сигнализируемый в HLS, может определяться из значения pic_type или ограничиваться им.[0068] In one embodiment, when the pic_type decoded in the AU delimiter as described above is present, the pic_type_idc signaled in the HLS may be determined from or limited by the pic_type value.

[0069] В одном примере, когда pic_type равен 0, как в таблице 5, указывая I-слайс, требование к согласованию битового потока состоит в том, что значения pic_type_idc указывают, что в каждом изображении присутствуют только интра-слайсы. Например, когда согласовано, что pic_type_idc равен 1, присутствуют только интра-слайсы.[0069] In one example, when pic_type is 0, as in Table 5, indicating an I-slice, the bitstream matching requirement is that pic_type_idc values indicate that only intra-slices are present in each picture. For example, when it is agreed that pic_type_idc is 1, only intra-slices are present.

[0070] В одном примере, когда pic_type_idc ограничивается значением pic_type, диапазон значения pic_type_idc может зависеть от значения pic_type. Например, pic_type_idc имеет значения, как описано в таблице 10, и, если pic_type равен 1, значение pic_type_idc может иметь значение 1 или 3. В других случаях, когда pic_type равен 2, значение pic_type_idc составляет от 0 до 3.[0070] In one example, when pic_type_idc is limited to the value of pic_type, the range of the value of pic_type_idc may depend on the value of pic_type. For example, pic_type_idc has values as described in Table 10, and if pic_type is 1, pic_type_idc can have a value of 1 or 3. In other cases, when pic_type is 2, pic_type_idc is 0 to 3.

[0071] В одном варианте осуществления, когда pic_type_idc сигнализируется в HLS согласно вышеупомянутому(ым) способу(ам), можно определять slice_type.[0071] In one embodiment, when pic_type_idc is signaled in HLS according to the above method(s), slice_type can be determined.

[0072] В одном примере, когда pic_type_idc имеет значение, указывающее на наличие только интра-слайсов, slice_type может определяться равным 2.[0072] In one example, when pic_type_idc has a value indicating only intra-slices, slice_type may be determined to be 2.

[0073] В одном примере, когда pic_type_idc имеет значение, указывающее на наличие только интер-слайсов, значение slice_type находится в диапазоне от 0 до 1, включительно. Например, когда pic_type_idc имеет значение 2 (В-, Р-слайс), slice_type может принимать значения 0 и 1.[0073] In one example, when pic_type_idc has a value indicating only inter-slices, the slice_type value is in the range 0 to 1, inclusive. For example, when pic_type_idc is 2 (B-, P-slice), slice_type can be 0 and 1.

[0074] В одном варианте осуществления, значение slice_type может определяться из значения pic_type_idc и num_slices_in_pic_minus1.[0074] In one embodiment, the value of slice_type may be determined from the value of pic_type_idc and num_slices_in_pic_minus1.

[0075] Требование к согласованию битового потока состоит в том, что значение num_slices_in_pic_minus1 больше или равно 1, когда значение pic_type_idc указывает на наличие как интра-слайсов, так и интер-слайсов.[0075] The bitstream matching requirement is that the value of num_slices_in_pic_minus1 is greater than or equal to 1 when the value of pic_type_idc indicates the presence of both intra-slices and inter-slices.

[0076] Возможны случаи, когда значение pic_type_idc указывает, что в кодированном изображении существуют как интра-слайсы, так и интер-слайсы, и значение num_slices_in_pic_minus1 больше или равно 1.[0076] There are cases where the value of pic_type_idc indicates that both intra-slices and inter-slices exist in the encoded image, and the value of num_slices_in_pic_minus1 is greater than or equal to 1.

[0077] Когда все ранее кодированные слайсы являются интер-слайсами, последний слайс может быть интра-слайсом со slice_type, равным 2 (I-слайсом).[0077] When all previously encoded slices are inter-slices, the last slice may be an intra-slice with slice_type equal to 2 (I-slice).

[0078] Когда все ранее кодированные слайсы являются интра-слайсами, последний слайс может быть интер-слайсом со значением slice_type в пределах от 0 до 1, включительно.[0078] When all previously encoded slices are intra-slices, the last slice may be an inter-slice with a slice_type value ranging from 0 to 1, inclusive.

[0079] Предложенные выше способы можно реализовать посредством схемы обработки (например, одного или более процессоров или одной или более интегральных схем). В одном примере, один или более процессоров выполняют программу, которая хранится на компьютерно-считываемом носителе для осуществления одного или более из предложенных способов.[0079] The methods proposed above may be implemented by a processing circuit (eg, one or more processors or one or more integrated circuits). In one example, one or more processors execute a program that is stored on a computer-readable medium to implement one or more of the proposed methods.

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

[0081] Компьютерное программное обеспечение может кодироваться с использованием любого подходящего машинного кода или компьютерного языка, который может подвергаться ассемблированию, компиляции, редактированию связей или аналогичной обработке для создания кода, содержащего инструкции, которые могут выполняться напрямую, или посредством интерпретации, выполнения микрокода и т.п., компьютерными центральными процессорами (CPU, central processing units), графическими процессорами (GPU, Graphics Processing Units) и т.п.[0081] Computer software may be coded using any suitable machine code or computer language that may be assembled, compiled, linked, or similarly processed to create code containing instructions that can be executed directly, or through interpretation, execution of microcode, etc. .p., computer central processing units (CPU, central processing units), graphic processors (GPU, Graphics Processing Units), etc.

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

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

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

[0085] Устройства ввода интерфейса с человеком могут включать в себя один или более из (по одному из изображенных): клавиатуры 301, мыши 302, сенсорной панели 303, сенсорного экрана 310 и связанного с ним графического адаптера 350, информационной перчатки, джойстика 305, микрофона 306, сканера 307, камеры 308.[0085] Human interface input devices may include one or more of (one of each depicted): keyboard 301, mouse 302, touch pad 303, touch screen 310 and associated graphics adapter 350, data glove, joystick 305, microphone 306, scanner 307, camera 308.

[0086] Компьютерная система 300 также может включать в себя некоторые устройства вывода интерфейса с человеком. Такие устройства вывода могут стимулировать органы чувств одного или более пользователей посредством, например, тактильного вывода, звука, света и запаха/вкуса. Такие устройства вывода могут включать в себя устройства тактильного вывода (например, тактильной обратной связи посредством сенсорного экрана 310, информационной перчатки или джойстика 305, но также могут быть устройствами тактильной обратной связи, которые не служат устройствами ввода), устройства вывода аудио (например: громкоговорители 309, наушники (не показаны)), устройства визуального вывода (например, экраны (2910), в том числе кинескопные (CRT, cathode ray tube) экраны, жидкокристаллические (LCD, liquid-crystal display) экраны, плазменные экраны, органические светодиодные (OLED, organic light-emitting diode) экраны, каждый с возможностями сенсорного экранного ввода или без них, каждый с возможностями тактильной обратной связи или без них, некоторые из которых способны к двухмерному визуальному выводу или более чем трехмерному выводу посредством, например, стереографического вывода; очков виртуальной реальности (не показаны), голо графических дисплеев и дымовых баков (не показаны)) и принтеров (не показаны).[0086] Computer system 300 may also include some human interface output devices. Such output devices may stimulate the senses of one or more users through, for example, tactile output, sound, light, and smell/taste. Such output devices may include tactile output devices (e.g., tactile feedback via touch screen 310, data glove, or joystick 305, but may also be tactile feedback devices that do not serve as input devices), audio output devices (e.g.: speakers 309, headphones (not shown)), visual output devices (for example, screens (2910), including kinescope (CRT, cathode ray tube) screens, liquid-crystal (LCD, liquid-crystal display) screens, plasma screens, organic LED ( OLED, organic light-emitting diode) screens, each with or without touch screen input capabilities, each with or without tactile feedback capabilities, some of which are capable of two-dimensional visual output or more than three-dimensional output through, for example, stereographic output; virtual reality goggles (not shown), holographic displays and smoke tanks (not shown). ny)) and printers (not shown).

[0087] Компьютерная система 300 также может включать в себя доступные человеку запоминающие устройства и связанные с ними носители, например, оптические носители, включающие в себя CD/DVD ROM/RW 320 с носителями 321 CD/DVD и т.п., карты 322 флэш-памяти, сменный жесткий диск или твердотельный диск 323, традиционные магнитные носители, например, ленту и флоппи-диск (не показан), специализированные устройства на основе ROM/ASIC/PLD, например, защитные аппаратные ключи (не показаны) и т.п.[0087] The computer system 300 may also include human accessible storage devices and associated media, such as optical media including CD/DVD ROM/RW 320 with CD/DVD media 321, and the like, cards 322 flash memory, removable hard drive or 323 solid state drive, traditional magnetic media such as tape and floppy disk (not shown), dedicated ROM/ASIC/PLD based devices such as security dongles (not shown), etc. P.

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

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

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

[0091] Ядро 340 может включать в себя один или более центральных процессоров (CPU) 341, графические процессоры (GPU) 342, специализированные программируемые модули обработки в форме вентильных матриц, программируемых пользователем (FPGA, Field Programmable Gate Arrays) 343, аппаратные ускорители 344 для некоторых задач, графический адаптер (350) и т.д. Эти устройства, совместно с постоянной памятью (ROM) 345, оперативной памятью 346, внутренним хранилищем данных большой емкости, например, внутренними жесткими дисками 347, недоступными пользователю, твердотельные приводы (SSD, solid-state drives) и т.п., могут соединяться посредством системной шины 348. В некоторых компьютерных системах системная шина 348 может быть доступна в форме одного или более физических разъемов для обеспечения расширений за счет дополнительных CPU, GPU и т.п. Периферийные устройства могут подключаться либо напрямую к системной шине 348 ядра, либо через периферийную шину 349. Архитектуры периферийной шины включают в себя межсоединение периферийных компонентов (PCI, peripheral component interconnect), USB и т.п.[0091] The core 340 may include one or more central processing units (CPUs) 341, graphics processing units (GPUs) 342, field programmable gate arrays (FPGAs) 343, hardware accelerators 344 for some tasks, graphics adapter (350), etc. These devices, together with read-only memory (ROM) 345, RAM 346, high-capacity internal storage such as user-inaccessible internal hard drives 347, solid-state drives (SSDs, solid-state drives), etc., can be connected via system bus 348. In some computer systems, system bus 348 may be available in the form of one or more physical connectors to allow for expansions with additional CPUs, GPUs, and the like. Peripherals may connect either directly to the core system bus 348 or via a peripheral bus 349. Peripheral bus architectures include peripheral component interconnect (PCI), USB, and the like.

[0092] CPU 341, GPU 342, FPGA 343 и ускорители 344 могут выполнять некоторые инструкции, которые совместно могут составлять вышеупомянутый компьютерный код. Этот компьютерный код может храниться в ROM 345 или RAM 346. Переходные данные также могут храниться в RAM 346, тогда как постоянные данные могут храниться, например, во внутреннем хранилище 347 данных большой емкости. Быстрое сохранение и извлечение из любого запоминающего устройства может обеспечиваться за счет использования кэш-памяти, которая может быть тесно связана с один или более CPU 341, GPU 342, хранилищем 347 данных большой емкости, ROM 345, RAM 346 и т.п.[0092] CPU 341, GPU 342, FPGA 343, and accelerators 344 may execute some instructions that together may constitute the above computer code. This computer code may be stored in ROM 345 or RAM 346. Transient data may also be stored in RAM 346, while persistent data may be stored in, for example, internal high capacity data storage 347. Fast storage and retrieval from any storage device can be achieved through the use of cache memory, which can be closely associated with one or more CPU 341, GPU 342, mass storage 347, ROM 345, RAM 346, and the like.

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

[0094] В порядке примера, но не ограничения, компьютерная система, имеющая архитектуру 300, и, в частности, ядро 340 может обеспечивать функциональные [0094] By way of example, and not limitation, a computer system having architecture 300, and in particular core 340, may provide functional

возможности благодаря выполнению процессором(ами) (включающим(и) в себя CPU, GPU, FPGA, ускорители и т.п.) программного обеспечения, воплощенного в одном или более материальных компьютерно-считываемых носителей. Такие компьютерно-считываемые носители могут быть носителями, связанными с доступным пользователю хранилищем данных большой емкости, представленным выше, а также некоторым хранилищем ядра 340, носящим долговременный характер, например, внутренним хранилищем 347 данных большой емкости или ROM 345. Программное обеспечение, реализующее различные варианты осуществления настоящего изобретения, может храниться в таких устройствах и выполняться ядром 340. Компьютерно-считываемый носитель может включать в себя одно или более запоминающих устройств или микросхем, в соответствии с конкретными нуждами. Программное обеспечение может предписывать ядру 340 и, в частности, его процессорам (включая CPU, GPU, FPGA и т.п.) выполнять конкретные процессы или конкретные части описанных здесь конкретных процессов, включая задание структур данных, хранящихся в RAM 346, и модификацию таких структур данных согласно процессам, заданным программным обеспечением. Дополнительно или альтернативно, компьютерная система может обеспечивать функциональные возможности благодаря логике, зашитой или иным образом воплощенной в схеме (например, ускоритель 344), который может действовать вместо или совместно с программным обеспечением для выполнения конкретных процессов или конкретных частей описанных здесь конкретных процессов. Ссылка на программное обеспечение может охватывать логику, и наоборот, когда это уместно. Ссылка на компьютерно-считываемые носители может охватывать схему (например, интегральную схему (IC, integrated circuit)), где хранится программное обеспечение для выполнения, схему, воплощающую логику для выполнения, или обе из них, когда это уместно. Настоящее изобретение охватывает любую подходящую комбинацию оборудования и программного обеспечения.capabilities due to the execution by the processor(s) (including(and) CPU, GPU, FPGA, accelerators, etc.) software embodied in one or more tangible computer-readable media. Such computer-readable media can be media associated with the user-accessible bulk data store described above, as well as some permanent storage of the core 340, such as internal bulk data storage 347 or ROM 345. implementation of the present invention may be stored in such devices and executed by the core 340. Computer-readable media may include one or more memory devices or chips, in accordance with specific needs. The software may direct the core 340, and in particular its processors (including CPUs, GPUs, FPGAs, and the like), to execute specific processes or specific portions of the specific processes described herein, including defining data structures stored in RAM 346 and modifying such data structures according to the processes defined by the software. Additionally or alternatively, the computer system may provide functionality through logic hardwired or otherwise embodied in circuitry (e.g., accelerator 344) that may operate instead of or in conjunction with software to perform specific processes or specific portions of the specific processes described herein. A reference to software may cover logic, and vice versa when appropriate. Reference to computer-readable media may encompass a circuit (eg, an integrated circuit (IC)) where software is stored for execution, a circuit embodying logic for execution, or both, as appropriate. The present invention encompasses any suitable combination of hardware and software.

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

[0096] Непатентный источник:[0096] Non-patent source:

[1] IDF 10092019_high level syntax control for video coding_v2[1] IDF 10092019_high level syntax control for video coding_v2

[0097] Перечень аббревиатур:[0097] List of abbreviations:

HLS: синтаксис высокого уровняHLS: high level syntax

HEVC: высокопроизводительное видеокодированиеHEVC: High Performance Video Coding

VVC: универсальное видеокодированиеVVC: Universal Video Coding

CTU: единица дерева кодированияCTU: coding tree unit

SPS: набор параметров последовательностиSPS: Sequence Parameter Set

PPS: набор параметров изображенияPPS: Image Parameter Set

APS: набор адаптивных параметровAPS: adaptive parameter set

РН: заголовок изображенияPH: image title

SH: заголовок слайсаSH: slice header

SAO: адаптивное смещение отсчета (Sample Adaptive Offset)SAO: Sample Adaptive Offset

AU: блок доступаAU: access block

NAL: уровень сетевой абстракцииNAL: Network Abstraction Layer

RBSP: полезная нагрузка исходной байтовой последовательности (Raw Byte Sequence Payload).RBSP: Raw Byte Sequence Payload.

Claims (16)

1. Способ декодирования видеоданных, причем способ осуществляется по меньшей мере одним процессором и содержит этапы, на которых:1. A method for decoding video data, the method being carried out by at least one processor and comprising the steps of: указывают, с помощью синтаксического элемента заголовка изображения, для всех слайсов, включенных в соответствующее кодированное изображение, являются ли слайсы слайсами типа В, Р и/или I, причем синтаксический элемент кодируют с использованием беззнакового целого числа, иindicate, by means of a picture header syntax element, for all slices included in the corresponding encoded picture, whether the slices are slices of type B, P, and/or I, the syntax element being encoded using an unsigned integer, and декодируют видеоданные на основании типов слайсов, указанных посредством синтаксического элемента.decoding the video data based on the slice types indicated by the syntax element. 2. Способ по п. 1, в котором для кодированного изображения кодируют только связанные синтаксические элементы.2. The method of claim 1, wherein only related syntax elements are encoded for the encoded image. 3. Способ по п. 2, в котором, когда все слайсы кодированного изображения указаны как включающие в себя внутреннее предсказание, ни один синтаксический элемент внешнего предсказания не кодируют.3. The method of claim 2, wherein when all slices of the encoded image are indicated to include intra prediction, no inter prediction syntax element is encoded. 4. Способ по любому из пп. 1-3, в котором синтаксические элементы, связанные с заголовком изображения, включены в блок уровня сетевой абстракции полезной нагрузки исходной байтовой последовательности уровня слайса, и флаг используется для указания присутствия синтаксических элементов, связанных с заголовком изображения, в блоке уровня сетевой абстракции полезной нагрузки исходной байтовой последовательности уровня слайса.4. The method according to any one of paragraphs. 1-3, in which the syntax elements associated with the image header are included in the payload network abstraction layer block of the original slice-level byte sequence, and the flag is used to indicate the presence of the syntax elements associated with the image header in the payload network abstraction layer block of the original slice level byte sequence. 5. Способ по любому из пп. 1-3, в котором типы слайсов могут быть определены из декодированного значения разделителя блоков доступа.5. The method according to any one of paragraphs. 1-3, in which slice types can be determined from the decoded access block delimiter value. 6. Способ по любому из пп. 1-3, в котором типы слайсов могут быть определены, когда их сигнализируют в синтаксисе высокого уровня.6. The method according to any one of paragraphs. 1-3, in which slice types can be defined when signaled in high-level syntax. 7. Способ по любому из пп. 1-3, в котором типы слайсов могут быть определены на основании количества прямоугольных слайсов в кодированном изображении.7. The method according to any one of paragraphs. 1-3, in which slice types can be determined based on the number of rectangular slices in the encoded picture. 8. Способ по любому из пп. 1-3, в котором синтаксический элемент является синтаксическим элементом, кодированным экспоненциальным кодом Голомба 0-го порядка.8. The method according to any one of paragraphs. 1-3, in which the syntax element is a syntax element encoded with a 0th order exponential Golomb code. 9. Способ по любому из пп. 1-3, в котором синтаксический элемент является 2-битовым синтаксическим элементом, конфигурируемым с тремя состояниями.9. The method according to any one of paragraphs. 1-3, in which the syntax element is a 2-bit syntax element configurable with three states. 10. Способ по любому из пп. 1-3, в котором синтаксический элемент является 2-битовым синтаксическим элементом, конфигурируемым с четырьмя состояниями.10. The method according to any one of paragraphs. 1-3, in which the syntax element is a 2-bit syntax element configurable with four states. 11. Устройство для декодирования видеоданных, содержащее:11. A device for decoding video data, comprising: по меньшей мере одну память, конфигурированную для хранения компьютерного программного кода; иat least one memory configured to store computer program code; and по меньшей мере один процессор, конфигурированный для осуществления доступа по меньшей мере к одной памяти и работы согласно компьютерному программному коду для осуществления способа по любому из пп. 1-10.at least one processor configured to access at least one memory and operate according to a computer program code to implement the method according to any one of paragraphs. 1-10. 12. Компьютерно-считываемый носитель данных, на котором хранятся инструкции, которые заставляют по меньшей мере один процессор осуществлять способ по любому из пп. 1-10.12. A computer-readable storage medium that stores instructions that cause at least one processor to carry out the method according to any one of paragraphs. 1-10.
RU2021128832A 2019-12-19 2020-12-18 Signalling of the image header parameters RU2780809C1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US62/950,453 2019-12-19
US17/026,748 2020-09-21

Publications (1)

Publication Number Publication Date
RU2780809C1 true RU2780809C1 (en) 2022-10-04

Family

ID=

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120189053A1 (en) * 2011-01-22 2012-07-26 Qualcomm Incorporated Combined reference picture list construction for video coding
US20140036999A1 (en) * 2012-06-29 2014-02-06 Vid Scale Inc. Frame prioritization based on prediction information
US20140198181A1 (en) * 2013-01-17 2014-07-17 Qualcomm Incorporated Disabling inter-view prediction for reference picture list in video coding
RU2674928C1 (en) * 2012-07-06 2018-12-13 Нтт Докомо, Инк. Prediction video encoding apparatus, prediction video encoding method, prediction video encoding program, prediction video decoding apparatus, prediction video decoding method and prediction video decoding program
RU2017132847A (en) * 2015-03-27 2019-04-10 Квэлкомм Инкорпорейтед DETERMINING THE MODE OF THE OUTPUT OF MOVEMENT INFORMATION WHEN VIDEO CODING
US10375422B1 (en) * 2018-03-30 2019-08-06 Tencent America LLC Method and apparatus for motion field based tree splitting

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120189053A1 (en) * 2011-01-22 2012-07-26 Qualcomm Incorporated Combined reference picture list construction for video coding
US20140036999A1 (en) * 2012-06-29 2014-02-06 Vid Scale Inc. Frame prioritization based on prediction information
RU2674928C1 (en) * 2012-07-06 2018-12-13 Нтт Докомо, Инк. Prediction video encoding apparatus, prediction video encoding method, prediction video encoding program, prediction video decoding apparatus, prediction video decoding method and prediction video decoding program
US20140198181A1 (en) * 2013-01-17 2014-07-17 Qualcomm Incorporated Disabling inter-view prediction for reference picture list in video coding
RU2017132847A (en) * 2015-03-27 2019-04-10 Квэлкомм Инкорпорейтед DETERMINING THE MODE OF THE OUTPUT OF MOVEMENT INFORMATION WHEN VIDEO CODING
US10375422B1 (en) * 2018-03-30 2019-08-06 Tencent America LLC Method and apparatus for motion field based tree splitting

Similar Documents

Publication Publication Date Title
CN110324619B (en) Transform information prediction
US11882298B2 (en) Signaling of video coding tools supporting various chroma format
JP7329066B2 (en) Method, apparatus and computer program for decoding video data
US11758165B2 (en) Method for identification of random access point and picture types
AU2020372880B2 (en) Range of minimum coding block size in video coding
CN114503575A (en) Constraint on syntax elements of still image profiles
CN112292859A (en) Method and apparatus for using end of band outer NAL units in decoding
JP2021521720A (en) Simplified most probable mode list generation scheme
US20240007677A1 (en) Method for access unit delimiter signaling
CN113348666A (en) Method for identifying group of graph blocks
JP7061202B2 (en) Concatenated coding unit in a flexible tree structure
US11546637B2 (en) Method for signaling dependent and independent picture header
RU2780809C1 (en) Signalling of the image header parameters
CN113841393B (en) Video encoding and decoding method, device, computer equipment and storage medium
EP3903477B1 (en) Method for syntax controlled decoded picture buffer management
CN110324616B (en) Method and apparatus for stadium-based tree splitting
RU2775489C1 (en) Access blocks separator signaling method
RU2796261C1 (en) Minimum coding block size range for video encoding
CN113785495A (en) Flexible picture segmentation