Nothing Special   »   [go: up one dir, main page]

RU2794483C1 - Reference picture oversampling signalling with indication of constant window size in video bitstream - Google Patents

Reference picture oversampling signalling with indication of constant window size in video bitstream Download PDF

Info

Publication number
RU2794483C1
RU2794483C1 RU2021127639A RU2021127639A RU2794483C1 RU 2794483 C1 RU2794483 C1 RU 2794483C1 RU 2021127639 A RU2021127639 A RU 2021127639A RU 2021127639 A RU2021127639 A RU 2021127639A RU 2794483 C1 RU2794483 C1 RU 2794483C1
Authority
RU
Russia
Prior art keywords
signaled
sps
flag indicating
size
image
Prior art date
Application number
RU2021127639A
Other languages
Russian (ru)
Inventor
Беондоо ЧОЙ
Штефан ВЕНГЕР
Шань ЛЮ
Original Assignee
TEНСЕНТ АМЕРИКА ЭлЭлСи
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 TEНСЕНТ АМЕРИКА ЭлЭлСи filed Critical TEНСЕНТ АМЕРИКА ЭлЭлСи
Application granted granted Critical
Publication of RU2794483C1 publication Critical patent/RU2794483C1/en

Links

Images

Abstract

FIELD: video encoding and decoding.
SUBSTANCE: invention is related specifically to signalling the size of an image or portions of an image that may vary from image to image. Method for decoding an encoded video bitstream is proposed, which includes: obtaining the first flag indicating whether a constant image size is used in an encoded video sequence including the current image; based on the first flag indicating that a constant image size is used, decoding the current image without performing reference image resampling; based on the first flag indicating that a constant image size is not used, obtaining a second flag indicating whether the match window size is signalled; based on the second flag indicating that the match window size is signalled, obtaining the match window size, determining a resampling factor between the current picture and the reference picture based on the match window size, and performing resampling of the reference picture on the current picture using the resampling factor.
EFFECT: increase of efficiency of encoding and decoding a video bitstream.
20 cl, 11 dwg, 1 tbl

Description

Статья I. ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННУЮ ЗАЯВКУ Article I. CROSS-REFERENCE TO RELATED APPLICATION

[1] Настоящая заявка испрашивает приоритет предварительной заявки на патент США № 62/903,601, поданной 20 сентября 2019 г., и заявки на патент США № 17/009,979, поданной 2 сентября 2020 г., которые полностью включены в настоящий документ.[1] This application claims priority of U.S. Provisional Application No. 62/903,601, filed September 20, 2019, and U.S. Patent Application No. 17/009,979, filed September 2, 2020, which are incorporated herein in their entirety.

Статья II. Область техники, к которой относится изобретение Article II The technical field to which the invention belongs

[2] Раскрытый предмет изобретения относится к кодированию и декодированию видео, а более конкретно, к сигнализированию размера изображения или частей изображения, которые могут меняться от изображения к изображению или от части изображения к части изображения.[2] The disclosed subject matter relates to video coding and decoding, and more specifically to signaling the size of an image or portions of an image that may vary from image to image or from image part to image part.

Статья III.Уровень техникиArticle III. State of the Art

[3] Известно кодирование и декодирование видео с использованием межкадрового предсказания с компенсацией движения. Несжатое цифровое видео может состоять из серии изображений, причем каждое изображение имеет пространственный размер, например, 1920 x 1080 отсчетов яркости и связанных отсчетов цветности. Серия изображений может иметь фиксированную или переменную частоту изображений (неофициально также известную как частота кадров), например, 60 изображений в секунду или 60 Гц. Несжатое видео имеет значительные требования к битрейту. Например, для видео 1080p60 4:2:0 с частотой 8 бит на отсчет (разрешение отсчета яркости 1920x1080 при частоте кадров 60 Гц) требуется полоса пропускания, близкая к 1,5 Гбит/с. Час такого видео требует более 600 ГБ дискового пространства. [3] It is known to encode and decode video using motion-compensated inter-picture prediction. Uncompressed digital video may consist of a series of images, each image having a spatial size of, for example, 1920 x 1080 luma samples and associated chrominance samples. A series of images can have a fixed or variable image rate (informally also known as frame rate), such as 60 images per second or 60 Hz. Uncompressed video has significant bitrate requirements. For example, 1080p60 4:2:0 video at 8 bits per sample (1920x1080 brightness sample resolution at 60Hz frame rate) requires bandwidth close to 1.5 Gbps. An hour of such video requires more than 600 GB of disk space.

[4] Одной из целей кодирования и декодирования видео может быть уменьшение избыточности входного видеосигнала посредством сжатия. Сжатие может помочь снизить вышеупомянутые требования к полосе пропускания или пространству для хранения, в некоторых случаях на два порядка или более. Могут использоваться как сжатие без потерь, так и сжатие с потерями, а также их комбинация. Сжатие без потерь относится к методам, при которых из сжатого исходного сигнала может быть восстановлена точная копия исходного сигнала. При использовании сжатия с потерями восстановленный сигнал может не быть идентичным исходному сигналу, но искажение между исходным и восстановленным сигналами достаточно мало, чтобы сделать восстановленный сигнал пригодным для предполагаемого приложения. В случае видео широко применяется сжатие с потерями. Допустимая степень искажения зависит от приложения; например, для пользователей определенных потребительских приложений потоковой передачи допустимы более высокие искажения, чем для пользователей приложений вещательного телевидения. Достижимая степень сжатия может отражать следующее: более высокое разрешаемое/допустимое искажение может привести к более высокой степени сжатия. [4] One of the goals of video encoding and decoding may be to reduce the redundancy of the input video signal through compression. Compression can help reduce the aforementioned bandwidth or storage requirements, in some cases by two orders of magnitude or more. Both lossless and lossy compression, as well as a combination of both, can be used. Lossless compression refers to methods in which an exact copy of the original signal can be restored from a compressed source signal. When lossy compression is used, the reconstructed signal may not be identical to the original signal, but the distortion between the original and reconstructed signals is small enough to make the reconstructed signal suitable for the intended application. In the case of video, lossy compression is widely used. The amount of distortion allowed depends on the application; for example, users of certain consumer streaming applications can tolerate higher distortion than users of broadcast television applications. The achievable compression ratio may reflect the following: higher distortion resolution/tolerance may result in a higher compression ratio.

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

[6] Исторически видеокодеры и видеодекодеры имели тенденцию работать с заданным размером изображения, который в большинстве случаев был определен и оставался постоянным для кодированной видеопоследовательности (CVS), группы изображений (GOP) или аналогичного временного кадра с несколькими изображениями. Например, в MPEG-2 известно, что конструкция системы изменяет горизонтальное разрешение (и, следовательно, размер изображения) в зависимости от таких факторов, как активность сцены, но только для I-изображений, следовательно, обычно для GOP. Передискретизация опорных изображений для использования различных разрешений в CVS известна, например, из Рекомендаций МСЭ-Т H.263, Приложение P. Однако здесь размер изображения не изменяется, только опорные изображения подвергаются передискретизации, в результате чего потенциально могут использоваться только части холста изображения (в случае понижающей дискретизации) или захватываться только части сцены (в случае повышающей дискретизации). Кроме того, Приложение Q H.263 разрешает передискретизацию отдельного макроблока с коэффициентом два (в каждом измерении), в сторону повшения или понижения. Опять же, размер изображения остается прежним. Размер макроблока фиксирован в H.263, и поэтому его не нужно передавать.[6] Historically, video encoders and video decoders tended to work with a given picture size, which in most cases was defined and held constant for a coded video sequence (CVS), group of pictures (GOP), or similar multi-picture time frame. For example, in MPEG-2, the system design is known to change the horizontal resolution (and hence the image size) depending on factors such as scene activity, but only for I-pictures, hence typically for GOP. The resampling of reference pictures to use different resolutions in CVS is known, for example, from ITU-T Rec. H.263, Annex P. However, here the image size is not changed, only the reference pictures are resampled, with the result that only parts of the image canvas can potentially be used (in in the case of downsampling) or capture only parts of the scene (in the case of upsampling). In addition, H.263 Annex Q allows resampling of an individual macroblock by a factor of two (in each dimension), up or down. Again, the image size remains the same. The macroblock size is fixed in H.263 and therefore does not need to be transmitted.

[7] Изменение размера изображения в предсказанных изображениях стало более распространенным явлением в современном кодировании видео. Например, VP9 позволяет выполнять передискретизацию опорного изображения и изменять разрешение для всего изображения. Аналогичным образом, некоторые предложения, сделанные в отношении VVC (включая, например, Hendry, et. al., «On adaptive resolution change (ARC) for VVC», документ JVT JVET-M0135-v1, 9-19 января 2019 г., полностью включенный в настоящий документ) позволяют выполнять передискретизацию целых опорных изображений с другим - более высоким или более низким - разрешением. В этом документе предлагается кодировать различные кандидаты разрешения в наборе параметров последовательности и ссылаться на них с помощью элементов синтаксиса для каждого изображения в наборе параметров изображения.[7] Image resizing in predicted images has become more common in modern video coding. For example, VP9 allows you to resample the reference image and change the resolution for the entire image. Similarly, some of the proposals made regarding VVC (including, for example, Hendry, et. al., "On adaptive resolution change (ARC) for VVC", JVT document JVET-M0135-v1, January 9-19, 2019, incorporated herein in its entirety) allow resampling of entire reference pictures with a different, higher or lower resolution. This document proposes to encode different resolution candidates in a sequence parameter set and refer to them using the syntax elements for each image in the image parameter set.

Статья IV. Раскрытие сущности изобретенияArticle IV Disclosure of the essence of the invention

[8] В одном из вариантов осуществления предложен способ декодирования кодированного битового потока видео с использованием по меньшей мере одного процессора, причем способ включает в себя получение первого флага, указывающего, используется ли постоянный размер изображения в кодированной видеопоследовательности, включающей текущее изображение; на основании первого флага, указывающего, что используется постоянный размер изображения, декодирование текущего изображения без выполнения передискретизации опорного изображения; на основании первого флага, указывающего, что постоянный размер изображения не используется, получение второго флага, указывающего, сигнализируется ли размер окна соответствия; на основании второго флага, указывающего, что размер окна соответствия сигнализируется, получение размера окна соответствия, определение коэффициента передискретизации между текущим изображением и опорным изображением на основании размера окна соответствия и выполнение передискретизации опорного изображения на текущем изображении с использованием коэффициента передискретизации. [8] In one embodiment, a method is provided for decoding an encoded video bitstream using at least one processor, the method including: obtaining a first flag indicating whether a constant image size is used in an encoded video sequence including a current image; based on the first flag indicating that a constant image size is used, decoding the current image without performing reference image resampling; based on the first flag indicating that a constant image size is not used, obtaining a second flag indicating whether the match window size is signaled; based on a second flag indicating that the match window size is signaled, obtaining the match window size, determining a resampling factor between the current picture and the reference picture based on the match window size, and performing resampling of the reference picture on the current picture using the resampling factor.

[9] В одном из вариантов осуществления предложено устройство для декодирования кодированного битового потока видео, при этом устройство включает в себя по меньшей мере один элемент памяти, сконфигурированный для хранения программного кода; и по меньшей мере один процессор, сконфигурированный для считывания программного кода и работы в соответствии с инструкциями программного кода, причем программный код включает в себя: первый код получения, сконфигурированный так, чтобы предписывать по меньшей мере одному процессору получать первый флаг, указывающий, используется ли постоянный размер изображения в кодированной видеопоследовательности, включающей в себя текущее изображение; код декодирования, сконфигурированный так, чтобы предписывать по меньшей мере одному процессора, на основании первого флага, указывающего, что используется постоянный размер изображения, декодировать текущее изображение без выполнения передискретизации опорного изображения; второй код получения, сконфигурированный так, чтобы предписывать по меньшей мере одному процессору, на основании первого флага, указывающего, что постоянный размер изображения не используется, получать второй флаг, указывающий, сигнализируется ли размер окна соответствия; и код выполнения, сконфигурированный так, чтобы предписывать по меньшей мере одному процессору, на основании второго флага, указывающего, что размер окна соответствия сигнализируется, получать размер окна соответствия, определять коэффициент передискретизации между текущим изображением и опорным изображением на основании размера окна соответствия и выполнять передискретизацию опорного изображения на текущем изображении с использованием коэффициента передискретизации.[9] In one embodiment, an apparatus is provided for decoding an encoded video bitstream, the apparatus including at least one memory element configured to store program code; and at least one processor configured to read the program code and operate in accordance with the instructions of the program code, the program code including: a first receive code configured to cause the at least one processor to receive a first flag indicating whether a constant image size in the encoded video sequence including the current image; a decoding code configured to cause at least one processor, based on the first flag indicating that a constant image size is used, to decode the current image without performing reference image resampling; a second obtaining code, configured to cause at least one processor, based on the first flag indicating that a constant image size is not used, to obtain a second flag indicating whether a matching window size is signaled; and execution code configured to cause at least one processor, based on a second flag indicating that a match window size is signaled, to obtain a match window size, determine a resampling ratio between the current picture and a reference picture based on the match window size, and perform resampling reference image on the current image using the resampling factor.

[10] В одном из вариантов осуществления предложен невременный машиночитаемый носитель, хранящий инструкции, включающие в себя: одну или более инструкций, которые при исполнении одним или более процессорами устройства для декодирования кодированного битового потока видео предписывают одному или более процессорам: получать первый флаг, указывающий, используется ли постоянный размер изображения в кодированной видеопоследовательности, включающей текущее изображение; на основании первого флага, указывающего, что используется постоянный размер изображения, декодировать текущее изображение без выполнения передискретизации опорного изображения; на основании первого флага, указывающего, что постоянный размер изображения не используется, получать второй флаг, указывающий, сигнализируется ли размер окна соответствия; на основании второго флага, указывающего, что размер окна соответствия сигнализируется, получать размер окна соответствия, определять коэффициент передискретизации между текущим изображением и опорным изображением на основании размера окна соответствия и выполнять передискретизацию опорного изображения на текущем изображении с использованием коэффициента передискретизации.[10] In one embodiment, a non-transitory computer-readable medium is provided that stores instructions including: one or more instructions that, when executed by one or more processors of a device for decoding an encoded video bitstream, cause one or more processors to: receive a first flag indicating whether a constant image size is used in the encoded video sequence including the current image; based on the first flag indicating that a constant image size is used, decode the current image without performing reference image resampling; based on the first flag indicating that a constant image size is not used, obtain a second flag indicating whether the match window size is signaled; based on the second flag indicating that the match window size is signaled, obtain the match window size, determine a resampling ratio between the current picture and the reference picture based on the match window size, and perform resampling of the reference picture on the current picture using the resampling factor.

Статья V. Краткое описание чертежейArticle V Brief Description of Drawings

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

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

[13] На фиг. 2 показана схематическая иллюстрация упрощенной блок-схемы системы связи в соответствии с вариантом осуществления.[13] FIG. 2 is a schematic illustration of a simplified block diagram of a communication system in accordance with an embodiment.

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

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

[16] На фиг.5 показана схематическая иллюстрация вариантов сигнализирования параметров ARC / RPR в соответствии с вариантом осуществления.[16] FIG. 5 is a schematic illustration of ARC/RPR parameter signaling options according to an embodiment.

[17] На фиг. 6A-6B показаны схематические иллюстрации примеров синтаксических таблиц в соответствии с вариантом осуществления.[17] FIG. 6A-6B show schematic illustrations of examples of syntax tables in accordance with an embodiment.

[18] На фиг.7 показана схематическая иллюстрация передачи размера изображения и окна соответствия в SPS в соответствии с вариантами осуществления.[18] FIG. 7 is a schematic illustration of the transmission of an image size and a matching window in an SPS, in accordance with embodiments.

[19] На фиг.8 показана схематическая иллюстрация передачи размера изображения и окна соответствия в PPS в соответствии с вариантами осуществления.[19] FIG. 8 is a schematic illustration of the transmission of image size and matching window in PPS according to embodiments.

[20] На фиг. 9 показана блок-схема примерного процесса декодирования кодированного битового потока видео в соответствии с вариантом осуществления.[20] FIG. 9 shows a flowchart of an exemplary process for decoding an encoded video bitstream in accordance with an embodiment.

[21] На фиг.10 показана схематическая иллюстрация компьютерной системы в соответствии с вариантом осуществления.[21] FIG. 10 is a schematic illustration of a computer system in accordance with an embodiment.

Статья I. Осуществление изобретенияArticle I. Implementation of the invention

[22] На фиг.1 проиллюстрирована упрощенная блок-схема системы (100) связи согласно варианту осуществления настоящего раскрытия. Система (100) может включать в себя по меньшей мере два терминала (110 и 120), соединенных между собой через сеть (150). Для однонаправленной передачи данных первый терминал (110) может кодировать видеоданные в локальном местоположении для передачи другому терминалу (120) через сеть (150). Второй терминал (120) может принимать кодированные видеоданные другого терминала из сети (150), декодировать кодированные данные и отображать восстановленные видеоданные. Однонаправленная передача данных может быть обычным явлением в приложениях обслуживания мультимедиа и т. п.[22] Figure 1 illustrates a simplified block diagram of a communication system (100) according to an embodiment of the present disclosure. System (100) may include at least two terminals (110 and 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 the encoded video data of another terminal from the network (150), decode the encoded data, and display the recovered video data. One-way communication may be common in media serving applications and the like.

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

[24] На фиг.1 терминалы (110-140) могут быть изображены как серверы, персональные компьютеры и смартфоны, но принципы настоящего раскрытия не могут быть ограничены этим. Варианты осуществления настоящего раскрытия находят применение в портативных компьютерах, планшетных компьютерах, медиаплеерах и/или специализированном оборудовании для видеоконференц-связи. Сеть (150) представляет собой любое количество сетей, которые передают кодированные видеоданные между терминалами (110-140), включая, например, сети проводной и/или беспроводной связи. Сеть (150) связи может обмениваться данными в каналах с коммутацией каналов и/или с коммутацией пакетов. Репрезентативные сети включают в себя телекоммуникационные сети, локальные сети, глобальные сети и/или Интернет. Для целей настоящего обсуждения архитектура и топология сети (150) могут быть несущественными для работы настоящего раскрытия, если это не объясняется в данном документе ниже.[24] In Fig. 1, terminals (110-140) may be depicted as servers, personal computers, and smartphones, but the principles of the present disclosure cannot be limited to this. Embodiments of the present disclosure find application in laptop computers, tablet computers, media players, and/or specialized video conferencing equipment. Network (150) is any number of networks that transmit encoded video data between terminals (110-140), including, for example, wired and/or wireless networks. The communication network (150) may communicate on circuit-switched and/or packet-switched channels. Representative 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 essential to the operation of this disclosure, unless explained herein below.

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

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

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

[28] Приемник (310) может принимать одну или более кодированных видеопоследовательностей, которые должны быть декодированы декодером (210); в том же или другом варианте осуществления - по одной кодированной видеопоследовательности за раз, где декодирование каждой кодированной видеопоследовательности не зависит от других кодированных видеопоследовательностей. Кодированная видеопоследовательность может быть принята из канала (312), который может быть аппаратным/программным соединением с устройством хранения, в котором хранятся кодированные видеоданные. Приемник (310) может принимать кодированные видеоданные с другими данными, например, кодированными аудиоданными и/или потоками вспомогательных данных, которые могут быть отправлены их соответствующим использующим объектам (не изображены). Приемник (310) может отделять кодированную видеопоследовательность от других данных. Для борьбы с дрожанием в сети между приемником (310) и энтропийным декодером/парсером (320) (далее «парсер») может быть подключена буферная память (315). Когда приемник (310) принимает данные от устройства хранения/пересылки с достаточной полосой пропускания и управляемостью или из изосинхронной сети, буферная память (315) может не понадобиться или может быть небольшой. Для использования в пакетных сетях наилучшего качества, таких как Интернет, может потребоваться буфер (315), который может быть сравнительно большим и может быть предпочтительно адаптивного размера.[28] The receiver (310) may receive one or more encoded video sequences to be decoded by the decoder (210); in the same or another embodiment, one coded video sequence at a time, where the decoding of each coded video sequence is independent of other coded video sequences. An encoded video sequence may be received from a channel (312), which may be a hardware/software connection to a storage device that stores the encoded video data. The receiver (310) may receive encoded video data with other data, such as encoded audio data and/or ancillary data streams, which may be sent to their respective using entities (not shown). The receiver (310) may separate the encoded video sequence from other data. To combat network jitter, a buffer memory (315) can be connected between the receiver (310) and the entropy decoder/parser (320) (hereinafter "parser"). When the receiver (310) receives data from a storage/transfer device with sufficient bandwidth and controllability, or from an isosynchronous network, buffer memory (315) may not be needed or may be small. For use in best quality packet networks such as the Internet, a buffer (315) may be required, which may be relatively large and may preferably be of an adaptive size.

[29] Видеодекодер (210) может включать в себя синтаксический анализатор (320) для восстановления символов (321) из энтропийной кодированной видеопоследовательности. Категории этих символов включают в себя информацию, используемую для управления работой декодера (210), и потенциально информацию для управления устройством визуализации, таким как дисплей (212), который не является неотъемлемой частью декодера, но может быть подключен к нему, как это было показано на фиг.3. Управляющая информация для устройства (устройств) визуализации может быть в форме информации дополнительного улучшения (сообщения SEI) или фрагментов набора параметров информации о пригодности видео (VUI) (не изображены). Парсер (320) может выполнять парсинг/энтропийно декодировать принятую кодированную видеопоследовательность. Кодирование кодированной видеопоследовательности может осуществляться в соответствии с технологией или стандартом кодирования видео и может следовать принципам, хорошо известным специалистам в уровне техники, включая кодирование переменной длины, кодирование Хаффмана, арифметическое кодирование с контекстной чувствительностью или без нее и так далее. Парсер (320) может извлекать из кодированной видеопоследовательности набор параметров подгруппы по меньшей мере для одной из подгрупп пикселей в видеодекодере на основе по меньшей мере одного параметра, соответствующего группе. Субгруппы могут включать в себя группы изображений (GOP), изображения, тайлы, слайсы, кирпичики, макроблоки, единицы дерева кодирования (CTU), единицы кодирования (CU), блоки, единицы преобразования (TU), единицы предсказания (PU) и так далее. Тайл может указывать прямоугольную область CU/CTU в конкретном столбце и ряде тайлов в изображении. Кирпичик может указывать на прямоугольную область рядов CU/CTU в пределах конкретного тайла. Слайс может указывать на один или несколько кирпичиков изображения, которые содержатся в единице NAL. Субизображение может указывать на прямоугольную область одного или нескольких слайсов в изображении. Энтропийный декодер/парсер также может извлекать из кодированной видеопоследовательности информацию, такую как коэффициенты преобразования, значения параметров квантователя, векторы движения и так далее. [29] The video decoder (210) may include a parser (320) for recovering symbols (321) from the entropy encoded video sequence. The categories of these symbols include information used to control the operation of the decoder (210) and potentially information to control a visualization device such as a display (212) which is not an integral part of the decoder but can be connected to it as shown. in Fig.3. The control information for the rendering device(s) may be in the form of incremental enhancement information (SEI messages) or video usability information (VUI) parameter set fragments (not shown). The parser (320) may parse/entropy decode the received encoded video sequence. Encoding of the encoded video sequence may be in accordance with a video coding technology or standard, and may follow principles well known to those skilled in the art, including variable length coding, Huffman coding, arithmetic coding with or without context sensitivity, and so on. The parser (320) may extract from the encoded video sequence a set of subgroup parameters for at least one of the subgroups of pixels in the video decoder based on at least one parameter corresponding to the group. Subgroups may include groups of pictures (GOPs), pictures, tiles, slices, bricks, macroblocks, coding tree units (CTUs), coding units (CUs), blocks, transform units (TUs), prediction units (PUs), and so on. . A tile may indicate a rectangular area of a CU/CTU in a particular column and row of tiles in an image. A brick may point to a rectangular area of CU/CTU rows within a particular tile. A slice may point to one or more image bricks that are contained in a NAL unit. A sub-image may point to a rectangular area of one or more slices in an image. The entropy decoder/parser may also extract information from the encoded video sequence, such as transform coefficients, quantizer parameter values, motion vectors, and so on.

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

[31] Восстановление символов (321) может включать в себя множество различных модулей в зависимости от типа кодированного видеоизображения или его частей (таких как: внешнее и внутреннее изображение, внешний и внутренний блок) и других факторов. Какие модули задействованы и как, можно контролировать с помощью управляющей информации подгруппы, парсинг которой был выполнен из кодированной видеопоследовательности с помощью парсера (320). Поток такой управляющей информации подгруппы между парсером (320) и множеством модулей ниже не показан для ясности. [31] Symbol recovery (321) may include many different modules depending on the type of encoded video image or parts thereof (such as: external and internal image, external and internal block) and other factors. Which modules are involved and how can be controlled by the subgroup control information parsed from the encoded video sequence by the parser (320). The flow of such subgroup control information between the parser (320) and the plurality of modules is not shown below for clarity.

[32] Помимо уже упомянутых функциональных блоков, декодер 210 может быть концептуально подразделен на ряд функциональных модулей, как описано ниже. В практическом осуществлении, работающем в условиях коммерческих ограничений, многие из этих модулей тесно взаимодействуют друг с другом и могут быть, по меньшей мере частично, интегрированы друг в друга. Однако для целей описания раскрытого объекта изобретения уместно концептуальное подразделение на функциональные модули, приведенные ниже.[32] In addition to the functional blocks already mentioned, the decoder 210 can be conceptually subdivided into a number of functional modules, as described below. In a practical implementation operating under commercial constraints, many of these modules interact closely with each other and can be at least partially integrated into each other. However, for purposes of describing the disclosed subject matter, the conceptual division into functional modules below is appropriate.

[33] Первым модулем является модуль (351) масштабирования/обратного преобразования. Модуль (351) масштабирования/обратного преобразования принимает квантованный коэффициент преобразования, а также управляющую информацию, включая то, какое преобразование использовать, размер блока, коэффициент квантования, матрицы масштабирования квантования и так далее, в виде символа(ов) (321) от парсера (320). Он может выводить блоки, содержащие значения отсчетов, которые могут быть введены в агрегатор (355).[33] The first module is the scaling/inverse transform module (351). The scaling/inverse transform module (351) receives the quantized transform coefficient, as well as control information, including which transform to use, block size, quantization factor, quantization scaling matrices, and so on, in the form of symbol(s) (321) from the parser ( 320). It can output blocks containing sample values that can be entered into the aggregator (355).

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

[35] В других случаях выходные отсчеты модуля (351) масштабирования/обратного преобразования могут относиться к блоку с интеркодированием и потенциально с компенсацией движения. В таком случае модуль (353) предсказания с компенсацией движения может обращаться к памяти (357) опорных изображений, чтобы извлекать отсчеты, используемые для предсказания. После компенсации движения выбранных отсчетов в соответствии с символами (321), относящимися к блоку, эти отсчеты могут быть добавлены агрегатором (355) к выходу модуля масштабирования/обратного преобразования (в данном случае называемые остаточными отсчетами или остаточным сигналом), чтобы генерировать информацию о выходных отсчетах. Адреса в памяти опорных изображений, откуда модуль предсказания с компенсацией движения выбирает отсчеты предсказания, могут управляться векторами движения, доступными модулю предсказания с компенсацией движения в форме символов (321), которые могут иметь, например, компоненты X, Y и опорного изображения. Компенсация движения также может включать в себя интерполяцию значений отсчетов, извлеченных из памяти опорных изображений, когда используются точные векторы движения суботсчетов, механизмы предсказания вектора движения и так далее.[35] In other cases, the output samples of the scaling/inverse transform module (351) may refer to a block with intercoding and potentially with motion compensation. In such a case, the motion compensation prediction module (353) may access the reference picture memory (357) to retrieve samples used for prediction. After compensating for the movement of the selected samples according to the symbols (321) associated with the block, these samples can be added by the aggregator (355) to the output of the scaler/demap module (in this case called residual samples or residual signal) to generate output information. readings. Reference picture memory addresses from where the motion compensation prediction module selects prediction samples may be driven by motion vectors available to the motion compensation prediction module in the form of symbols (321), which may have X, Y and reference picture components, for example. Motion compensation may also include interpolation of sample values retrieved from reference picture memory when accurate sub-sample motion vectors are used, motion vector prediction mechanisms, and so on.

[36] Выходные отсчеты агрегатора (355) могут подвергаться различным методам петлевой фильтрации в модуле (356) петлевого фильтра. Технологии сжатия видео могут включать в себя технологии внутрипетлевой фильтрации, которые управляются параметрами, включенными в битовый поток кодированного видео и предоставляются модулю (356) петлевой фильтрации как символы (321) из парсера (320), но также могут реагировать на метаинформацию, полученную во время декодирования предыдущих (в порядке декодирования) частей кодированного изображения или кодированной видеопоследовательности, а также реагировать на ранее восстановленные и отфильтрованные посредством петлевой фильтрации значения отсчетов.[36] The output samples of the aggregator (355) may be subjected to various loop filtering methods in the loop filter module (356). The video compression technologies may include in-loop filtering technologies that are controlled by parameters included in the encoded video bitstream and provided to the loop filtering module (356) as symbols (321) from the parser (320), but may also respond to metainformation received during decoding the previous (in the order of decoding) parts of the encoded image or encoded video sequence, as well as responding to previously restored and filtered by loop filtering sample values.

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

[38] Определенные кодированные изображения после полного восстановления могут использоваться в качестве опорных изображений для будущего предсказания. После того, как кодированное изображение полностью восстановлено и кодированное изображение было идентифицировано как опорное изображение (например, парсером (320)), текущее опорное изображение (358) может стать частью буфера (357) опорных изображений, и свежая память текущих изображений может быть перераспределена перед началом восстановления следующего кодированного изображения. [38] Certain encoded pictures after full recovery can be used as reference pictures for future prediction. Once the encoded picture has been completely reconstructed and the encoded picture has been identified as a reference picture (eg, by parser (320)), the current reference picture (358) may become part of the reference picture buffer (357), and fresh current picture memory may be reallocated before the beginning of the reconstruction of the next encoded picture.

[39] Видеодекодер 210 может выполнять операции декодирования согласно заранее определенной технологии сжатия видео, которая может быть задокументирована в стандарте, таком как ITU-T Rec. H.265. Кодированная видеопоследовательность может соответствовать синтаксису, заданному используемой технологией или стандартом сжатия видео, в том смысле, что она соответствует синтаксису технологии или стандарта сжатия видео, как указано в документе или стандарте технологии сжатия видео и, в частности, в их документе профилей. Также для соответствия может быть необходимым, чтобы сложность кодированной видеопоследовательности находилась в пределах, определенных уровнем технологии или стандарта сжатия видео. В некоторых случаях уровни ограничивают максимальный размер изображения, максимальную частоту кадров, максимальную частоту дискретизации восстановления (измеряемую, например, в мегаотсчетах в секунду), максимальный размер опорного изображения и так далее. Пределы, установленные уровнями, в некоторых случаях могут быть дополнительно ограничены с помощью спецификаций гипотетического опорного декодера (HRD) и метаданных для управления буфером HRD, передаваемых в кодированной видеопоследовательности. [39] Video decoder 210 may perform decoding operations according to a predetermined video compression technology, which may be documented in a standard such as ITU-T Rec. H.265. The encoded video sequence may conform to the syntax given by the video compression technology or standard used, in the sense that it conforms to the syntax of the video compression technology or standard as specified in the video compression technology document or standard, and in particular their profile document. It may also be necessary for compliance that the complexity of the encoded video sequence be within limits defined by the level of technology or video compression standard. In some cases, levels limit the maximum image size, the maximum frame rate, the maximum recovery sampling rate (measured in megasamples per second, for example), the maximum reference image size, and so on. The limits set by the layers may, in some cases, be further limited by hypothetical reference decoder (HRD) specifications and metadata for managing the HRD buffer transmitted in the encoded video sequence.

[40] В варианте осуществления приемник (310) может принимать дополнительные (избыточные) данные с кодированным видео. Дополнительные данные могут быть включены как часть кодированной видеопоследовательности(ей). Дополнительные данные могут использоваться видеодекодером (210) для правильного декодирования данных и/или для более точного восстановления исходных видеоданных. Дополнительные данные могут быть в форме, например, временных, пространственных слоев или слоев улучшения отношения сигнал/шум (SNR), избыточных слайсов, избыточных изображений, кодов прямого исправления ошибок и так далее.[40] In an embodiment, the receiver (310) may receive additional (redundant) data with encoded video. Additional data may be included as part of the encoded video sequence(s). The additional data may be used by the video decoder (210) to correctly decode the data and/or to more accurately reconstruct the original video data. The additional data may be in the form of, for example, temporal, spatial or signal-to-noise ratio (SNR) enhancement layers, redundant slices, redundant images, forward error correction codes, and so on.

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

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

[43] Источник (201) видео может предоставить исходную видеопоследовательность для кодирования кодером (203) в форме цифрового потока отсчетов видео, который может иметь любую подходящую битовую глубину (например: 8 бит, 10 бит, 12 бит, ...), любое цветовое пространство (например, BT.601 Y CrCB, RGB, …) и любую подходящую структуру отсчетов (например, Y CrCb 4:2:0, Y CrCb 4:4:4). В системе обслуживания мультимедиа источник (201) видео может быть запоминающим устройством, хранящим предварительно подготовленное видео. В системе видеоконференц-связи источник (203) видео может быть камерой, которая захватывает информацию о локальном изображении в виде видеопоследовательности. Видеоданные могут быть предоставлены как множество отдельных изображений, которые при последовательном просмотре передают движение. Сами изображения могут быть организованы как пространственный массив пикселей, в котором каждый пиксель может содержать один или более отсчетов в зависимости от используемой структуры отсчетов, цветового пространства и т. д. Специалист в данной области техники может легко понять взаимосвязь между пикселями и отсчетами. Описание ниже ориентировано на отсчеты.[43] The video source (201) may provide the source video sequence for encoding by the encoder (203) in the form of a digital stream of video samples, which may have any suitable bit depth (eg: 8 bit, 10 bit, 12 bit, ...), any color space (eg BT.601 Y CrCB, RGB, …) and any suitable sample structure (eg Y CrCb 4:2:0, Y CrCb 4:4:4). In a media serving system, the video source (201) may be a storage device storing pre-rendered video. In a videoconferencing system, the video source (203) may be a camera that captures local image information as a video sequence. The video data may be provided as a plurality of individual images that, when viewed sequentially, convey motion. The images themselves can be organized as a spatial array of pixels, where each pixel can contain one or more samples depending on the sample structure used, color space, etc. One skilled in the art can easily understand the relationship between pixels and samples. The description below is based on readings.

[44] Согласно варианту осуществления кодер (203) может кодировать и сжимать изображения исходной видеопоследовательности в кодированную видеопоследовательность (443) в реальном времени или с любыми другими временными ограничениями, как того требует приложение. Обеспечение соответствующей скорости кодирования - одна из функций контроллера (450). Контроллер управляет другими функциональными модулями, как описано ниже, и функционально связан с этими модулями. Связь не изображена для ясности. Параметры, устанавливаемые контроллером, могут включать в себя параметры, относящиеся к управлению скоростью (пропуск изображения, квантователь, значение лямбда методов оптимизации скорость-искажение, …), размеру изображения, макету группы изображений (GOP), максимальному диапазону поиска вектора движения и так далее. Специалист в данной области техники может легко определить другие функции контроллера (450), поскольку они могут относиться к видеокодеру (203), оптимизированному для определенной конструкции системы.[44] According to an embodiment, the encoder (203) may encode and compress images of the source video sequence into the encoded video sequence (443) in real time or with any other time constraints as required by the application. Providing an appropriate coding rate is one of the functions of the controller (450). The controller controls other functional modules, as described below, and is functionally associated with these modules. The connection is not shown for clarity. The parameters set by the controller may include parameters related to speed control (picture skip, quantizer, speed-distortion optimization methods lambda value, ...), image size, group of pictures (GOP) layout, maximum motion vector search range, and so on. . A person skilled in the art can easily determine other functions of the controller (450) as they may relate to a video encoder (203) optimized for a particular system design.

[45] Некоторые видеокодеры работают в том, что специалист в данной области легко распознает как «петля кодирования». В качестве упрощенного описания петля кодирования может состоять из кодирующей части кодера (430) (далее «кодер источника») (ответственной за создание символов на основе входного изображения, которое должно быть кодировано, и опорного изображения(й)), и (локального) декодера (433), встроенного в кодер (203), который восстанавливает символы для создания данных отсчетов, которые (удаленный) декодер также может создать (поскольку любое сжатие между символами и кодированным битовым видеопотоком не имеет потерь в технологиях сжатия видео, рассматриваемых в раскрытом объекте). Этот восстановленный поток отсчетов вводится в память (434) опорных изображений. Поскольку декодирование потока символов приводит к результатам с точностью до бита, независимо от местоположения декодера (локально или удаленно), содержимое буфера опорных изображений также является точным до бита между локальным кодером и удаленным кодером. Другими словами, часть предсказания кодера «видит» в качестве отсчетов опорного изображения точно такие же значения отсчетов, которые декодер «видел» бы при использовании предсказания во время декодирования. Этот фундаментальный принцип синхронности опорного изображения (и результирующего дрейфа, если синхронность не может поддерживаться, например, из-за ошибок канала) хорошо известен специалисту в данной области техники.[45] Some video encoders operate in what one of ordinary skill in the art would readily recognize as a "coding loop". As a simplified description, an encoding loop may consist of an encoder coding part (430) (hereinafter "source encoder") (responsible for creating symbols based on the input picture to be encoded and the reference picture(s)), and a (local) decoder (433) built into the encoder (203) that decompresses the symbols to create sample data that the (remote) decoder can also create (because any compression between the symbols and the encoded video bitstream is lossless in the video compression technologies considered in the disclosed subject matter) . This reconstructed sample stream is entered into the reference picture memory (434). Because decoding a stream of symbols results in bit-accurate results, regardless of the location of the decoder (local or remote), the contents of the reference picture buffer are also bit-accurate between the local encoder and the remote encoder. In other words, the prediction portion of the encoder "sees" as reference picture samples exactly the same sample values that the decoder would "see" using prediction during decoding. This fundamental principle of reference picture synchronism (and the resulting drift if synchronism cannot be maintained due to, for example, channel errors) is well known to those skilled in the art.

[46] Работа «локального» декодера (433) может быть такой же, как у «удаленного» декодера (210), который уже был подробно описан выше в описании к фиг. 3. Кратко ссылаясь также на фиг.4, однако, поскольку символы доступны, и кодирование/декодирование символов в кодированную видеопоследовательность энтропийным кодером (445) и парсером (320) может осуществляться без потерь, части энтропийного декодирования декодера (210), включая канал (312), приемник (310), буфер (315) и парсер (320), не могут быть полностью реализованы в локальном декодере (433). [46] The operation of the "local" decoder (433) may be the same as that of the "remote" decoder (210), which has already been described in detail above in the description of FIG. 3. Briefly referring also to FIG. 4, however, since the symbols are available and encoding/decoding of the symbols into the encoded video sequence by the entropy encoder (445) and parser (320) can be lossless, the entropy decoding part of the decoder (210) including the channel ( 312), receiver (310), buffer (315), and parser (320) cannot be fully implemented in the local decoder (433).

[47] На этом этапе можно сделать наблюдение, что любая технология декодирования, кроме парсинга/энтропийного декодирования, которая присутствует в декодере, также обязательно должна присутствовать в, по существу, идентичной функциональной форме в соответствующем кодере. По этой причине раскрытый объект изобретения фокусируется на работе декодера. Описание технологий кодирования может быть сокращено, поскольку они являются инверсией полностью описанных технологий декодирования. Только в некоторых областях требуется более подробное описание, которое приводится ниже.[47] At this point, it can be observed that any decoding technology other than parsing/entropy decoding that is present in a decoder must also necessarily be present in a substantially identical functional form in the corresponding encoder. For this reason, the disclosed subject matter focuses on the operation of the decoder. The description of encoding technologies can be abbreviated as they are the inverse of fully described decoding technologies. Only in some areas a more detailed description is required, which is given below.

[48] В качестве части своей работы кодер (430) источника может выполнять кодирование с предсказанием с компенсацией движения, которое кодирует входной кадр с предсказанием со ссылкой на один или более ранее кодированных кадров из видеопоследовательности, которые были обозначены как «опорные кадры». Таким образом, механизм (432) кодирования кодирует различия между блоками пикселей входного кадра и блоками пикселей опорного кадра(ов), которые могут быть выбраны в качестве эталона(ов) предсказания для входного кадра.[48] As part of its operation, the source encoder (430) may perform motion-compensated predictive encoding that predictively encodes the input frame with reference to one or more previously encoded frames from the video sequence, which have been designated "reference frames". Thus, the coding engine (432) encodes the differences between the pixel blocks of the input frame and the pixel blocks of the reference frame(s) that can be selected as the prediction reference(s) for the input frame.

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

[50] Предиктор (435) может выполнять поиски с предсказанием для механизма (432) кодирования. То есть, для нового изображения, которое должно быть кодировано, предиктор (435) может искать в памяти (434) опорных изображений данные отсчетов (в качестве кандидатов блоков опорных пикселей) или определенные метаданные, такие как векторы движения опорных изображений, формы блоков и так далее, которые могут служить подходящим эталоном предсказания для новых изображений. Предиктор (435) может работать на основе блока отсчетов "блок-за-пикселем", чтобы найти соответствующие эталоны предсказания. В некоторых случаях, как определено результатами поиска, полученными предиктором (435), входное изображение может иметь эталоны предсказания, взятые из множества опорных изображений, сохраненных в памяти (434) опорных изображений.[50] The predictor (435) may perform predictive searches for the encoding engine (432). That is, for a new picture to be encoded, the predictor (435) may search the reference picture memory (434) for sample data (as reference pixel block candidates) or certain metadata such as reference picture motion vectors, block shapes, and so on. further, which can serve as a suitable prediction reference for new images. The predictor (435) may operate on a block-by-pixel basis of samples to find appropriate prediction references. In some cases, as determined by the search results obtained by the predictor (435), the input image may have prediction references taken from a plurality of reference pictures stored in the reference picture memory (434).

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

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

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

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

[55] Внутреннее изображение (I-изображение) может быть таким, которое можно кодировать и декодировать без использования какого-либо другого кадра в последовательности в качестве источника предсказания. Некоторые видеокодеки допускают различные типы внутренних изображений, включая, например, изображения с независимым обновлением декодера. Специалисту в области техники известны эти варианты I-изображений и их соответствующие применения и особенности.[55] An intra-picture (I-picture) may be one that can be encoded and decoded without using any other frame in the sequence as a prediction source. Some video codecs allow various types of internal images, including, for example, images with independent decoder update. The person skilled in the art will be aware of these variants of I-images and their respective uses and features.

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

[57] Изображение с двунаправленным предсказанием (B-изображение) может быть таким, которое может быть кодировано и декодировано с использованием интрапредсказания или интерпредсказания с использованием не более двух векторов движения и опорных индексов для предсказания значений отсчетов каждого блока. Точно так же изображения с множественным предсказанием могут использовать более двух опорных изображений и связанных метаданных для восстановления одного блока.[57] A bi-directional predictive picture (B-picture) may be one that can be encoded and decoded using intra-prediction or inter-prediction using at most two motion vectors and reference indices to predict sample values of each block. Similarly, multi-prediction images may use more than two reference images and associated metadata to reconstruct a single block.

[58] Исходные изображения обычно могут быть пространственно разделены на множество блоков отсчетов (например, блоки из 4x4, 8x8, 4x8 или 16x16 отсчетов каждый) и кодированы на поблочной основе. Блоки могут кодироваться с предсказанием со ссылкой на другие (уже кодированные) блоки, как определено назначением кодирования, применяемым к соответствующим изображениям блоков. Например, блоки I-изображений могут кодироваться без предсказания или они могут кодироваться с предсказанием со ссылкой на уже кодированные блоки одного и того же изображения (пространственное предсказание или интрапредсказание). Пиксельные блоки P-изображений могут кодироваться без предсказания, посредством пространственного предсказания или посредством временного предсказания со ссылкой на одно ранее кодированное опорное изображение. Блоки B-изображений могут кодироваться без предсказания, посредством пространственного предсказания или посредством временного предсказания со ссылкой на одно или два ранее кодированных опорных изображения. [58] Source images can typically be spatially divided into multiple blocks of samples (eg, blocks of 4x4, 8x8, 4x8, or 16x16 samples each) and encoded on a block-by-block basis. The blocks may be predictively encoded with reference to other (already encoded) blocks, as determined by the coding assignment applied to the corresponding block images. For example, I-picture blocks may be predictively encoded or they may be predictively encoded with reference to already encoded blocks of the same picture (spatial prediction or intra prediction). P-picture pixel blocks may be encoded without prediction, by spatial prediction, or by temporal prediction with reference to one previously encoded reference picture. Blocks of B-pictures may be encoded without prediction, by spatial prediction, or by temporal prediction with reference to one or two previously encoded reference pictures.

[59] Видеокодер (203) может выполнять операции кодирования в соответствии с заранее определенной технологией или стандартом кодирования видео, такой как Рекомендация МСЭ-Т H.265. В своей работе видеокодер (203) может выполнять различные операции сжатия, включая операции кодирования с предсказанием, которые используют временную и пространственную избыточность во входной видеопоследовательности. Кодированные видеоданные, следовательно, могут соответствовать синтаксису, заданному используемой технологией или стандартом кодирования видео. [59] The video encoder (203) may perform encoding operations in accordance with a predetermined video coding technology or standard, such as ITU-T Rec. H.265. In operation, the video encoder (203) may perform various compression operations, including predictive coding operations that exploit temporal and spatial redundancy in the input video sequence. The encoded video data may therefore follow the syntax given by the video coding technology or standard being used.

[60] В варианте осуществления передатчик (440) может передавать дополнительные данные с кодированным видео. Видеокодер (430) может включать в себя такие данные как часть кодированной видеопоследовательности. Дополнительные данные могут содержать временные/пространственные слои/слои улучшения SNR, другие формы избыточных данных, такие как избыточные изображения и слайсы, сообщения информации дополнительного улучшения (SEI), фрагменты набора параметров информации о пригодности видео (VUI) и так далее.[60] In an embodiment, transmitter (440) may transmit additional data with encoded video. Video encoder (430) may include such data as part of an encoded video sequence. The additional data may comprise temporal/spatial/SNR enhancement layers, other forms of redundant data such as redundant images and slices, incremental enhancement information (SEI) messages, video usability information (VUI) parameter set fragments, and so on.

[61] В последнее время некоторое внимание привлекла агрегация сжатой области или извлечение множества семантически независимых частей изображения в одно видеоизображение. В частности, в контексте, например, кодирования 360 или определенных приложений наблюдения, несколько семантически независимых исходных изображений (например, поверхность шести кубов проектируемой кубом сцены 360 или входы отдельных камер в случае многокамерного наблюдения setup) могут потребоваться отдельные настройки адаптивного разрешения, чтобы справиться с различной активностью каждой сцены в данный момент времени. Другими словами, кодеры в данный момент времени могут выбрать использование разных коэффициентов передискретизации для разных семантически независимых изображений, составляющих всю 360-градусную сцену или сцену наблюдения. При объединении в одно изображение, возникает необходимость в выполнении передискредизации опорного изображения и доступности сигнализирования кодирования с адаптивным разрешением для частей кодированного изображения.[61] Recently, some attention has been drawn to the aggregation of a compressed area, or the extraction of multiple semantically independent parts of an image into a single video image. In particular, in the context of e.g. 360 encoding or certain surveillance applications, multiple semantically independent source images (e.g., the surface of six cubes of a cube-projected 360 scene, or individual camera inputs in the case of a multi-camera surveillance setup) may require separate adaptive resolution settings to cope with different activity of each scene at a given time. In other words, encoders at a given point in time may choose to use different resampling factors for different semantically independent images that make up the entire 360-degree or observation scene. When combined into a single picture, there is a need to perform resampling of the reference picture and to have adaptive resolution coding signaling available for portions of the encoded picture.

[62] Ниже представлены несколько терминов, на которые приводится ссылка в оставшейся части этого описания.[62] Below are a few terms that are referenced in the remainder of this description.

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

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

[65] В вариантах осуществления кодирование и декодирование могут выполняться для одного семантически независимого кодированного видеоизображения. Перед описанием последствий кодирования/декодирования множества суб-изображений с независимыми параметрами RPR/ARC и их подразумеваемой дополнительной сложности должны быть описаны варианты передачи параметров RPR/ARC. [65] In embodiments, encoding and decoding may be performed on a single semantically independent encoded video image. Before describing the consequences of encoding/decoding multiple sub-pictures with independent RPR/ARC parameters and their implied additional complexity, RPR/ARC parameter transmission options must be described.

[66] На фиг. 5 показаны несколько вариантов осуществления сигнализирования параметров RPR/ARC. Как отмечено для каждого из вариантов осуществления, они могут иметь определенные преимущества и определенные недостатки с точки зрения эффективности кодирования, сложности и архитектуры. Стандарт или технология кодирования видео могут выбрать один или более из этих вариантов осуществления или вариантов, известных из уровня техники, для передачи параметров RPR/ARC. Варианты осуществления могут не быть взаимоисключающими и, возможно, могут быть взаимозаменяемыми в зависимости от потребностей приложения, используемых стандартов или выбора кодера. [66] FIG. 5 shows several embodiments of RPR/ARC parameter signaling. As noted for each of the embodiments, they may have certain advantages and certain disadvantages in terms of coding efficiency, complexity, and architecture. A video coding standard or technology may choose one or more of these or prior art embodiments for transmitting the RPR/ARC parameters. The embodiments may not be mutually exclusive and may possibly be interchangeable depending on the needs of the application, the standards used, or the choice of encoder.

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

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

[69] коэффициенты повышения/понижения дискретизации с добавлением временного измерения, указывающие на увеличение/уменьшение размера с постоянной скоростью для заданного количества изображений[69] upsampling/downsampling factors with the addition of a temporal dimension, indicating an increase/decrease in size at a constant rate for a given number of images

[70] - любой из двух вышеупомянутых вариантов может включать в себя кодирование одного или более предположительно коротких элементов синтаксиса, которые могут указывать на таблицу, содержащую коэффициент(ы).[70] - either of the above two options may include encoding one or more supposedly short syntax elements that may point to a table containing the coefficient(s).

[71] - разрешение в измерении X или Y в единицах отсчетов, блоках, макроблоках, единицах кодирования (CU) или любой другой подходящей степени детализации входного изображения, выходного изображения, опорного изображения, кодированного изображения, в сочетании или по отдельности. Если существует более одного разрешения (например, одно для входного изображения, одно для опорного изображения), то в некоторых случаях один набор значений может быть выведен из другого набора значений. Это может быть передано, например, путем использования флагов. Более подробный пример см. ниже. [71] is the resolution in the X or Y dimension in units of samples, blocks, macroblocks, coding units (CU), or any other suitable granularity of the input image, output image, reference image, encoded image, in combination or individually. If there is more than one resolution (eg, one for the input image, one for the reference image), then in some cases one set of values may be derived from another set of values. This can be communicated, for example, by using flags. See below for a more detailed example.

[72] - координаты «деформации», подобные тем, которые используются в Приложении P H.263, опять же с подходящей степенью детализации, как описано выше. Приложение P H.263 определяет один эффективный способ кодирования таких координат деформации, но, возможно, также разрабатываются другие, потенциально более эффективные способы. Например, реверсивное кодирование Хаффмана с переменной длиной координат деформации согласно Приложению P может быть заменено двоичным кодированием подходящей длины, где длина двоичного кодового слова может быть, например, получена из максимального размера изображения, возможно, умноженного на определенный коэффициент и смещенного на определенное значение, чтобы учесть «деформацию» за пределами границ максимального размера изображения.[72] - "warp" coordinates like those used in H.263 Annex P, again with the appropriate granularity as described above. Annex P of H.263 defines one efficient way to encode such warp coordinates, but other, potentially more efficient ways may also be developed. For example, the reverse Huffman encoding with variable length warp coordinates according to Annex P can be replaced by a binary encoding of an appropriate length, where the length of the binary codeword can be, for example, obtained from the maximum image size, perhaps multiplied by a certain factor and shifted by a certain value, so that take into account "deformation" beyond the boundaries of the maximum image size.

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

[74] Ниже описание предполагает кодирование конечного набора коэффициентов повышающей/понижающей дискретизации (тот же коэффициент, который должен использоваться в измерениях X и Y), указанных с помощью кодового слова. Это кодовое слово может быть закодировано с переменной длиной, например, с использованием экспоненциального кода Голомба, общего для определенных элементов синтаксиса в спецификациях кодирования видео, таких как H.264 и H.265. Одно подходящее сопоставление значений с коэффициентами повышения/понижения дискретизации может, например, соответствовать таблице 1:[74] The following description assumes encoding a finite set of upsampling/downsampling coefficients (the same coefficient to be used in the X and Y dimensions) indicated by a codeword. This codeword may be encoded in a variable length, for example, using the Exponential Golomb code common to certain syntax elements in video coding specifications such as H.264 and H.265. One suitable mapping of values to upsampling/downsampling factors could, for example, follow Table 1:

ТАБЛИЦА 1TABLE 1

Кодовое словоA codeword Экспоненциальный код ГоломбаExponential Golomb Code Исходное/Целевое разрешениеSource/Target resolution 00 11 1/11/1 11 010010 1/1,5 (увеличение на 50%)1/1.5 (50% increase) 22 011011 1,5/1 (уменьшение на 50%)1.5/1 (50% reduction) 33 0010000100 1/2 (увеличение на 100%)1/2 (100% increase) 44 0010100101 2/1 (уменьшение на 100%)2/1 (100% reduction)

[75] Многие аналогичные сопоставления могут быть разработаны в соответствии с потребностями приложения и возможностями механизмов повышения и понижения, доступных в технологии или стандарте сжатия видео. Таблица может быть расширена до большего количества значений. Значения также могут быть представлены механизмами энтропийного кодирования, отличными от Экспоненциальных кодов Голомба, например, с использованием двоичного кодирования. Это может иметь определенные преимущества, когда коэффициенты передискретизации представляли интерес за пределами самих механизмов обработки видео (прежде всего кодера и декодера), например, посредством MANE. Следует отметить, что для ситуаций, когда изменение разрешения не требуется, может быть выбран Экспоненциальный код Голомба, который является коротким; в таблице выше только один бит. Это может иметь преимущество в эффективности кодирования по сравнению с использованием двоичных кодов для наиболее распространенного случая.[75] Many similar mappings can be developed according to the needs of the application and the capabilities of the upscaling and downscaling mechanisms available in the video compression technology or standard. The table can be expanded to more values. Values may also be represented by entropy encoding mechanisms other than Exponential Golomb codes, such as using binary encoding. This may have certain advantages when the oversampling factors were of interest outside of the video processing engines themselves (primarily the encoder and decoder), for example via MANE. It should be noted that for situations where a resolution change is not required, Exponential Golomb can be chosen, which is short; there is only one bit in the table above. This may have an advantage in coding efficiency over using binary codes for the most common case.

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

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

[78] Как показано на фиг.5, приложение P H.263 включает информацию (502) ARC в форме четырех координат деформации в заголовок (501) изображения, в частности, в расширение заголовка PLUSPTYPE (503) H.263. Это может быть разумным выбором структуры, когда а) имеется доступный заголовок изображения и б) ожидаются частые изменения информации ARC. Однако служебные данные при использовании передачи в стиле H.263 могут быть довольно высокими, и коэффициенты масштабирования могут не относиться к границам изображения, поскольку заголовок изображения может иметь временный характер.[78] As shown in FIG. 5, the H.263 application P includes ARC information (502) in the form of four warp coordinates in the picture header (501), specifically, in the H.263 PLUSPTYPE header extension (503). This may be a reasonable design choice when a) there is an image header available and b) frequent changes to the ARC information are expected. However, the overhead when using H.263 style transmission can be quite high, and the scaling factors may not be related to the borders of the image, since the image header may be temporary.

[79] В том же или другом варианте осуществления передача параметров ARC может соответствовать подробному примеру, как показано на фиг.6А-6В. Фиг. 6A-6B изображают синтаксические диаграммы в типе представления с использованием нотации, которая примерно соответствует программированию в стиле C, например, используемому в стандартах кодирования видео, по меньшей мере, с 1993 года. Строки, выделенные жирным шрифтом, указывают на элементы синтаксиса, присутствующие в битовом потоке, строки без жирного шрифта часто указывают на поток управления или установку переменных. [79] In the same or another embodiment, the transmission of ARC parameters may correspond to the detailed example as shown in FIGS. 6A-6B. Fig. 6A-6B depict syntax diagrams in a representation type using a notation that roughly corresponds to C-style programming, such as that used in video coding standards since at least 1993. Lines in bold indicate syntax elements present in the bitstream, lines without bold often indicate control flow or setting variables.

[80] Как показано на фиг.6А, заголовок группы тайлов (601) в качестве примерной синтаксической структуры заголовка, применимого к (возможно, прямоугольной) части изображения, может условно содержать, кодированный с помощью экспоненциального кода Голомба элемент синтаксиса переменной длины dec_pic_size_idx (602) (выделен жирным шрифтом). Наличие этого элемента синтаксиса в заголовке группы тайлов может быть ограничено использованием адаптивного разрешения (603) - здесь значение флага не выделено жирным шрифтом, что означает, что флаг присутствует в битовом потоке в той точке, где он встречается на синтаксической диаграмме. Тот факт, используется ли адаптивное разрешение для этого изображения или его частей, можно передавать в любой синтаксической структуре высокого уровня внутри или вне битового потока. В показанном примере это передается в наборе параметров последовательности, как показано ниже.[80] As shown in FIG. 6A, a tile group header (601), as an exemplary header syntax structure applicable to a (possibly rectangular) portion of a picture, may conventionally contain a variable length syntax element encoded with the exponential Golomb code dec_pic_size_idx (602 ) (highlighted in bold). The presence of this syntax element in a tile group header can be restricted using adaptive resolution (603) - here the flag value is not bold, meaning that the flag is present in the bitstream at the point where it occurs in the syntax diagram. The fact whether adaptive resolution is used for this image or parts of it can be conveyed in any high-level syntactic structure inside or outside the bitstream. In the example shown, this is passed in a sequence parameter set, as shown below.

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

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

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

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

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

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

[87] Обсуждаемые здесь варианты осуществления могут использоваться в такой среде. В некоторых случаях, в том же или другом варианте осуществления, значение в заголовке единицы NAL, например поле временного идентификатора, может использоваться для указания не только временного, но и пространственного слоя. Это может иметь определенные преимущества для определенных конфигураций систем; например, существующая архитектура Selected Forwarding Units (SFU), созданная и оптимизированная для выбранных временных слоев, пересылаемых на основе значения временного идентификатора заголовка единицы NAL, может использоваться без модификации для масштабируемых сред. Для того чтобы сделать это возможным, может существовать требование для сопоставления между размером кодированного изображения и временным слоем, указываемым полем временного идентификатора в заголовке единицы NAL. [87] The embodiments discussed herein may be used in such an environment. In some cases, in the same or another embodiment, a value in the NAL unit header, such as a temporal identifier field, may be used to indicate not only the temporal but also the spatial layer. This may have certain advantages for certain system configurations; for example, an existing Selected Forwarding Units (SFU) architecture created and optimized for selected temporal slices forwarded based on the NAL Unit Header Temporary Identifier value can be used without modification for scalable environments. In order to make this possible, there may be a requirement for a mapping between the encoded picture size and the temporal layer indicated by the temporal identifier field in the NAL unit header.

[88] В последнее время некоторое внимание привлекла агрегация сжатой области или извлечение множества семантически независимых частей изображения в одно видеоизображение. В частности, в контексте, например, кодирования 360 или определенных приложений наблюдения, несколько семантически независимых исходных изображений (например, поверхность шести кубов проектируемой кубом сцены 360 или входы отдельных камер в случае многокамерного наблюдения setup) могут потребоваться отдельные настройки адаптивного разрешения, чтобы справиться с различной активностью каждой сцены в данный момент времени. Другими словами, кодеры в данный момент времени могут выбрать использование разных коэффициентов передискретизации для разных семантически независимых изображений, составляющих всю 360-градусную сцену или сцену наблюдения. При объединении в одно изображение, возникает необходимость в выполнении передискредизации опорного изображения и доступности сигнализирования кодирования с адаптивным разрешением для частей кодированного изображения.[88] Recently, some attention has been drawn to the aggregation of a compressed area, or the extraction of multiple semantically independent parts of an image into a single video image. In particular, in the context of e.g. 360 encoding or certain surveillance applications, multiple semantically independent source images (e.g., the six cube surface of a cube-projected 360 scene, or individual camera inputs in the case of a multi-camera surveillance setup) may require separate adaptive resolution settings to cope with different activity of each scene at a given time. In other words, encoders at a given point in time may choose to use different resampling factors for different semantically independent pictures that make up the entire 360-degree or observation scene. When combined into a single picture, there is a need to perform resampling of the reference picture and to have adaptive resolution coding signaling available for portions of the encoded picture.

[89] В вариантах осуществления не все отсчеты восстановленного изображения предназначены для вывода. Кодер может указать прямоугольную часть изображения, предназначенную для вывода, с использованием окна соответствия. Окно соответствия может быть описано или обозначено, например, посредством смещения влево и вправо от краев изображения, как определено размером изображения. Определенные варианты использования могут быть идентифицированы, когда окна соответствия могут иметь значение, в том числе растянутая развертка, пространственная сборка видов в системах Multiview или системы 360, где окна соответствия могут указывать на одну из нескольких поверхностей кубической карты для вывода. [89] In embodiments, not all samples of the reconstructed image are intended for output. The encoder may indicate the rectangular portion of the image to be output using the match box. The matching window may be described or indicated, for example, by offsets to the left and right from the edges of the image, as determined by the size of the image. Certain use cases can be identified where lookup windows can matter, including stretched unfolding, spatial assembly of views in Multiview systems, or 360 systems where lookup windows can point to one of several cubemap surfaces for output.

[90] Поскольку не все приложения требуют использования окна соответствия и поскольку параметры окна соответствия могут потребовать определенного количества битов в битовом потоке и, следовательно, когда они не используются, это может повредить эффективности кодирования, и наличие таких параметров может быть ограничено флагом.[90] Since not all applications require the use of a match window, and since match window parameters may require a certain number of bits in the bitstream, and therefore, when not used, coding efficiency may be detrimental, and the availability of such parameters may be limited by a flag.

[91] В вариантах осуществления размер окна соответствия может сигнализироваться в наборе параметров изображения (PPS). Параметры окна соответствия, которые могут указывать размер окна соответствия, могут использоваться для вычисления коэффициента передискретизации, когда размер окна соответствия опорного изображения отличается от размера окна текущего изображения. Декодеру может потребоваться распознать размер окна соответствия каждого изображения, чтобы определить, требуется ли процесс передискретизации. Когда коэффициент передискретизации не равен 1, размер выходного изображения не является постоянным в кодированной видеопоследовательности (CVS), и может использоваться специальная обработка и постобработка выходных изображений, например масштабирование с увеличением/уменьшением для отображения.[91] In embodiments, the fit window size may be signaled in a Picture Parameter Set (PPS). The match window parameters, which may indicate the size of the match window, can be used to calculate the resampling factor when the match window size of the reference picture is different from the window size of the current picture. The decoder may need to recognize the size of the matching window of each picture to determine if a resampling process is required. When the oversampling factor is not 1, the size of the output image is not constant in the coded video sequence (CVS), and special processing and post-processing of the output images, such as zoom in/out for display, may be used.

[92] В вариантах осуществления, флаг, который указывает, имеет ли декодированное / выводимое изображение тот же самый размер и коэффициент передискретизации равен 1 в кодированной видеопоследовательности (CVS) /битовом потоке, может сигнализироваться в наборе высокоуровневых параметров, таком как набор параметров декодирования (DPS), набор параметров видео (VPS) или набор параметров последовательности (SPS). Флаг может использоваться для согласования сеанса для потоковой передачи видео или конфигурации декодера и настройки отображения.[92] In embodiments, a flag that indicates whether the decoded/output image is the same size and the resampling factor is 1 in the coded video sequence (CVS)/bitstream may be signaled in a high-level parameter set such as a decoding parameter set ( DPS), Video Parameter Set (VPS), or Sequence Parameter Set (SPS). The flag can be used to negotiate a session for video streaming or decoder configuration and display settings.

[93] Ссылаясь на фиг. 7, флаг constant_pic_size_flag (704), равный 1, может указывать, что размеры изображений в CVS одинаковы. При этом constant_pic_size_flag, равный 0, может указывать на то, что размеры изображений для изображений в CVS могут быть или не быть одинаковыми. Если значение constant_pic_size_flag равно 1, флаг sps_conformance_window_flag (705) может быть представлен в SPS (701). При этом sps_conformance_window_flag, равный 1, может указывать, что параметры смещения окна обрезки соответствия следуют в подходящем положении, например, далее, в SPS. При этом sps_conformance_window_flag, равный 0, может указывать на то, что параметры смещения параметры смещения окна обрезки соответствия отсутствуют. [93] Referring to FIG. 7, a constant_pic_size_flag (704) of 1 may indicate that the image sizes in CVS are the same. However, constant_pic_size_flag equal to 0 may indicate that image sizes for images in CVS may or may not be the same. If the value of constant_pic_size_flag is 1, the sps_conformance_window_flag (705) may be represented in the SPS (701). Here, the sps_conformance_window_flag equal to 1 may indicate that the conformance crop window offset parameters follow in an appropriate position, eg, next in the SPS. However, a sps_conformance_window_flag of 0 may indicate that there are no offset parameters for a conformance crop window offset parameter.

[94] В вариантах осуществления sps_conf_win_left_offset (706), sps_conf_win_right_offset (707), sps_conf_win_top_offset (708) и sps_conf_win_bottom_offset (709) могут указывать на отсчеты изображений в CVS, которые выводятся из процесса декодирования изображения в виде прямоугольной области, указанной в координатах изображения для вывода. [94] In embodiments, sps_conf_win_left_offset (706), sps_conf_win_right_offset (707), sps_conf_win_top_offset (708), and sps_conf_win_bottom_offset (709) may indicate image samples in CVS that are output from the image decoding process as a rectangular area specified in image coordinates for output .

[95] В вариантах осуществления, когда элементы синтаксиса sps_conf_win_left_offset, sps_conf_win_right_offset, sps_conf_win_top_offset и sps_conf_win_bottom_offset отсутствуют, значения sps_conf_win_left_offset, sps_conf_win_right_offset, sps_conf_win_top_offset, и sps_conf_win_bottom_offset могут быть выведены равными 0. [95] In embodiments, when the sps_conf_win_left_offset, sps_conf_win_right_offset, sps_conf_win_top_offset, and sps_conf_win_bottom_offset syntax elements are not present, the values of sps_conf_win_left_offset, sps_conf_win_right_offset, sps_conf_win_top_offset, and sps_conf_win_bottom_offset may be output as 0.

[96] В вариантах осуществления, как показано на фиг. 8, pic_width_in_luma_samples (802) может определять ширину каждого декодированного изображения, опирающегося на PPS (801) в единицах выборок яркости. В вариантах осуществления pic_width_in_luma_samples может быть не равно 0, может быть целым числом, кратным Max( 8, MinCbSizeY), и может быть меньше или равно pic_width_max_in_luma_samples. Если отсутствует, значение pic_width_in_luma_samples может быть выведено как равное pic_width_max_in_luma_samples. При этом pic_height_in_luma_samples (803) может указывать высоту каждого декодированного изображения, опирающегося на PPS в единицах отсчетов яркости. При этом pic_height_in_luma_samples в некоторых случаях может быть не равным 0, а может быть целым числом, кратным Max (8, MinCbSizeY), и может быть меньше или равным pic_height_max_in_luma_samples. Если отсутствует, значение pic_height_in_luma_samples может быть выведено как равное pic_ height_max_in_luma_samples. [96] In embodiments, as shown in FIG. 8, pic_width_in_luma_samples (802) may determine the width of each decoded picture based on PPS (801) in units of luma samples. In embodiments, pic_width_in_luma_samples may not be equal to 0, may be an integer multiple of Max( 8, MinCbSizeY), and may be less than or equal to pic_width_max_in_luma_samples. If absent, the value of pic_width_in_luma_samples may be inferred to be equal to pic_width_max_in_luma_samples. Here, pic_height_in_luma_samples (803) may indicate the height of each decoded picture based on PPS in units of luma samples. In this case, pic_height_in_luma_samples in some cases may not be equal to 0, but may be an integer multiple of Max (8, MinCbSizeY), and may be less than or equal to pic_height_max_in_luma_samples. If absent, the value of pic_height_in_luma_samples may be inferred to be equal to pic_height_max_in_luma_samples.

[97] В вариантах осуществления, как все еще показано на фиг. 8, conformance_window_flag (804), равный 1, может указывать на то, что параметры смещения окна обрезки соответствия следуют в подходящем месте, например, следующим в PPS (801). При этом conformance_window_flag, равный 0, может указывать на то, что параметры смещения окна обрезки соответствия отсутствуют. При этом conf_win_left_offset (805), conf_win_right_offset (806), conf_win_top_offset (807) и conf_win_bottom_offset (808) могут указывать на отсчеты изображений, опирающиеся на PPS, которые выводятся из процесса декодирования, в виде прямоугольной области, указанной в координатах изображения для вывода. [97] In embodiments, as still shown in FIG. 8, conformance_window_flag (804) equal to 1 may indicate that the conformance cropping window offset parameters follow in a suitable location, such as following in PPS (801). However, a conformance_window_flag of 0 may indicate that there are no conformance cropping window offset parameters. At the same time, conf_win_left_offset (805), conf_win_right_offset (806), conf_win_top_offset (807) and conf_win_bottom_offset (808) may indicate image samples based on PPS, which are output from the decoding process, in the form of a rectangular area specified in image coordinates for output.

[98] В том же варианте осуществления, когда элементы синтаксиса conf_win_left_offset, conf_win_right_offset, conf_win_top_offset и conf_win_bottom_offset отсутствуют, значения conf_win_left_offset, conf_win_right_offset, conf_win_top_offset и conf_win_bottom_offset могут быть выведены равными значениям sps_conf_win_left_offset, sps_conf_win_right_offset, sps_conf_win_top_offset и sps_conf_win_bottom_offset соответственно. [98] In the same embodiment, when the syntax elements conf_win_left_offset, conf_win_right_offset, conf_win_top_offset, and conf_win_bottom_offset are not present, the values of conf_win_left_offset, conf_win_right_offset, conf_win_top_offset, and conf_win_bottom_offset can be inferred to be equal to the values of sps_conf_win_left_offset, sps_conf_win_left_offset, sps_conf_win_bottom_offset respectively.

[99] В вариантах осуществления, окно обрезки соответствия может содержать отсчеты яркости с горизонтальными координатами изображения от SubWidthC * conf_win_left_offset до pic_width_in_luma_samples - (SubWidthC * conf_win_right_offset + 1) и вертикальными координатами изображения от SubHeightC * conf_win_top_offset до pic_height_in_luma_samples − ( SubHeightC * conf_win_bottom_offset + 1 ), включительно.[99] In embodiments, the matching crop window may contain brightness samples with horizontal image coordinates from SubWidthC * conf_win_left_offset to pic_width_in_luma_samples - (SubWidthC * conf_win_right_offset + 1) and vertical image coordinates from SubHeightC * conf_win_top_offset to pic_height_in_luma_samples - ( Subwin_C *_conf_off) , inclusive.

[100] Значение SubWidthC * (conf_win_left_offset + conf_win_right_offset) может быть меньше pic_width_in_luma_samples, а значение SubHeightC * (conf_win_top_offset + conf_win_bottom_offset) может быть меньше pic_height_in_luma_samples.[100] SubWidthC * (conf_win_left_offset + conf_win_right_offset) may be less than pic_width_in_luma_samples, and SubHeightC * (conf_win_top_offset + conf_win_bottom_offset) may be less than pic_height_in_luma_samples.

[101] Переменные PicOutputWidthL и PicOutputHeightL могут быть получены, как показано в Уравнении 1 и Уравнении 2 ниже:[101] The variables PicOutputWidthL and PicOutputHeightL can be obtained as shown in Equation 1 and Equation 2 below:

PicOutputWidthL = pic_width_in_luma_samples - SubWidthC * (conf_win_right_offset + conf_win_left_offset) (Уравнение 1)PicOutputWidthL = pic_width_in_luma_samples - SubWidthC * (conf_win_right_offset + conf_win_left_offset) (Equation 1)

PicOutputHeightL = pic_height_in_luma_samples - SubHeightC * (conf_win_bottom_offset + conf_win_top_offset) (Уравнение 2)PicOutputHeightL = pic_height_in_luma_samples - SubHeightC * (conf_win_bottom_offset + conf_win_top_offset) (Equation 2)

[102] В вариантах осуществления процесс дробной интерполяции с передискретизацией опорного изображения может обрабатываться следующим образом.[102] In embodiments, the fractional reference picture resampling interpolation process may be processed as follows.

[103] Входными данными для этого процесса может быть местоположение яркости (xSb, ySb), указывающее верхний левый отсчет текущего субблока кодирования относительно верхнего левого отсчета яркости текущего изображения, переменная sbWidth, указывающая ширину текущего субблока кодирования, переменная sbHeight, указывающая высоту текущего субблока кодирования, смещение вектора движения mvOffset, уточненный вектор движения refMvLX, выбранный массив отсчетов опорного изображения refPicLX, индекс фильтра интерполяции половинных отсчетов hpelIfIdx, флаг двунаправленного оптического потока bdofFlag и переменная cIdx, указывающая индекс компонента цвета текущего блока.[103] The input to this process may be a luma location (xSb, ySb) indicating the top left count of the current coding sub-block relative to the top left luminance count of the current image, an sbWidth variable indicating the width of the current coding sub-block, an sbHeight variable indicating the height of the current coding sub-block , the motion vector offset mvOffset, the refined motion vector refMvLX, the selected reference image sample array refPicLX, the half sample interpolation filter index hpelIfIdx, the bidirectional optical flow flag bdofFlag, and the cIdx variable indicating the color component index of the current block.

[104] Выходными данными этого процесса могут быть: массив predSamplesLX (sbWidth + brdExtSize) x (sbHeight + brdExtSize) значений отсчетов предсказания.[104] The output of this process may be: an array of predSamplesLX (sbWidth + brdExtSize) x (sbHeight + brdExtSize) prediction sample values.

[105] Размер расширения границы блока предсказания brdExtSize может быть получен, как показано в Уравнении 3 ниже:[105] The prediction block boundary extension size brdExtSize can be obtained as shown in Equation 3 below:

brdExtSize = ( bdofFlag | | ( inter_affine_flag[ xSb ][ ySb ] && sps_affine_prof_enabled_flag ) ) ? 2: 0 (Уравнение 3)brdExtSize = ( bdofFlag | | ( inter_affine_flag[ xSb ][ ySb ] && sps_affine_prof_enabled_flag ) ) ? 2:0 (Equation 3)

[106] Переменная fRefWidth может быть установлена равной PicOutputWidthL опорного изображения в отсчетах яркости. Переменная fRefHeight может быть установлена равной PicOutputHeightL опорного изображения в отсчетах яркости. Вектор движения mvLX может быть установлен равным (refMvLX - mvOffset).[106] The variable fRefWidth may be set equal to PicOutputWidthL of the reference image in luminance samples. The variable fRefHeight can be set to PicOutputHeightL of the reference image in luminance samples. The motion vector mvLX can be set to (refMvLX - mvOffset).

[107] Если cIdx равно 0, может применяться следующее:[107] If cIdx is 0, the following may apply:

– Коэффициенты масштабирования и их представления с фиксированной точкой могут быть определены согласно Уравнению 4 и Уравнению 5 ниже: – The scaling factors and their fixed-point representations can be determined according to Equation 4 and Equation 5 below:

hori_scale_fp = ( ( fRefWidth  <<  14 ) + ( PicOutputWidthL >>  1 ) ) / PicOutputWidthL (Уравнение 4)hori_scale_fp = ( ( fRefWidth << 14 ) + ( PicOutputWidthL >> 1 ) ) / PicOutputWidthL (Equation 4)

vert_scale_fp = ( ( fRefHeight  <<  14 ) + ( PicOutputHeightL >>  1 ) ) / PicOutputHeightL (Уравнение 5)vert_scale_fp = ( ( fRefHeight << 14 ) + ( PicOutputHeightL >> 1 ) ) / PicOutputHeightL (Equation 5)

– Пусть ( xIntL, yIntL ) будет местоположением яркости, заданным в единицах целого отсчета, а ( xFracL, yFracL ) может быть смещением, заданным в единицах 1/16 отсчета. Эти переменные могут использоваться в этом пункте для указания местоположений дробных отсчетов внутри массивов refPicLX опорных отсчетов.– Let ( xIntL, yIntL ) be the brightness location, given in units of an integer sample, and ( xFracL, yFracL ) be the offset, given in units of 1/16 of a sample. These variables may be used in this clause to specify the locations of fractional samples within the refPicLX arrays of reference samples.

– Верхняя левая координата ограничивающего блока для заполнения опорным отсчетом (xSbIntL,ySbIntL ) может быть установлена равной ( xSb + ( mvLX[ 0 ]  >>  4 ), ySb + ( mvLX[ 1 ]  >>  4 ) ).– The top left coordinate of the bounding box to fill with the reference sample (xSbInt L ,ySbInt L ) can be set to ( xSb + ( mvLX[ 0 ] >> 4 ), ySb + ( mvLX[ 1 ] >> 4 ) ).

– Для каждого местоположения отсчета яркости (xL= 0..sbWidth - 1 + brdExtSize, yL= 0..sbHeight - 1 + brdExtSize) внутри массива предсказанных отсчетов яркости predSamplesLX соответствующее значение предсказанного отсчета яркости predSamplesLX [xL ] [yL ] получают следующим образом:– For each luminance sample location (xL = 0..sbWidth - 1 + brdExtSize, yL = 0..sbHeight - 1 + brdExtSize) within the array of predicted luma samples predSamplesLX, the corresponding value of the predicted luma sample predSamplesLX [ xL ] [ yL ] is obtained as follows :

– Пусть (refxSbL, refySbL) и (refxL,refyL ) будут местоположениями яркости, на которые указывает вектор движения (refMvLX, refMvLX), заданный в единицах 1/16 отсчета. Переменные refxSbL, refxL, refySbL и refyL могут быть получены, как показано в уравнениях 6-9 ниже:– Let (refxSb L , refySb L ) and (refx L ,refy L ) be the luma locations pointed to by the motion vector (refMvLX, refMvLX) given in units of 1/16 of a sample. The variables refxSb L , refx L , refySb L , and refy L can be obtained as shown in Equations 6-9 below:

refxSbL = ( ( xSb<<  4 ) + refMvLX[ 0 ] ) * hori_scale_fp (Уравнение 6)refxSb L = ( ( xSb<< 4 ) + refMvLX[ 0 ] ) * hori_scale_fp (Equation 6)

refxL = ( ( Sign( refxSb ) * ( ( Abs( refxSb ) + 128 ) >> 8 )refx L = ( ( Sign( refxSb ) * ( ( Abs( refxSb ) + 128 ) >> 8 )

+ xL * ( ( hori_scale_fp + 8 ) >> 4 ) ) + 32 ) >> 6 (Уравнение 7)+ x L * ( ( hori_scale_fp + 8 ) >> 4 ) ) + 32 ) >> 6 (Equation 7)

refySbL = ( ( ySb << 4 ) + refMvLX[ 1 ] ) * vert_scale_fp (Уравнение 8)refySb L = ( ( ySb << 4 ) + refMvLX[ 1 ] ) * vert_scale_fp (Equation 8)

refyL = ( ( Sign( refySb ) * ( ( Abs( refySb ) + 128 ) >> 8 ) + yL *refyL = ( ( ( Sign( refySb ) * ( ( Abs( refySb ) + 128 ) >> 8 ) + yL *

( ( vert_scale_fp + 8 ) >> 4 ) ) + 32 ) >> 6 (Уравнение 9) ( ( vert_scale_fp + 8 ) >> 4 ) ) + 32 ) >> 6 (Equation 9)

– Переменные xIntL, yIntL,xFracL и yFracL могут быть получены, как показано в уравнениях 10-13 ниже:– The variables xInt L , yInt L ,xFrac L and yFrac L can be derived as shown in Equations 10-13 below:

xIntL =  refxL  >>  4 (Уравнение 10)xInt L = refx L >> 4 (Equation 10)

yIntL =  refyL >  > 4 (Уравнение 11)yInt L = refy L >> 4 (Equation 11)

xFracL = refxL & 15 (Уравнение 12)xFrac L = refx L & 15 (Equation 12)

yFracL = refyL & 15 (Уравнение 13)yFrac L = refy L & 15 (Equation 13)

– Если bdofFlag равен TRUE или (sps_affine_prof_enabled_flag равен TRUE и inter_affine_flag [xSb] [ySb] равен TRUE), и одно или несколько из следующих условий истинны, значение предсказанного отсчета яркости predSamplesLX [xL] [y] может быть получено посредством обращения к процессу извленчения целочисленного отсчета яркости, как указано в соответствующем пункте спецификации кодирования видео, с (xIntL + ( xFracL >> 3) - 1),yIntL + (yFracL >> 3) - 1) и refPicLX в качестве входных данных. – If bdofFlag is TRUE or (sps_affine_prof_enabled_flag is TRUE and inter_affine_flag [xSb] [ySb] is TRUE) and one or more of the following conditions are true, the predicted luminance sample value predSamplesLX [x L ] [y L ] can be obtained by referring to the process of extracting an integer luminance sample as specified in the corresponding clause of the video coding specification, with (xInt L + ( xFrac L >> 3) - 1),yInt L + (yFrac L >> 3) - 1) and refPicLX as input .

– xL равно 0.– x L is equal to 0.

– xL равно sbWidth + 1.– x L is equal to sbWidth + 1.

– yL равно 0.– y L is equal to 0.

– yL равен sbHeight + 1.– y L is equal to sbHeight + 1.

– В противном случае, значение предсказанного отсчета яркости predSamplesLX [xL] [yL] может быть получено посредством обращения к процессу 8-позиционной интерполяционной фильтрации отсчета яркости, как указано в соответствующем пункте спецификации кодирования видео с (xIntL - (brdExtSize > 0 ? 1 : 0 ), yIntL − ( brdExtSize > 0 ? 1: 0)), (xFracL, yFracL), (xSbIntL, ySbIntL ), refPicLX, hpelIfIdx, sbWidth, sbHeight и (xSb, ySb) в качестве вводных данных.– Otherwise, the predicted luma sample value predSamplesLX [xL] [yL] can be obtained by referring to the 8-position luma sample interpolation filtering process as specified in the corresponding clause of the video coding specification with (xIntL - (brdExtSize > 0 ? 1 : 0 ), yIntL − ( brdExtSize > 0 ? 1: 0)), (xFracL, yFracL), (xSbInt L , ySbInt L ), refPicLX, hpelIfIdx, sbWidth, sbHeight and (xSb, ySb) as input.

[108] В противном случае (cIdx не равно 0), может применяться следующее:[108] Otherwise (cIdx is not equal to 0), the following may apply:

1. Пусть (xIntC, yIntC) будет местоположением цветности, заданным в единицах целого отсчета, а (xFracC, yFracC) будет смещением, заданным в единицах 1/32 отсчета. Эти переменные могут использоваться в этом пункте для указания общих местоположений дробных отсчетов внутри массивов refPicLX опорных отсчетов.1. Let (xIntC, yIntC) be the chromaticity location, given in units of an integer sample, and (xFracC, yFracC) be the offset, given in units of 1/32 of a sample. These variables may be used in this clause to specify the common locations of fractional samples within the refPicLX arrays of reference samples.

2. Верхняя левая координата ограничивающего блока для заполнения опрным отсчетом (xSbIntC, ySbIntC) устанавливается равной ((xSb / SubWidthC) + (mvLX [0] >> 5), (ySb / SubHeightC) + (mvLX [1]) >> 5)).2. The upper left coordinate of the bounding box to fill with the reference sample (xSbIntC, ySbIntC) is set to ((xSb / SubWidthC) + (mvLX [0] >> 5), (ySb / SubHeightC) + (mvLX [1]) >> 5 )).

3. Для каждого местоположения отсчета цветности (xC = 0..sbWidth - 1, yC = 0 .. sbHeight - 1) внутри массивов предсказанных отсчетов цветности predSamplesLX соответствующее значение предсказанного отсчета цветности predSamplesLX [xC] [yC] может быть получено следующим образом :3. For each chroma sample location (xC = 0..sbWidth - 1, yC = 0 .. sbHeight - 1) within the arrays of predicted chroma samples predSamplesLX, the corresponding value of the predicted chroma sample predSamplesLX [xC] [yC] can be obtained as follows:

– Пусть (refxSbC, refySbC) и (refxC,refyC ) будут местоположениями цветности, на которые указывает вектор движения (mvLX [0], mvLX [1]), заданный в единицах 1/32 отсчета. Переменные refxSbC, refySbC, refxи refyC могут быть получены, как показано в уравнениях 14-17 ниже:– Let (refxSb C , refySb C ) and (refx C ,refy C ) be the chromaticity locations pointed to by the motion vector (mvLX [0], mvLX [1]) given in units of 1/32 of a sample. The variables refxSb C , refySb C , refx C and refy C can be obtained as shown in Equations 14-17 below:

refxSbC =( (xSb / SubWidthC << 5) + mvLX [0]) * hori_scale_fp (Уравнение 14)refxSb C =( (xSb / SubWidthC << 5) + mvLX[0]) * hori_scale_fp (Equation 14)

refxC = ((Sign (refxSbC)* ((Abs (refxSbC ) + 256) >> 9)refx C = ((Sign (refxSb C )* ((Abs (refxSb C ) + 256) >> 9)

+ xC * ((hori_scale_fp + 8) >> 4)) + 16) >> 5 (Уравнение 15) + xC * ((hori_scale_fp + 8) >> 4)) + 16) >> 5 (Equation 15)

refySbC =( (ySb / SubHeightC<< 5) + mvLX [1]) * vert_scale_fp (Уравнение 16)refySb C =( (ySb / SubHeightC<< 5) + mvLX [1]) * vert_scale_fp (Equation 16)

refyC = ((Sign (refySbC)* ((Abs (refySbC ) + 256) >> 9)refy C = ((Sign (refySb C )* ((Abs (refySb C ) + 256) >> 9)

+ yC * ((vert_scale_fp + 8) >> 4)) + 16) >> 5 (Уравнение 17) + yC * ((vert_scale_fp + 8) >> 4)) + 16) >> 5 (Equation 17)

– Переменные xIntC, yIntC, xFracC и yFracC могут быть получены, как показано в Уравнениях 18-21 ниже:– Variables xInt C , yInt C , xFrac C and yFrac C can be obtained as shown in Equations 18-21 below:

xIntC = refxC>  > 5   (Уравнение 18)xInt C = refx C >> 5 (Equation 18)

yIntC = refyC>  > 5   (Уравнение 19)yInt C = refy C >> 5 (Equation 19)

xFracC = refyC & 31 (Уравнение 20)xFrac C = refy C & 31 (Equation 20)

yFracC = refyC & 31 (Уравнение 21)yFrac C = refy C & 31 (Equation 21)

[109] Значение предсказанного отсчета predSamplesLX [xC] [yC] может быть получено посредством обращения к вышеуказанному процессу с (xIntC, yIntC), (xFracC, yFracC), (xSbIntC, ySbIntC), sbWidth, sbHeight и refPicLX в качестве входных данных.[109] The value of the predicted sample predSamplesLX [xC] [yC] can be obtained by referring to the above process with (xIntC, yIntC), (xFracC, yFracC), (xSbIntC, ySbIntC), sbWidth, sbHeight and refPicLX as input.

[110] На фиг. 9 показана примерная блок-схема процесса 900 декодирования кодированного битового потока видео. В некоторых реализациях один или более блоков процессов с фиг.9 могут выполняться декодером 210. В некоторых реализациях один или более блоков процессов с фиг. 9 могут выполняться другим устройством или группой устройств, отдельной от декодера 210 или включающего в себя его, например кодером 203.[110] FIG. 9 shows an exemplary flowchart of a process 900 for decoding an encoded video bitstream. In some implementations, one or more of the process blocks of FIG. 9 may be executed by decoder 210. In some implementations, one or more of the process blocks of FIG. 9 may be performed by another device or group of devices separate from or including decoder 210, such as encoder 203.

[111] Как показано на фиг. 9, процесс 900 может включать в себя получение первого флага, указывающего, использован ли постоянный размер изображения в кодированной видеопоследовательности, включающей в себя текущее изображение (этап 910). [111] As shown in FIG. 9, process 900 may include obtaining a first flag indicating whether a constant image size is used in an encoded video sequence including the current image (block 910).

[112] Как дополнительно показано на фиг. 9, процесс 900 может включать в себя определение по первому флагу, используется ли постоянный размер изображения (этап 920). [112] As further shown in FIG. 9, process 900 may include determining, based on a first flag, whether a constant image size is being used (block 920).

[113] Как дополнительно показано на фиг. 9, процесс 900 может включать в себя, на основании первого флага, указывающего, что используется постоянный размер изображения (ДА на этапе 920), декодирование текущего изображения без выполнения передискретизации опорного изображения (этап 930).[113] As further shown in FIG. 9, process 900 may include, based on a first flag indicating that a constant picture size is being used (YES at step 920), decoding the current picture without performing reference picture resampling (step 930).

[114] Как дополнительно показано на фиг. 9, на основе первого флага, указывающего, что постоянный размер изображения не используется (НЕТ в блоке 920), процесс 900 может перейти к блоку 940, блоку 950, блоку 960 и блоку 970.[114] As further shown in FIG. 9, based on the first flag indicating that a constant image size is not used (NO at block 920), process 900 may proceed to block 940, block 950, block 960, and block 970.

[115] Как дополнительно показано на фиг. 9, процесс 900 может включать в себя получение второго флага, указывающего, сигнализируется ли размер окна соответствия (этап 940). [115] As further shown in FIG. 9, process 900 may include obtaining a second flag indicating whether the match window size is being signaled (block 940).

[116] Как дополнительно показано на фиг. 9, процесс 900 может включать в себя, на основании второго флага, указывающего, что размер окна соответствия сигнализируется, получение размера окна соответствия (блок 950), определение коэффициента передискретизации между текущим изображением и опорным изображением на основании размера окна соответствия (блок 960), и выполнение передискретизации опорного изображения для текущего изображения с использованием указанного коэффициента передискретизации (блок 970). [116] As further shown in FIG. 9, process 900 may include, based on a second flag indicating that a match window size is being signaled, obtaining a match window size (block 950), determining an oversampling factor between the current picture and a reference picture based on the match window size (block 960), and performing resampling of the reference picture on the current picture using the specified resampling factor (block 970).

[117] В одном из вариантов осуществления размер окна соответствия может сигнализироваться как по меньшей мере одно расстояние смещения от границы текущего изображения.[117] In one embodiment, the fit window size may be signaled as at least one offset distance from the edge of the current image.

[118] В одном из вариантов осуществления первый флаг может сигнализироваться в наборе параметров последовательности (SPS), а второй флаг может сигнализироваться в одном из SPS и набора параметров изображения (PPS).[118] In one embodiment, the first flag may be signaled in a sequence parameter set (SPS) and the second flag may be signaled in one of the SPS and the picture parameter set (PPS).

[119] В одном из вариантов осуществления второй флаг может сигнализироваться в SPS и может указывать, сигнализируются ли в SPS параметры окна соответствия SPS.[119] In one embodiment, the second flag may be signaled in the SPS and may indicate whether the SPS match window parameters are signaled in the SPS.

[120] В одном из вариантов осуществления, на основании второго флага, указывающего, что параметры окна соответствия SPS сигнализируются в SPS, размер окна соответствия может быть получен на основании параметров окна соответствия SPS. [120] In one embodiment, based on a second flag indicating that the SPS matching window parameters are signaled to the SPS, the size of the matching window can be obtained based on the SPS matching window parameters.

[121] В одном из вариантов осуществления, на основании первого флага, указывающего, что размер изображения не является постоянным, процесс 900 может включать в себя получение третьего флага, указывающего, сигнализируются ли в PPS параметры окна соответствия PPS.[121] In one embodiment, based on a first flag indicating that the image size is not constant, process 900 may include obtaining a third flag indicating whether PPS matching window parameters are signaled in the PPS.

[122] В одном из вариантов осуществления, на основании второго флага, указывающего, что параметры окна соответствия SPS сигнализируются в SPS, и третьего флага, указывающего, что параметры окна соответствия PPS не сигнализируются в PPS, размер окна соответствия может быть получен на основании параметров окна соответствия SPS.[122] In one embodiment, based on a second flag indicating that the SPS matching window parameters are signaled in the SPS and a third flag indicating that the PPS matching window parameters are not signaled in the PPS, the size of the matching window can be obtained based on the parameters SPS matching windows.

[123] В одном из вариантов осуществления, на основании второго флага, указывающего, что параметры окна соответствия SPS не сигнализируются в SPS, и третьего флага, указывающего, что параметры окна соответствия PPS сигнализируются в PPS, размер окна соответствия может быть получен на основании параметров окна соответствия PPS. [123] In one embodiment, based on a second flag indicating that the SPS matching window parameters are not signaled in the SPS and a third flag indicating that the PPS matching window parameters are signaled in the PPS, the size of the matching window can be obtained based on the parameters PPS matching windows.

[124] Хотя на фиг.9 показаны примерные блоки процесса 900, в некоторых реализациях процесс 900 может включать в себя дополнительные блоки, меньшее количество блоков, разные блоки или блоки, расположенные иначе, чем те, которые изображены на фиг.9. Дополнительно или альтернативно, два или более блока процесса 900 могут выполняться параллельно. [124] Although FIG. 9 shows exemplary blocks of process 900, in some implementations, process 900 may include additional blocks, fewer blocks, different blocks, or blocks arranged differently than those depicted in FIG. Additionally or alternatively, two or more blocks of process 900 may be executed in parallel.

[125] Кроме того, предложенные способы могут быть реализованы схемами обработки (например, одним или более процессорами или одной или более интегральными схемами). В одном примере один или более процессоров выполняют программу, которая хранится на невременном машиночитаемом носителе, для осуществления одного или более из предложенных способов.[125] In addition, the proposed methods can be implemented by processing circuits (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 non-transitory computer-readable medium to implement one or more of the proposed methods.

[126] Методы, описанные выше, могут быть реализованы в виде компьютерного программного обеспечения с использованием машиночитаемых инструкций и физически сохранены на одном или более машиночитаемых носителях. Например, на фиг.10 показана компьютерная система 1000, подходящая для реализации определенных вариантов осуществления раскрытого объекта изобретения. [126] The methods described above may be implemented in computer software using computer-readable instructions and physically stored on one or more computer-readable media. For example, FIG. 10 illustrates a computer system 1000 suitable for implementing certain embodiments of the disclosed subject matter.

[127] Компьютерное программное обеспечение может быть кодировано с использованием любого подходящего машинного кода или компьютерного языка, который может быть объектом сборки, компиляции, связывания или подобных механизмов для создания кода, содержащего инструкции, которые могут выполняться напрямую или посредством интерпретации, выполнения микрокода и и т. п., центральными процессорами компьютера (ЦП), графическими процессорами (ГП) и т. п.[127] Computer software may be coded using any suitable machine code or computer language, which may be the object of assembly, compilation, linking, or similar mechanisms to produce code containing instructions that can be executed directly or through interpretation, execution of microcode, and and etc., computer central processing units (CPUs), graphics processing units (GPUs), etc.

[128] Инструкции могут выполняться на компьютерах различных типов или их компонентах, включая, например, персональные компьютеры, планшетные компьютеры, серверы, смартфоны, игровые устройства, устройства Интернета вещей и т. п.[128] 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.

[129] Компоненты, показанные на фиг.10 для компьютерной системы 1000, являются примерными по своей природе и не предназначены для предложения каких-либо ограничений в отношении объема использования или функциональных возможностей компьютерного программного обеспечения, реализующего варианты осуществления настоящего раскрытия. Конфигурация компонентов также не должна интерпретироваться как имеющая какую-либо зависимость или требование, относящееся к любому одному или комбинации компонентов, проиллюстрированных в примерном варианте осуществления компьютерной системы 1000. [129] The components shown in FIG. 10 for computer system 1000 are exemplary in nature and are not intended to suggest any limitation as to the scope of use or functionality of computer software implementing embodiments of the present disclosure. The component configuration is also not to be interpreted as having any dependency or requirement related to any one or combination of components illustrated in the exemplary embodiment of computer system 1000.

[130] Компьютерная система 1000 может включать в себя определенные устройства ввода с человеко-машинным интерфейсом. Такое устройство ввода с человеко-машинным интерфейсом может реагировать на ввод одним или более пользователями-людьми посредством, например, тактильного ввода (например, нажатия клавиш, смахивания, движения управляющей перчатки), звукового ввода (например, голоса, хлопков в ладоши), визуального ввода (например: жестов), обонятельного ввода (не изображен). Устройства с человеко-машинным интерфейсом также могут использоваться для захвата определенных носителей, не обязательно напрямую связанных с сознательным вводом человеком, таких как звук (например, речь, музыка, окружающий звук), изображения (например, сканированные изображения, фотографические изображения, полученные из камеры для неподвижных изображений), видео (например, двухмерное видео, трехмерное видео, включая стереоскопическое видео).[130] Computer system 1000 may include certain human-machine interface input devices. Such a human-machine interface input device may respond to input by one or more human users through, for example, tactile input (e.g., keystrokes, swipes, movement of a control glove), audio input (e.g., voice, handclaps), visual input (for example: gestures), olfactory input (not shown). HMI devices can also be used to capture certain media not necessarily directly related to conscious human input, such as sound (e.g. speech, music, ambient sound), images (e.g. scanned images, photographic images taken from a camera for still images), video (eg 2D video, 3D video including stereoscopic video).

[131] Устройства ввода с человеческим интерфейсом могут включать в себя одно или несколько из (только одно из каждого приведенного): клавиатура 1001, мышь 1002, трекпад 1003, сенсорный экран 1010 и соответствующий графический адаптер 1050, управляющая перчатка, джойстик 1005, микрофон 1006, сканер 1007, камера 1008.[131] Human interface input devices may include one or more of (only one of each): keyboard 1001, mouse 1002, trackpad 1003, touch screen 1010 and associated graphics adapter 1050, control glove, joystick 1005, microphone 1006 , scanner 1007, camera 1008.

[132] Компьютерная система 1000 также может включать в себя определенные устройства вывода с человеко-машинным интерфейсом. Такие устройства вывода с человеко-машинным интерфейсом могут стимулировать чувства одного или более пользователей-людей посредством, например, тактильного вывода, звука, света и запаха/вкуса. Такие устройства вывода с человеко-машинным интерфейсом могут включать в себя тактильные устройства вывода (например, тактильную обратную связь от сенсорного экрана (1010), управляющей перчатки (1004) или джойстика (1005), но также могут иметься устройства тактильной обратной связи, которые не служат в качестве устройств ввода), устройства вывода звука (например: динамики (1009), наушники (не изображены)), устройства вывода изображения (например, экраны (1010), включая ЭЛТ-экраны, ЖК-экраны, плазменные экраны, OLED-экраны, каждое из которых имеет или не имеет возможности ввода с сенсорного экрана, каждое с возможностью тактильной обратной связи или без нее - некоторые из которых могут быть способны выводить двухмерный визуальный вывод или более, чем трехмерный вывод с помощью таких средств, как стереографический вывод; очки виртуальной реальности (не изображены), голографические дисплеи и дымовые баки (не изображены)) и принтеры (не изображены). [132] Computer system 1000 may also include certain human interface output devices. Such human interface output devices can stimulate the senses of one or more human users through, for example, tactile output, sound, light, and smell/taste. Such human interface output devices may include tactile output devices (e.g., tactile feedback from a touch screen (1010), operating glove (1004), or joystick (1005), but there may also be tactile feedback devices that do not serve as input devices), audio output devices (for example: speakers (1009), headphones (not shown)), image output devices (for example, screens (1010), including CRT screens, LCD screens, plasma screens, OLED- screens, each with or without touchscreen input capability, each with or without tactile feedback capability - some of which may be capable of outputting two-dimensional visual output or more than three-dimensional output by means such as stereographic output; virtual reality goggles (not shown), holographic displays and smoke tanks (not shown) and printers (not shown).

[133] Компьютерная система (1000) также может включать в себя доступные для человека устройства хранения и связанные с ними носители, такие как оптические носители, включая CD/DVD ROM/RW (1020) с CD/DVD или подобными носителями (1021), флэш-накопитель (1022), съемный жесткий диск или твердотельный накопитель (1023), ранее разработанные магнитные носители, такие как лента и дискета (не изображены), специализированные устройства на основе ROM/ASIC/PLD, такие как защитные ключи (не изображены) и т. п. [133] The computer system (1000) may also include human accessible storage devices and associated media such as optical media including CD/DVD ROM/RW (1020) with CD/DVD or similar media (1021), flash drive (1022), removable hard drive or solid state drive (1023), previously developed magnetic media such as tape and floppy disk (not shown), specialized ROM/ASIC/PLD based devices such as dongles (not shown) and so on.

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

[135] Компьютерная система 1000 также может включать в себя интерфейс(ы) к одной или более коммуникационным сетям (1155). Сети могут быть, например, беспроводными, проводными, оптическими. Кроме того, сети могут быть локальными, глобальными, городскими, автомобильными и промышленными, работающими в реальном времени, устойчивыми к задержкам и т. д. Примеры сетей включают в себя локальные сети, такие как Ethernet, беспроводные локальные вычислительные сети (LAN), сотовые сети, включая глобальные системы мобильной связи (GSM), третьего поколения (3G), четвертого поколения (4G), пятого поколения (5G), сети стандарта "Долгосрочное развитие" (LTE) и т.п., проводные телевизионные или беспроводные глобальные цифровые сети, включая кабельное телевидение, спутниковое телевидение и наземное широковещательное телевидение, автомобильные и промышленные, включая CAN-шину, и так далее. Некоторым сетям обычно требуются внешние сетевые интерфейсные адаптеры (1154), которые подключены к определенным портам данных общего назначения или периферийным шинам (1149) (например, к портам универсальной последовательной шины (USB) компьютерной системы 1000); другие обычно интегрированы в ядро компьютерной системы 1000 путем присоединения к системной шине, как описано ниже (например, интерфейс Ethernet в компьютерную систему ПК или интерфейс сотовой сети в компьютерную систему смартфона). Например, сеть 1055 может быть подключена к периферийной шине 1049 с использованием сетевого интерфейса 1054. Используя любую из этих сетей, компьютерная система 1000 может связываться с другими объектами. Такая связь может быть однонаправленной, только для приема (например, широковещательное телевидение), однонаправленной только для отправки (например, CAN-шина на определенные устройства с CAN-шиной) или двунаправленной, например, для других компьютерных систем, использующих локальную или глобальную цифровую сеть. В каждой из этих сетей и сетевых интерфейсов (1154) могут использоваться определенные протоколы и стеки протоколов, как описано выше. [135] Computer system 1000 may also include interface(s) to one or more communication networks (1155). Networks can be, for example, wireless, wired, optical. In addition, networks can be local, wide area, metropolitan, automotive, industrial, real-time, latency tolerant, etc. Examples of networks include local area networks such as Ethernet, wireless local area networks (LAN), cellular networks, including global systems for mobile communications (GSM), third generation (3G), fourth generation (4G), fifth generation (5G), Long Term Evolution (LTE) networks, etc., wired television or wireless global digital networks, including cable TV, satellite TV and terrestrial broadcast TV, automotive and industrial, including CAN bus, and so on. Some networks typically require external network interface adapters (1154) that are connected to certain general purpose data ports or peripheral buses (1149) (for example, the Universal Serial Bus (USB) ports of the 1000 computer system); others are typically integrated into the core of computer system 1000 by being attached 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). For example, network 1055 may be connected to peripheral bus 1049 using network interface 1054. Using any of these networks, computer system 1000 may communicate with other entities. Such communication can be unidirectional, receive-only (for example, broadcast television), unidirectional, send-only (for example, CAN bus to certain CAN-bus devices), or bidirectional, for example, to other computer systems using a local or wide area digital network. . Each of these networks and network interfaces (1154) may use specific protocols and protocol stacks as described above.

[136] Вышеупомянутые устройства человеко-машинного интерфейса, доступные человеку устройства хранения и сетевые интерфейсы могут быть присоединены к ядру 1040 компьютерной системы 1000.[136] The aforementioned human-machine interface devices, human-accessible storage devices, and network interfaces may be attached to the core 1040 of the computer system 1000.

[137] Ядро (1040) может включать в себя один или более центральных процессоров (ЦП) (1041), графических процессоров (ГП) (1042), специализированных программируемых процессоров в виде программируемых пользователем вентильных матриц (ППВМ) (1043), аппаратных ускорителей (1044) для определенных задач и т. д. Эти устройства, наряду с постоянным запоминающим устройством (ПЗУ) 1045, оперативным запоминающим устройством (RAM) 1046, внутренним ЗУ большой емкости, таким как внутренние жесткие диски, недоступные пользователю, твердотельные накопители (SSD) и т. п. 1047, могут быть подключены через системную шину 1048. В некоторых компьютерных системах системная шина 1048 может быть доступна в виде одного или более физических разъемов для обеспечения возможности расширения за счет дополнительных ЦП, ГП и т. п. Периферийные устройства могут быть подключены либо непосредственно к системной шине 1048 ядра, либо через периферийную шину 1049. Архитектура периферийной шины включает соединение периферийных компонентов (PCI), USB и т.п.[137] The core (1040) may include one or more central processing units (CPUs) (1041), graphics processing units (GPUs) (1042), custom field programmable gate array processors (FPGAs) (1043), hardware accelerators (1044) for specific tasks, etc. These devices, along with Read Only Memory (ROM) 1045, Random Access Memory (RAM) 1046, high capacity internal storage such as user-inaccessible internal hard drives, Solid State Drives (SSDs) ) and so on 1047 may be connected via the system bus 1048. In some computer systems, the system bus 1048 may be available as one or more physical connectors to allow expansion with additional CPUs, GPUs, etc. Peripherals may be connected either directly to the core system bus 1048 or via a peripheral bus 1049. Peripheral bus architecture includes peripheral component interconnection (PCI), USB, and the like.

[138] CPU 1041, GPU 1042, FPGA 1043 и ускорители 1044 могут выполнять определенные инструкции, которые в комбинации могут составлять вышеупомянутый компьютерный код. Этот компьютерный код может храниться в ROM 1045 или RAM 1046. Переходные данные также могут храниться в RAM 1046, тогда как постоянные данные могут храниться, например, во внутреннем ЗУ большой емкости 1047. Быстрое хранение и извлечение на любое из запоминающих устройств могут быть доступны посредством использования кэш-памяти, которая может быть тесно связана с одним или более CPU 1041, GPU 1042, ЗУ 1047 большой емкости, ROM 1045, RAM 1046 и т. п.[138] CPU 1041, GPU 1042, FPGA 1043, and accelerators 1044 may execute certain instructions, which in combination may constitute the aforementioned computer code. This computer code may be stored in ROM 1045 or RAM 1046. Transient data may also be stored in RAM 1046, while persistent data may be stored in, for example, internal mass storage 1047. Fast storage and retrieval to any of the storage devices may be available through use of cache memory, which may be closely associated with one or more CPU 1041, GPU 1042, mass storage 1047, ROM 1045, RAM 1046, etc.

[139] Машиночитаемый носитель может содержать компьютерный код для выполнения различных операций, реализуемых компьютером. Носители и компьютерный код могут быть специально спроектированными и сконструированными для целей настоящего раскрытия, или они могут быть хорошо известными и доступными для специалистов в области компьютерного программного обеспечения. [139] The computer-readable medium may contain computer code for performing various computer-implemented operations. The media and computer code may be specially designed and constructed for the purposes of this disclosure, or they may be well known and available to those skilled in the art of computer software.

[140] В качестве примера, а не ограничения, компьютерная система, имеющая архитектуру 1000 и, в частности, ядро 1040, может обеспечивать функциональность в результате наличия процессора(ов) (включая ЦП, ГП, ППВМ, ускорители и т. п.), выполняющего программное обеспечение, воплощенное на одном или нескольких материальных, машиночитаемых носителях. Такие машиночитаемые носители могут быть носителями, связанными с доступным для пользователя ЗУ большой емкости, как описано выше, а также определенными запоминающими устройствами ядра 1040, которые имеют невременную природу, такими как внутреннее ЗУ 1047 большой емкости или ПЗУ 1045. Программное обеспечение, реализующее различные варианты осуществления настоящего раскрытия, может храниться в таких устройствах и выполняться ядром 1040. Машиночитаемый носитель может включать в себя одно или более запоминающих устройств или микросхем в соответствии с конкретными потребностями. Программное обеспечение может побуждать ядро 1040 и, в частности, процессоры в нем (включая ЦП, ГП, ППВМ и т. п.) выполнять определенные процессы или определенные части конкретных процессов, описанных в данном документе, включая определение структур данных, хранящихся в ОЗУ 1046 и изменение таких структур данных в соответствии с процессами, определенными программным обеспечением. В дополнение или в качестве альтернативы, компьютерная система может обеспечивать функциональность в результате логики, встроенной в аппаратную схему или иным образом воплощенной в схеме (например, ускоритель 1044), которая может работать вместо или вместе с программным обеспечением для выполнения определенных процессов или отдельных частей конкретных процессов, описанных в данном документе. Ссылка на программное обеспечение может включать в себя логику и наоборот, где это применимо. Ссылка на машиночитаемый носитель может включать в себя схему (например, интегральную схему (ИС)), хранящую программное обеспечение для выполнения, схему, воплощающую логику для выполнения, или и то, и другое, где это применимо. Настоящее раскрытие включает в себя любую подходящую комбинацию аппаратного и программного обеспечения.[140] By way of example, and not limitation, a computer system having architecture 1000, and in particular core 1040, may provide functionality as a result of having processor(s) (including CPUs, GPUs, FPGAs, accelerators, etc.) that executes software embodied on one or more tangible, machine-readable media. Such computer-readable media can be media associated with user-accessible mass storage as described above, as well as certain core storage devices 1040 that are of a non-transitory nature, such as internal mass storage 1047 or ROM 1045. implementation of the present disclosure may be stored in such devices and executed by the core 1040. The computer-readable medium may include one or more memories or chips in accordance with specific needs. The software may cause the core 1040, and in particular the processors therein (including the CPU, GPU, FPGA, etc.) to execute certain processes or certain parts of the specific processes described herein, including the definition of data structures stored in RAM 1046 and modifying such data structures in accordance with processes defined by the software. In addition, or alternatively, a computer system may provide functionality as a result of logic embedded in hardware circuitry or otherwise embodied in circuitry (e.g., accelerator 1044) that can operate in place of or in conjunction with software to perform certain processes or particular parts of particular processes described in this document. The link to the software may include logic and vice versa where applicable. A reference to a computer-readable medium may include circuitry (eg, an integrated circuit (IC)) storing software to execute, circuitry embodying logic to execute, or both, where applicable. The present disclosure includes any suitable combination of hardware and software.

[141] Хотя это раскрытие описывает несколько примерных вариантов осуществления, существуют изменения, перестановки и различные заменяющие эквиваленты, которые попадают в объем раскрытия. Таким образом, будет принято во внимание, что специалисты в данной области техники смогут разработать многочисленные системы и способы, которые, хотя явно не показаны или не описаны здесь, воплощают принципы раскрытия и, таким образом, находятся в пределах его сущности и объема правовой охраны.[141] Although this disclosure describes several exemplary embodiments, there are variations, permutations, and various replacement equivalents that fall within the scope of the disclosure. Thus, it will be appreciated that those skilled in the art will be able to develop numerous systems and methods that, although not explicitly shown or described herein, embody the principles of the disclosure and thus fall within its spirit and scope.

Claims (40)

1. Способ декодирования кодированного битового потока видео с использованием по меньшей мере одного процессора, включающий:1. A method for decoding an encoded video bitstream using at least one processor, including: получение первого флага, указывающего, используется ли постоянный размер изображения в кодированной видеопоследовательности, включающей текущее изображение;obtaining a first flag indicating whether a constant image size is used in the encoded video sequence including the current image; на основании первого флага, указывающего, что используется постоянный размер изображения, декодирование текущего изображения без выполнения передискретизации опорного изображения;based on the first flag indicating that a constant image size is used, decoding the current image without performing reference image resampling; на основании первого флага, указывающего, что постоянный размер изображения не используется, получение второго флага, указывающего, сигнализируется ли размер окна соответствия;based on the first flag indicating that a constant image size is not used, obtaining a second flag indicating whether the match window size is signaled; на основании второго флага, указывающего, что размер окна соответствия сигнализируется:based on a second flag indicating that the match window size is being signaled: получение размера окна соответствия,getting the match window size, определение коэффициента передискретизации между текущим изображением и опорным изображением на основании размера окна соответствия, иdetermining a resampling factor between the current picture and the reference picture based on the match window size, and выполнение передискретизации опорного изображения на текущем изображении с использованием коэффициента передискретизации.performing resampling of the reference image on the current image using the resampling factor. 2. Способ по п. 1, в котором размер окна соответствия сигнализируется как по меньшей мере одно расстояние смещения от границы текущего изображения.2. The method of claim 1, wherein the size of the match window is signaled as at least one offset distance from the edge of the current image. 3. Способ по п. 1, в котором первый флаг сигнализируется в наборе параметров последовательности (SPS), при этом второй флаг сигнализируется в одном из SPS и набора параметров изображения (PPS).3. The method of claim 1, wherein the first flag is signaled in a sequence parameter set (SPS), while the second flag is signaled in one of the SPS and the picture parameter set (PPS). 4. Способ по п. 3, в котором второй флаг сигнализируется в SPS и указывает, сигнализируются ли в SPS параметры окна соответствия SPS.4. The method of claim 3, wherein the second flag is signaled to the SPS and indicates whether the SPS match window parameters are signaled to the SPS. 5. Способ по п. 4, в котором на основании второго флага, указывающего, что параметры окна соответствия SPS сигнализируются в SPS, размер окна соответствия получают на основании параметров окна соответствия SPS.5. The method of claim 4, wherein based on the second flag indicating that the SPS match window parameters are signaled to the SPS, the match window size is obtained based on the SPS match window parameters. 6. Способ по п. 4, дополнительно содержащий, на основании первого флага, указывающего, что размер изображения не является постоянным, получение третьего флага, указывающего, сигнализируются ли в PPS параметры окна соответствия PPS.6. The method of claim 4, further comprising, based on the first flag indicating that the image size is not constant, obtaining a third flag indicating whether PPS matching window parameters are signaled in the PPS. 7. Способ по п. 6, в котором, на основании второго флага, указывающего, что параметры окна соответствия SPS сигнализируются в SPS, и третьего флага, указывающего, что параметры окна соответствия PPS не сигнализируются в PPS, размер окна соответствия получают на основании параметров окна соответствия SPS.7. The method of claim 6, wherein, based on the second flag indicating that the SPS matching window parameters are signaled in the SPS and the third flag indicating that the PPS matching window parameters are not signaled in the PPS, the matching window size is obtained based on the parameters. SPS matching windows. 8. Способ по п. 6, в котором на основании второго флага, указывающего, что параметры окна соответствия SPS не сигнализируются в SPS, и третьего флага, указывающего, что параметры окна соответствия PPS сигнализируются в PPS, размер окна соответствия получают на основании параметров окна соответствия PPS.8. The method of claim 6, wherein based on the second flag indicating that the SPS matching window parameters are not signaled in the SPS and the third flag indicating that the PPS matching window parameters are signaled in the PPS, the size of the matching window is obtained based on the window parameters. PPS compliance. 9. Устройство для декодирования кодированного битового потока видео, при этом устройство содержит:9. A device for decoding an encoded video bitstream, the device comprising: по меньшей мере один элемент памяти, сконфигурированный для хранения программного кода; иat least one memory element configured to store program code; And по меньшей мере один процессор, сконфигурированный для считывания программного кода и работы в соответствии с инструкциями программного кода, причем программный код включает в себя:at least one processor configured to read the program code and operate in accordance with the instructions of the program code, the program code including: первый код получения, сконфигурированный так, чтобы предписывать по меньшей мере одному процессору получать первый флаг, указывающий, используется ли постоянный размер изображения в кодированной видеопоследовательности, включающей в себя текущее изображение;a first acquisition code configured to cause at least one processor to obtain a first flag indicating whether a constant image size is used in a coded video sequence including the current image; код декодирования, сконфигурированный так, чтобы предписывать по меньшей мере одному процессору, на основании первого флага, указывающего, что используется постоянный размер изображения, декодировать текущее изображение без выполнения передискретизации опорного изображения;a decoding code configured to cause at least one processor, based on the first flag indicating that a constant image size is used, to decode the current image without performing resampling of the reference image; второй код получения, сконфигурированный так, чтобы предписывать по меньшей мере одному процессору, на основании первого флага, указывающего, что постоянный размер изображения не используется, получать второй флаг, указывающий, сигнализируется ли размер окна соответствия; иa second obtaining code, configured to cause at least one processor, based on the first flag indicating that a constant image size is not used, to obtain a second flag indicating whether a matching window size is signaled; And код выполнения, сконфигурированный так, чтобы предписывать по меньшей мере одному процессору, на основании второго флага, указывающего, что размер окна соответствия сигнализируется, получать размер окна соответствия, определять коэффициент передискретизации между текущим изображением и опорным изображением на основании размера окна соответствия и выполнять передискретизацию опорного изображения на текущем изображении с использованием коэффициента передискретизации.execution code configured to direct at least one processor, based on a second flag indicating that a match window size is signaled, to obtain a match window size, determine a resampling ratio between the current picture and a reference picture based on the match window size, and perform resampling of the reference images on the current image using the resampling factor. 10. Устройство по п. 9, в котором размер окна соответствия сигнализируется как по меньшей мере одно расстояние смещения от границы текущего изображения.10. The apparatus of claim 9, wherein the size of the match window is signaled as at least one offset distance from the boundary of the current image. 11. Устройство по п. 9, в котором первый флаг сигнализируется в наборе параметров последовательности (SPS), при этом второй флаг сигнализируется в одном из SPS и набора параметров изображения (PPS).11. The apparatus of claim 9, wherein the first flag is signaled in a sequence parameter set (SPS), while the second flag is signaled in one of the SPS and the picture parameter set (PPS). 12. Устройство по п. 11, в котором второй флаг сигнализируется в SPS и указывает, сигнализируются ли в SPS параметры окна соответствия SPS.12. The apparatus of claim 11, wherein the second flag is signaled to the SPS and indicates whether the SPS match window parameters are signaled to the SPS. 13. Устройство по п. 12, в котором на основании второго флага, указывающего, что параметры окна соответствия SPS сигнализируются в SPS, размер окна соответствия получают на основании параметров окна соответствия SPS.13. The apparatus of claim 12, wherein based on the second flag indicating that the SPS match window parameters are signaled to the SPS, the match window size is obtained based on the SPS match window parameters. 14. Устройство по п. 12, в котором программный код дополнительно включает в себя третий код получения, сконфигурированный так, чтобы предписывать по меньшей мере одному процессору, на основании первого флага, указывающего, что размер изображения не является постоянным, получать третий флаг, указывающий, сигнализируются ли в PPS параметры окна соответствия PPS.14. The apparatus of claim 12, wherein the program code further includes a third acquisition code configured to cause at least one processor, based on the first flag indicating that the image size is not constant, to obtain a third flag indicating whether the PPS matching window parameters are signaled in the PPS. 15. Устройство по п. 14, в котором, на основании второго флага, указывающего, что параметры окна соответствия SPS сигнализируются в SPS, и третьего флага, указывающего, что параметры окна соответствия PPS не сигнализируются в PPS, размер окна соответствия получают на основании параметров окна соответствия SPS.15. The apparatus of claim 14, wherein, based on the second flag indicating that the SPS matching window parameters are signaled in the SPS and the third flag indicating that the PPS matching window parameters are not signaled in the PPS, the matching window size is obtained based on the parameters SPS matching windows. 16. Устройство по п. 14, в котором на основании второго флага, указывающего, что параметры окна соответствия SPS не сигнализируются в SPS, и третьего флага, указывающего, что параметры окна соответствия PPS сигнализируются в PPS, размер окна соответствия получают на основании параметров окна соответствия PPS.16. The apparatus of claim 14, wherein based on the second flag indicating that the SPS matching window parameters are not signaled in the SPS and the third flag indicating that the PPS matching window parameters are signaled in the PPS, the size of the matching window is obtained based on the window parameters. PPS compliance. 17. Невременный машиночитаемый носитель, хранящий инструкции, содержащие: одну или более инструкций, которые при исполнении одним или более процессорами устройства для декодирования кодированного битового потока видео предписывают одному или более процессорам:17. A non-transitory computer-readable medium that stores instructions containing: one or more instructions that, when executed by one or more processors of a device for decoding an encoded video bitstream, cause one or more processors to: получать первый флаг, указывающий, используется ли постоянный размер изображения в кодированной видеопоследовательности, включающей текущее изображение;obtain a first flag indicating whether a constant image size is used in the encoded video sequence including the current image; на основании первого флага, указывающего, что используется постоянный размер изображения, декодировать текущее изображение без выполнения передискретизации опорного изображения;based on the first flag indicating that a constant image size is used, decode the current image without performing reference image resampling; на основании первого флага, указывающего, что постоянный размер изображения не используется, получать второй флаг, указывающий, сигнализируется ли размер окна соответствия;based on the first flag indicating that a constant image size is not used, obtain a second flag indicating whether the match window size is signaled; на основании второго флага, указывающего, что размер окна соответствия сигнализируется:based on a second flag indicating that the match window size is being signaled: получать размер окна соответствия,get match window size, определять коэффициент передискретизации между текущим изображением и опорным изображением на основании размера окна соответствия, иdetermine a resampling ratio between the current picture and the reference picture based on the size of the match window, and выполнять передискретизацию опорного изображения на текущем изображении с использованием коэффициента передискретизации.resampling the reference image on the current image using the resampling factor. 18. Носитель по п. 17, в котором первый флаг сигнализируется в наборе параметров последовательности (SPS), при этом второй флаг сигнализируется в одном из SPS и набора параметров изображения (PPS).18. The carrier of claim 17, wherein the first flag is signaled in a sequence parameter set (SPS), while the second flag is signaled in one of the SPS and the picture parameter set (PPS). 19. Носитель по п. 18, в котором второй флаг сигнализируется в SPS и указывает, сигнализируются ли в SPS параметры окна соответствия SPS.19. The carrier of claim 18, wherein the second flag is signaled to the SPS and indicates whether the SPS match window parameters are signaled to the SPS. 20. Носитель по п. 19, в котором одна или более инструкций дополнительно предписывают по меньшей мере одному процессору на основании первого флага, указывающего, что размер изображения не является постоянным, получать третий флаг, указывающий, сигнализируются ли в PPS параметры окна соответствия PPS.20. The medium of claim 19, wherein the one or more instructions further cause at least one processor, based on a first flag indicating that the image size is not constant, to obtain a third flag indicating whether PPS matching window parameters are signaled in the PPS.
RU2021127639A 2019-09-20 2020-09-10 Reference picture oversampling signalling with indication of constant window size in video bitstream RU2794483C1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US62/903,601 2019-09-20
US17/009,979 2020-09-02

Related Child Applications (1)

Application Number Title Priority Date Filing Date
RU2023109621A Division RU2815415C2 (en) 2019-09-20 2020-09-10 Signalling for reference image oversampling with indication of constant window size in video bit stream

Publications (1)

Publication Number Publication Date
RU2794483C1 true RU2794483C1 (en) 2023-04-19

Family

ID=

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2420915C2 (en) * 2006-01-06 2011-06-10 Майкрософт Корпорейшн Operations for re-discretisation and measurement of image size for coding and decoding multiresolution video
RU2595966C1 (en) * 2012-09-27 2016-08-27 Долби Лабораторис Лайсэнзин Корпорейшн Processing inter-layer reference image for scalability coding standards

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2420915C2 (en) * 2006-01-06 2011-06-10 Майкрософт Корпорейшн Operations for re-discretisation and measurement of image size for coding and decoding multiresolution video
RU2595966C1 (en) * 2012-09-27 2016-08-27 Долби Лабораторис Лайсэнзин Корпорейшн Processing inter-layer reference image for scalability coding standards

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
J. SAMUELSSON еt al, AHG 8: Adaptive Resolution Change (ARC) High-Level Syntax (HLS), Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-O0204, 15th Meeting: Gothenburg, 3-12 July 2019. BENJAMIN BROSS et al, Versatile Video Coding (Draft 5), Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-N1001-v8, 14th Meeting: Geneva, 19-27 Mar. 2019. STEPHAN WENGER еt al, AHG8: Signaling and Filtering for Reference Picture Resampling, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-O0332, 15th Meeting: Gothenburg, 3-12 July 2019. JIANLE CHEN еt al, AHG19: Adaptive resolution change (ARC) support in VVC, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-N0118-v1, 14th Meeting: Geneva, 19-27 March 2019. *

Similar Documents

Publication Publication Date Title
AU2023202122B2 (en) Signaling of reference picture resampling with constant window size indication in video bitstream
AU2023203696B2 (en) Method for reference picture resampling with offset in video bitstream
AU2023201466B2 (en) Signaling of scalability parameters in video bitstream
AU2023203938B2 (en) Signaling of reference picture resampling with resampling picture size indication in video bitstream
WO2021133452A1 (en) Method for adaptation parameter set reference and constraints in coded video stream
RU2794483C1 (en) Reference picture oversampling signalling with indication of constant window size in video bitstream
RU2815415C2 (en) Signalling for reference image oversampling with indication of constant window size in video bit stream
RU2791938C1 (en) Transmission of interlayer prediction in video bit stream
RU2782247C1 (en) Signalling of oversampling of the reference image indicating the size of the oversampled image in a video bitstream
RU2783382C1 (en) Signalling of inter-layer prediction in a video bitstream
RU2799572C1 (en) Method for signaling a set of output layers with a subimage
RU2806281C1 (en) Method for signaling sub-image separation in an encoded video stream