EA045133B1 - METHOD, DEVICE AND MACHINE READABLE MEDIA CONTAINING A COMPUTER PROGRAM FOR FORMING A CONFIGURATION MESSAGE TO ENABLE THE DECODER TO RESTORE THE FIRST IMAGE REPRESENTATION WITH THE FIRST LEVEL OF QUALITY USING U CONFIGURATION DATA - Google Patents

METHOD, DEVICE AND MACHINE READABLE MEDIA CONTAINING A COMPUTER PROGRAM FOR FORMING A CONFIGURATION MESSAGE TO ENABLE THE DECODER TO RESTORE THE FIRST IMAGE REPRESENTATION WITH THE FIRST LEVEL OF QUALITY USING U CONFIGURATION DATA Download PDF

Info

Publication number
EA045133B1
EA045133B1 EA202191197 EA045133B1 EA 045133 B1 EA045133 B1 EA 045133B1 EA 202191197 EA202191197 EA 202191197 EA 045133 B1 EA045133 B1 EA 045133B1
Authority
EA
Eurasian Patent Office
Prior art keywords
data
payload
configuration
decoder
representation
Prior art date
Application number
EA202191197
Other languages
Russian (ru)
Inventor
Роберт Джонсон
Original Assignee
В-Нова Интернешнл Лимитед
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by В-Нова Интернешнл Лимитед filed Critical В-Нова Интернешнл Лимитед
Publication of EA045133B1 publication Critical patent/EA045133B1/en

Links

Description

Область техникиField of technology

Изобретение относится к способам, устройствам, компьютерным программам и машиночитаемому носителю. В частности, но не исключительно, настоящее изобретение относится к способам, устройствам, компьютерным программам и машиночитаемому носителю для применения при обработке конфигурационной информации, которая относится к остаточным данным, применимым для восстановления представления изображения с относительно высоким уровнем качества.The invention relates to methods, devices, computer programs and computer-readable media. In particular, but not exclusively, the present invention relates to methods, apparatus, computer programs and computer-readable media for use in processing configuration information that relates to residual data useful for reconstructing an image representation with a relatively high level of quality.

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

Сжатие и восстановление сигналов является важным элементом во многих известных системах. Многие типы сигналов, например видео, могут быть сжаты и закодированы для передачи, например, по сети передачи данных. Когда такой сигнал декодируют, может быть желательным повысить уровень качества такого сигнала и/или восстановить, в максимально возможной степени, как можно больше информации, содержащейся в исходном сигнале. В некоторых известных системах применяют способы масштабируемого кодирования. Масштабируемое кодирование включает в себя кодирование сигнала вместе с информацией, позволяющей восстанавливать сигнал с одним или несколькими различными уровнями качества, например, в зависимости от возможностей декодера и доступной пропускной способности. Существует несколько ограничений, касающихся восстановления сигналов в системе масштабируемого кодирования. Одним из таких ограничений является объем информации, которая хранится, применяется и/или передается. Количество информации может меняться, например, в зависимости от желаемого уровня качества восстановленного сигнала, характера информации, которая применяется при восстановлении, и/или от того, как такая информация сконфигурирована. Еще одно ограничение - это способность декодера надежно обрабатывать полученную информацию. Одним из факторов, который может повлиять на надежность декодера, является его способность обрабатывать ошибки и/или обрабатывать принятую информацию, которая является непредвиденной, измененной и/или нераспознанной декодером.Signal compression and decompression is an important element in many known systems. Many types of signals, such as video, can be compressed and encoded for transmission, for example, over a data network. When such a signal is decoded, it may be desirable to improve the quality level of such a signal and/or to recover, to the greatest extent possible, as much information contained in the original signal as possible. Some known systems use scalable encoding methods. Scalable encoding involves encoding a signal along with information that allows the signal to be reconstructed at one or more different quality levels, for example, depending on the capabilities of the decoder and the available bandwidth. There are several limitations regarding signal reconstruction in a scalable encoding system. One such limitation is the amount of information that is stored, accessed and/or transmitted. The amount of information may vary, for example, depending on the desired level of quality of the reconstructed signal, the nature of the information that is used in the reconstruction, and/or how such information is configured. Another limitation is the decoder's ability to reliably process the information received. One factor that can affect the reliability of a decoder is its ability to handle errors and/or process received information that is unexpected, modified, and/or unrecognized by the decoder.

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

Различные аспекты настоящего изобретения изложены в прилагаемой формуле изобретения.Various aspects of the present invention are set forth in the accompanying claims.

Дополнительные признаки и преимущества станут очевидными из следующего описания предпочтительных вариантов осуществления, приведенного только в качестве примера, со ссылкой на прилагаемые графические материалы.Additional features and advantages will become apparent from the following description of preferred embodiments, given by way of example only, with reference to the accompanying drawings.

Краткое описание графических материаловBrief description of graphic materials

На фиг. 1 показана блок-схема примера системы обработки сигналов в соответствии с вариантом осуществления настоящего изобретения;In fig. 1 is a block diagram of an example of a signal processing system in accordance with an embodiment of the present invention;

На фиг. 2A и 2B показана блок-схема другого примера системы обработки сигналов в соответствии с вариантом осуществления настоящего изобретения;In fig. 2A and 2B show a block diagram of another example of a signal processing system in accordance with an embodiment of the present invention;

На фиг. 3 показана схема примера конфигурационного сообщения в соответствии с вариантом осуществления настоящего изобретения;In fig. 3 is a diagram showing an example of a configuration message in accordance with an embodiment of the present invention;

На фиг. 4 показана последовательность операций, представляющая пример способа согласно варианту осуществления настоящего изобретения;In fig. 4 is a flowchart showing an example of a method according to an embodiment of the present invention;

На фиг. 5 показана схема еще одного примера конфигурационного сообщения в соответствии с вариантом осуществления настоящего изобретения;In fig. 5 is a diagram showing another example of a configuration message in accordance with an embodiment of the present invention;

На фиг. 6 показана последовательность операций, представляющая другой пример способа в соответствии с вариантом осуществления настоящего изобретения; иIn fig. 6 is a flowchart showing another example of a method according to an embodiment of the present invention; And

На фиг. 7 показана общая блок-схема примера устройства в соответствии с вариантом осуществления настоящего изобретения.In fig. 7 is a general block diagram of an example apparatus in accordance with an embodiment of the present invention.

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

На фиг. 1 показан пример системы 100 обработки сигналов. Систему 100 обработки сигналов применяют для обработки сигналов. Примеры типов сигналов включают в себя, помимо прочего, видеосигналы, сигналы изображения, аудиосигналы, пространственные сигналы, такие как те, которые применяют в медицинских, научных или голографических изображениях, или другие многомерные сигналы.In fig. 1 shows an example of a signal processing system 100. The signal processing system 100 is used for signal processing. Examples of signal types include, but are not limited to, video signals, image signals, audio signals, spatial signals such as those used in medical, scientific or holographic imaging, or other multidimensional signals.

Система 100 обработки сигналов включает в себя первое устройство 102 и второе устройство 104. Первое устройство 102 и второе устройство 104 могут иметь взаимосвязь клиент-сервер, при этом первое устройство 102 выполняет функции серверного устройства, а второе устройство 104 выполняет функции клиентского устройства. Система 100 обработки сигналов может включать в себя по меньшей мере одно дополнительное устройство (не показано). Первое устройство 102 и/или второе устройство 104 могут содержать один или более компонентов. Один или более компонентов могут быть реализованы аппаратно и/или программно. В системе 100 обработки сигналов один или более компонентов могут быть расположены совместно или могут быть расположены удаленно друг от друга. Примеры типов устройств включают в себя, помимо прочего, компьютеризированные устройства, карманные или переносные компьютеры, планшеты, мобильные устройства, игровые консоли, интеллектуальные телевизоры, телевизионные приставки, гарнитуры дополненной и/или виртуальной реальности и т. д.The signal processing system 100 includes a first device 102 and a second device 104. The first device 102 and the second device 104 may have a client-server relationship, with the first device 102 functioning as a server device and the second device 104 functioning as a client device. The signal processing system 100 may include at least one additional device (not shown). The first device 102 and/or the second device 104 may include one or more components. One or more components may be implemented in hardware and/or software. In the signal processing system 100, one or more components may be located together or may be located remotely from each other. Examples of device types include, but are not limited to, computerized devices, handheld or laptop computers, tablets, mobile devices, gaming consoles, smart TVs, set-top boxes, augmented and/or virtual reality headsets, etc.

Первое устройство 102 соединено с возможностью связи со вторым устройством 104 посредством сети 106 передачи данных. Примеры сети 106 передачи данных включают в себя, помимо прочего, Ин- 1 045133 тернет, локальную компьютерную сеть (LAN - англ.: Local Area Network) и глобальную компьютерную сеть (WAN - англ.: Wide Area Network). Первое и/или второе устройство 102, 104 может иметь проводное и/или беспроводное соединение с сетью 106 передачи данных.The first device 102 is communicatively connected to the second device 104 via a data network 106 . Examples of the data network 106 include, but are not limited to, the Internet, a local area network (LAN), and a wide area network (WAN). The first and/or second device 102, 104 may have a wired and/or wireless connection to the data network 106.

Первое устройство 102 содержит кодер 108. Кодер 108 выполнен с возможностью кодирования данных, содержащихся в сигнале, которые далее в настоящем документе называют данные сигнала. Например, если такой сигнал является видеосигналом, кодер 108 выполнен с возможностью кодирования видеоданных. Видеоданные содержат последовательность из множества изображений или кадров. В дополнение к кодированию данных сигнала кодер 108 может выполнять одну или более дополнительных функций. Кодер 108 может быть реализован различными способами. Например, кодер 108 может быть реализован аппаратно и/или программно.The first device 102 includes an encoder 108. The encoder 108 is configured to encode data contained in a signal, which is hereinafter referred to as signal data. For example, if such a signal is a video signal, the encoder 108 is configured to encode the video data. Video data contains a sequence of multiple images or frames. In addition to encoding signal data, encoder 108 may perform one or more additional functions. Encoder 108 may be implemented in various ways. For example, encoder 108 may be implemented in hardware and/or software.

Хотя в этом примере первое устройство 102 содержит кодер 108, в других примерах первое устройство 102 отделено от кодера 108. В таких примерах первое устройство 102 соединено с возможностью связи с кодирующим устройством 108. Первое устройство 102 может быть реализовано как одна или более программных функций и/или аппаратных модулей.Although in this example the first device 102 includes an encoder 108, in other examples the first device 102 is separate from the encoder 108. In such examples, the first device 102 is communicatively coupled to the encoder 108. The first device 102 may be implemented as one or more software functions and /or hardware modules.

Второе устройство 104 содержит декодер 110. Декодер 110 выполнен с возможностью декодирования данных сигнала. В дополнение к декодированию данных сигнала декодер 110 может выполнять одну или более дополнительных функций. Декодер 110 может быть реализован различными способами. Например, декодер 110 может быть реализован аппаратно и/или программно.The second device 104 includes a decoder 110. The decoder 110 is configured to decode signal data. In addition to decoding signal data, decoder 110 may perform one or more additional functions. Decoder 110 may be implemented in various ways. For example, decoder 110 may be implemented in hardware and/or software.

Хотя в этом примере второе устройство 104 содержит декодер 110, в других примерах второе устройство 104 отделено от декодера 110. В таких примерах второе устройство 104 соединено с возможностью связи с декодером 110. Второе устройство 104 может быть реализовано как одна или более программных функций и/или аппаратных модулей.Although in this example the second device 104 includes a decoder 110, in other examples the second device 104 is separate from the decoder 110. In such examples, the second device 104 is communicatively coupled to the decoder 110. The second device 104 may be implemented as one or more software functions and/or or hardware modules.

Кодер 108 кодирует данные сигнала и передает закодированные данные сигнала в декодер 110 через сеть 106 передачи данных. Декодер 110 декодирует принятые закодированные данные сигнала и формирует декодированные данные сигнала. Декодер 110 может выводить декодированные данные сигнала или данные, полученные с помощью декодированных данных сигнала. Например, декодер 110 может выводить такие данные для отображения на одном или более устройств отображения, связанных со вторым устройством 104.The encoder 108 encodes the signal data and transmits the encoded signal data to the decoder 110 via the data network 106 . The decoder 110 decodes the received encoded signal data and generates the decoded signal data. The decoder 110 may output decoded signal data or data obtained using the decoded signal data. For example, decoder 110 may output such data for display on one or more display devices associated with second device 104.

В некоторых описанных здесь примерах кодер 108 передает в декодер 110 представление сигнала с заданным уровнем качества и информацию, которую декодер 110 может использовать для восстановления представления сигнала с одним или более повышенных уровней качества. Такая информация может называться данными восстановления. В некоторых примерах восстановление представления подразумевает получение представления, которое не является точной копией исходного представления. Степень, в которой такое представление совпадает с исходным, может зависеть от различных факторов, включая, помимо прочего, уровни квантования. Представление сигнала с заданным уровнем качества можно рассматривать как отображение, версию или изображение данных, содержащихся в сигнале, с заданным уровнем качества. В некоторых примерах данные восстановления включены в данные сигнала, которые закодированы с помощью кодера 108 и переданы в декодер 110. Например, данные восстановления могут иметь форму метаданных. В некоторых примерах данные восстановления кодируют и передают отдельно от данных сигнала.In some of the examples described herein, encoder 108 provides to decoder 110 a representation of the signal at a given quality level and information that decoder 110 can use to reconstruct a representation of the signal at one or more higher quality levels. This information may be called recovery data. In some examples, view recovery involves obtaining a view that is not an exact copy of the original view. The extent to which such a representation matches the original may depend on various factors, including, but not limited to, quantization levels. A representation of a signal at a given level of quality can be thought of as a representation, version, or depiction of the data contained in the signal at a given level of quality. In some examples, the reconstruction data is included in the signal data that is encoded by the encoder 108 and transmitted to the decoder 110. For example, the reconstruction data may be in the form of metadata. In some examples, the reconstruction data is encoded and transmitted separately from the signal data.

Информация, которую декодер 110 применяет для восстановления представления сигнала на одном или более повышенных уровней качества, может содержать остаточные данные, как более подробно описано ниже. Остаточные данные являются примером данных восстановления. Информация, которую декодер 110 применяет для восстановления представления сигнала на одном или более повышенных уровней качества, также может содержать данные конфигурации, относящиеся к обработке остаточных данных. Данные конфигурации могут указывать, как эти остаточные данные были обработаны кодирующим устройством 108 и/или как остаточные данные должны быть обработаны декодером 110. Данные конфигурации могут быть переданы в декодер 110, например, в форме метаданных.The information that decoder 110 uses to reconstruct the signal's representation at one or more enhanced quality levels may include residual data, as described in more detail below. Residual data is an example of recovery data. The information that decoder 110 uses to restore a representation of the signal at one or more enhanced quality levels may also include configuration data related to processing of the residual data. The configuration data may indicate how the residual data was processed by the encoder 108 and/or how the residual data should be processed by the decoder 110. The configuration data may be provided to the decoder 110, for example, in the form of metadata.

На фиг. 2A и 2B схематически показан пример системы 200 обработки сигналов. Система 200 обработки сигналов включает в себя первое устройство 202, содержащее кодирующее устройство, и второе устройство 204, содержащее декодер. В каждом таком первом устройстве 202 и втором устройстве 204 элементы показаны на двух логических уровнях. Два уровня разделены пунктирной линией. Элементы первого, самого высокого уровня, связаны с данными относительно высокого уровня качества. Элементы второго, самого низкого уровня, связаны с данными относительно низкого уровня качества. Относительно высокий и относительно низкий уровни качества относятся к многоуровневой иерархии, имеющей несколько уровней качества. В некоторых примерах многоуровневая иерархия содержит более двух уровней качества. В каждом из примеров первое устройство 202 и второе устройство 204 могут включать в себя более двух разных уровней. Могут существовать один или более других уровней, выше и/или ниже тех, которые изображены на фиг. 2A и 2B.In fig. 2A and 2B schematically illustrate an example of a signal processing system 200. The signal processing system 200 includes a first device 202 including an encoder and a second device 204 including a decoder. In each such first device 202 and second device 204, elements are shown at two logical levels. The two levels are separated by a dotted line. Elements of the first, highest level, are associated with data of a relatively high level of quality. Elements of the second, lowest level, are associated with data of a relatively low level of quality. Relatively high and relatively low quality levels refer to a multi-level hierarchy that has several levels of quality. In some examples, the multi-level hierarchy contains more than two quality levels. In each example, the first device 202 and the second device 204 may include more than two different layers. There may be one or more other levels above and/or below those depicted in FIG. 2A and 2B.

Как показано на фиг. 2A, первое устройство 202 получает первое представление изображения с относительно высоким уровнем 206 качества. Представление данного изображения - это представление данных, содержащихся в изображении. Данное изображение может представлять собой заданный кадрAs shown in FIG. 2A, the first device 202 obtains a first image representation at a relatively high level 206 of quality. The representation of a given image is a representation of the data contained in the image. This image may represent a given frame

- 2 045133 видео. Первое представление изображения с относительно высоким уровнем 206 качества далее будет называться входными данными, поскольку, в данном примере, они являются данными, предоставленными в качестве входных данных кодера в первом устройстве 202. Первое устройство 202 может принимать входные данные 206. Например, первое устройство 202 может принимать входные данные 206 от по меньшей мере одного другого устройства. Первое устройство 202 может быть выполнено с возможностью приема последовательных фрагментов входных данных 206, например, последовательных кадров видео, и выполнения описанных здесь операций для каждого последующего кадра. Например, видео может содержать кадры F1, F2, ... FT, а первое устройство 202 может обрабатывать каждый из них по очереди.- 2 045133 videos. The first image representation at a relatively high quality level 206 will hereinafter be referred to as input data because, in this example, it is data provided as encoder input to the first device 202. The first device 202 may receive the input data 206. For example, the first device 202 may receive input data 206 from at least one other device. The first device 202 may be configured to receive successive pieces of input data 206, such as successive frames of video, and perform the operations described herein for each subsequent frame. For example, the video may contain frames F1, F2 , ... F T , and the first device 202 may process each of them in turn.

Первое устройство 202 получает данные 212, основанные на входных данных 206. В этом примере данные 212, основанные на входных данных 206, являются представлением 212 изображения с относительно низким уровнем качества. В этом примере данные 212 получают путем выполнения над входными данными 206 операции понижающей дискретизации, и поэтому далее в настоящем документе они называются субдискретизированными данными. В других примерах данные 212 получают путем выполнения над входными данными 206 операции, отличной от операции понижающей дискретизации.The first device 202 receives data 212 based on input data 206. In this example, data 212 based on input data 206 is a relatively low quality image representation 212. In this example, data 212 is obtained by performing a downsampling operation on input data 206 and is therefore referred to as downsampled data hereinafter. In other examples, data 212 is obtained by performing an operation other than downsampling on input data 206.

В этом примере субдискретизированные данные 212 обрабатывают для формирования обработанных данных 213 с относительно низким уровнем качества. В других примерах субдискретизированные данные 212 не обрабатывают с относительно низким уровнем качества. Таким образом, первое устройство 202 может формировать данные с относительно низким уровнем качества, при этом такие данные с относительно низким уровнем качества содержат субдискретизированные данные 212 или обработанные данные 213.In this example, the downsampled data 212 is processed to generate processed data 213 with a relatively low level of quality. In other examples, the downsampled data 212 is not processed at a relatively low level of quality. Thus, the first device 202 may generate relatively low quality data, wherein such relatively low quality data comprises subsampled data 212 or processed data 213.

В некоторых примерах формирование обработанных данных 213 предусматривает кодирование субдискретизированных данных 212. Кодирование субдискретизированных данных 212 дает закодированное изображение с относительно низким уровнем качества. Первое устройство 202 может выводить закодированное изображение, например, для передачи на второе устройство 204. Ряд закодированных изображений, например, формирующий закодированное видео, который выводится для передачи на второе устройство 204, может называться базовым потоком. Вместо того, чтобы создаваться в первом устройстве 202, закодированное изображение может создаваться устройством кодирования, которое является отдельным от первого устройства 202. Закодированное изображение может быть частью видео, закодированного в формате H.264. Формирование обработанных данных 213 может, например, содержать создание последовательных кадров видео в виде выходных данных отдельного устройства кодирования, такого как видеокодер H.264. Промежуточный набор данных для формирования обработанных данных 213 может содержать выходные данные такого кодирующего устройства, в отличие от любых промежуточных данных, формируемых отдельным кодирующим устройством.In some examples, generating the processed data 213 involves encoding the downsampled data 212. Encoding the downsampled data 212 produces an encoded image with a relatively low level of quality. The first device 202 may output an encoded image, for example, for transmission to a second device 204. A series of encoded images, for example, forming an encoded video, that is output for transmission to a second device 204, may be referred to as a base stream. Instead of being created in the first device 202, the encoded image may be created by an encoder that is separate from the first device 202. The encoded image may be part of a video encoded in the H.264 format. Generating processed data 213 may, for example, comprise generating successive frames of video as output from a separate encoding device, such as an H.264 video encoder. The intermediate data set for generating processed data 213 may contain the output of such an encoder, as opposed to any intermediate data generated by a separate encoder.

Формирование обработанных данных 213 с относительно низким уровнем качества может дополнительно предусматривать декодирование закодированного изображения с относительно низким уровнем качества. Операция декодирования может быть выполнена для эмуляции операции декодирования на втором устройстве 204, как станет очевидно далее. Декодирование закодированного изображения дает декодированное изображение с относительно низким уровнем качества. В некоторых примерах первое устройство 202 декодирует закодированное изображение с относительно низким уровнем качества для создания декодированного изображения с относительно низким уровнем качества. В других примерах первое устройство 202 принимает декодированное изображение с относительно низким уровнем качества, например, от кодирующего и/или декодирующего устройства, которое является отдельным от первого устройства 202. Закодированное изображение может быть декодировано с помощью декодера H.264. Декодирование с помощью отдельного декодирующего устройства может содержать входящее закодированное видео, такое как поток закодированных данных, выполненное с возможностью передачи на удаленное декодирующее устройство, в отдельный декодер с неизвестными свойствами, реализованный совместно с первым устройством 202 для формирования последовательных декодированных кадров видео. Таким образом, обработанные данные 213 могут содержать кадр видеоданных, который формируется посредством сложного нелинейного процесса кодирования и декодирования, при этом такой процесс кодирования и декодирования может предусматривать моделирование пространственно-временных корреляций в соответствии с конкретным стандартом кодирования, таким как H.264. Однако, поскольку выходной сигнал любого кодирующего устройства подают в соответствующий декодер, эта сложность эффективно скрыта от первого устройства 202.Producing the processed data 213 at a relatively low quality level may further include decoding the encoded image at a relatively low quality level. The decoding operation may be performed to emulate the decoding operation on the second device 204, as will be apparent below. Decoding the encoded image produces a decoded image with a relatively low level of quality. In some examples, the first device 202 decodes a relatively low quality level encoded image to create a relatively low quality level decoded image. In other examples, the first device 202 receives a decoded image at a relatively low quality level, for example, from an encoder and/or decoder that is separate from the first device 202. The encoded image may be decoded using an H.264 decoder. Decoding using a separate decoding device may comprise an incoming encoded video, such as an encoded data stream, configured to be transmitted to a remote decoding device, to a separate decoder with unknown properties implemented in conjunction with the first device 202 to generate sequential decoded video frames. Thus, the processed data 213 may comprise a frame of video data that is generated through a complex non-linear encoding and decoding process, which encoding and decoding process may involve modeling spatiotemporal correlations in accordance with a particular encoding standard such as H.264. However, since the output of any encoder is fed to a corresponding decoder, this complexity is effectively hidden from the first device 202.

В примере формирование обработанных данных 213 с относительно низким уровнем качества дополнительно предусматривает получение данных коррекции, основанных на сравнении между субдискретизированными данными 212 и декодированным изображением, полученным первым устройством 202, например, основанных на разнице между субдискретизированными данными 212 и декодированным изображением. Данные коррекции могут применять для коррекции ошибок, внесенных при кодировании и декодировании субдискретизированных данных 212. В некоторых примерах первое устройство 202 подает на выход данные коррекции, например, для передачи во второе устройство 204, а также кодированный сигнал. Это позволяет получателю исправить ошибки, внесенные при кодировании и декодиро- 3 045133 вании субдискретизированных данных 212. Эти данные коррекции также могут быть названы потоком первого улучшения. Поскольку данные коррекции могут быть основаны на разнице между субдискретизированными данными 212 и декодированным изображением, их можно рассматривать как форму остаточных данных (например, которые отличаются от другого набора остаточных данных, описанного далее).In the example, generating the processed data 213 at a relatively low quality level further involves obtaining correction data based on a comparison between the subsampled data 212 and the decoded image obtained by the first device 202, for example, based on the difference between the subsampled data 212 and the decoded image. The correction data may be used to correct errors introduced during encoding and decoding of the subsampled data 212. In some examples, the first device 202 outputs the correction data, for example, for transmission to the second device 204, as well as the encoded signal. This allows the recipient to correct errors introduced during encoding and decoding of the downsampled data 212. This correction data may also be referred to as the first enhancement stream. Since the correction data can be based on the difference between the subsampled data 212 and the decoded image, it can be considered a form of residual data (eg, which is different from another set of residual data described later).

В некоторых примерах формирование обработанных данных 213 с относительно низким уровнем качества дополнительно предусматривает коррекцию декодированного изображения с помощью данных коррекции. Например, данные коррекции как выходные данные для передачи могут быть помещены в форму, подходящую для объединения с декодированным изображением, а затем добавлены к декодированному изображению. Это может быть выполнено покадрово. В других примерах, вместо того, чтобы исправлять декодированное изображение с помощью данных коррекции, первое устройство 202 применяет субдискретизированные данные 212. Например, в определенных случаях могут применяться только кодированные, а затем декодированные данные, а в других случаях кодирование и декодирование могут быть заменены другой обработкой.In some examples, generating processed data 213 at a relatively low level of quality further involves correcting the decoded image using the correction data. For example, the correction data as transmission output may be put into a form suitable for combining with a decoded image and then added to the decoded image. This can be done frame by frame. In other examples, rather than correcting the decoded image with the correction data, the first device 202 applies the subsampled data 212. For example, in certain cases, only encoded and then decoded data may be used, and in other cases, encoding and decoding may be replaced by another processing.

В некоторых примерах формирование обработанных данных 213 предусматривает выполнение одной или нескольких операций, отличных от действий по кодированию, декодированию, получению и коррекции, описанных выше.In some examples, generating the processed data 213 involves performing one or more operations other than the encoding, decoding, acquisition, and correction steps described above.

Первое устройство 202 получает данные 214, основанные на данных с относительно низким уровнем качества. Как указано выше, такие данные с относительно низким уровнем качества могут содержать обработанные данные 213 или субдискретизированные данные 212, при этом такие субдискретизированные данные 212 не обрабатывают на более низком уровне. Как описано выше, в определенных случаях обработанные данные 213 могут содержать поток восстановленного видео (например, от операции кодирования-декодирования), который скорректирован с помощью данных коррекции. В примере на фиг. 2A и 2B данные 214 представляют собой второе представление изображения с относительно высоким уровнем качества, причем первое представление изображения с относительно высоким уровнем качества является входными данными 206. Второе представление с относительно высоким уровнем качества можно рассматривать как предварительное или прогнозируемое представление изображения с относительно высоким уровнем качества. В этом примере первое устройство 202 получает данные 214 путем выполнения операции повышающей дискретизации данных с относительно низким уровнем качества. Данные 214 в дальнейшем будут называться передискретизированными данными. Однако в других примерах одна или более других операций могут применяться для выработки данных 214, например, когда данные 212 не получают с помощью понижающей дискретизации входных данных 206. Следует отметить, что ссылки на относительно высокие и относительно низкие уровни качества могут соответствовать ссылкам на первый и второй уровень качества, причем второй уровень качества выше первого уровня качества. Как описано в настоящем документе, в некоторых случаях уровни качества могут соответствовать разным пространственным разрешениям.The first device 202 receives data 214 based on relatively low quality data. As noted above, such relatively low quality data may comprise processed data 213 or downsampled data 212 without such downsampled data 212 being processed at a lower level. As described above, in certain cases, the processed data 213 may comprise a reconstructed video stream (eg, from an encoding-decoding operation) that has been corrected using the correction data. In the example in FIG. 2A and 2B, data 214 is a second relatively high quality image representation, wherein the first relatively high quality image representation is input data 206. The second relatively high quality image representation can be thought of as a preliminary or predicted representation of a relatively high quality image. . In this example, the first device 202 obtains data 214 by upsampling the data at a relatively low quality level. Data 214 will hereinafter be referred to as resampled data. However, in other examples, one or more other operations may be used to generate data 214, for example, when data 212 is not obtained by downsampling input data 206. It should be noted that references to relatively high and relatively low quality levels may correspond to references to first and the second quality level, and the second quality level is higher than the first quality level. As described herein, in some cases quality levels may correspond to different spatial resolutions.

Входные данные 206 и передискретизированные данные 214 применяют для получения остаточных данных 216. Остаточные данные 216 связаны с изображением. Остаточные данные 216 могут существовать в форме набора остаточных элементов. Остаточный элемент в наборе остаточных элементов 216 может быть связан с соответствующим элементом изображения во входных данных 206. Примером элемента изображения является пиксель.Input data 206 and resampled data 214 are used to obtain residual data 216. Residual data 216 is associated with an image. Residual data 216 may exist in the form of a set of residual elements. A residual element in the residual element set 216 may be associated with a corresponding image element in input data 206. An example of an image element is a pixel.

В этом примере данный остаточный элемент получен путем вычитания значения элемента изображения в передискретизированных данных 214 из значения соответствующего элемента изображения во входных данных 206. По существу, для восстановления входных данных 206 применимы остаточные данные 216 в комбинации с передискретизированными данными 214. Остаточные данные 216 также могут называться данными восстановления или данными улучшения. В одном случае остаточные данные 216 могут образовывать часть потока второго улучшения.In this example, this residual pixel is obtained by subtracting the pixel value in the resampled data 214 from the value of the corresponding pixel in the input data 206. As such, the residual data 216 in combination with the resampled data 214 is used to reconstruct the input data 206. The residual data 216 can also called recovery data or enhancement data. In one case, residual data 216 may form part of a second enhancement stream.

Первое устройство 202 получает данные конфигурации, относящиеся к обработке остаточных данных 216. Данные конфигурации указывают, как остаточные данные 216 были обработаны и/или сформированы первым устройством 202, и/или как остаточные данные 216 должны быть обработаны вторым устройством 204. Данные конфигурации могут содержать набор параметров конфигурации. Данные конфигурации могут применяться для управления тем, как второе устройство 204 обрабатывает данные и/или восстанавливает входные данные 206 с помощью остаточных данных 216. Данные конфигурации могут относиться к одной или большему количеству характеристик остаточных данных 216. Отличные данные конфигурации могут приводить к различной обработке, выполняемой над остаточными данными 216 и/или с их использованием. Таким образом, данные конфигурации применимы для восстановления входных данных 206 с помощью остаточных данных 216.The first device 202 receives configuration data related to processing the residual data 216. The configuration data indicates how the residual data 216 was processed and/or generated by the first device 202, and/or how the residual data 216 should be processed by the second device 204. The configuration data may include set of configuration parameters. Configuration data may be used to control how the second device 204 processes data and/or reconstructs input data 206 using residual data 216. Configuration data may relate to one or more characteristics of residual data 216. Different configuration data may result in different processing. performed on and/or using residual data 216. Thus, the configuration data is useful for reconstructing input data 206 using residual data 216.

В этом примере первое устройство 202 передает на второе устройство 204 данные, основанные на субдискретизированных данных 212, данные, основанные на остаточных данных 216 и данных конфигурации, давая возможность второму устройству 204 восстановить входные данные 206.In this example, the first device 202 transmits to the second device 204 data based on the downsampled data 212, data based on the residual data 216, and configuration data, allowing the second device 204 to reconstruct the input data 206.

Обращаясь теперь к фиг. 2B, второе устройство 204 принимает данные 220, основанные (например, выработанные) на субдискретизированных данных 212. Второе устройство 204 также принимает данные,Referring now to FIG. 2B, a second device 204 receives data 220 based (eg, generated) on the subsampled data 212. The second device 204 also receives data

- 4 045133 основанные на остаточных данных 216. Например, второе устройство 204 может принимать базовый поток (данные 220), поток первого улучшения (любые данные коррекции) и поток второго улучшения (остаточные данные 216). Второе устройство 204 также принимает данные конфигурации, относящиеся к обработке остаточных данных 216. Данные 220, основанные на субдискретизированных данных 212, могут быть собственно субдискретизированными данными 212, обработанными данными 213 или данными, выработанными из таких субдискретизированных данных 212 или обработанных данных 213. Данные, основанные на остаточных данных 216, могут быть самими остаточными данными 216 или данными, выработанными из таких остаточных данных 216.- 4 045133 based on residual data 216. For example, second device 204 may receive a base stream (data 220), a first enhancement stream (any correction data), and a second enhancement stream (residual data 216). The second device 204 also receives configuration data related to processing the residual data 216. The data 220 based on the subsampled data 212 may be the subsampled data 212 itself, processed data 213, or data generated from such subsampled data 212 or processed data 213. Data based on residual data 216 may be the residual data 216 itself or data derived from such residual data 216.

В некоторых примерах принятые данные 220 содержат обработанные данные 213, которые могут содержать закодированное изображение с относительно низким уровнем качества и/или данные коррекции. В некоторых примерах, например, когда первое устройство 202 обработало субдискретизированные данные 212 для формирования обработанных данных 213, второе устройство 204 обрабатывает принятые данные 220 для формирования обработанных данных 222. Такая обработка вторым устройством 204 может содержать декодирование закодированного изображения (например, которое формирует часть базового потока кодированного видео) для создания декодированного изображения с относительно низким уровнем качества. В некоторых примерах обработка вторым устройством 204 содержит коррекцию декодированного изображения с помощью полученных данных коррекции. Следовательно, обработанные данные 222 могут содержать кадр скорректированных данных с первым или относительно низким уровнем качества. В некоторых примерах закодированное изображение с относительно низким уровнем качества декодируется декодирующим устройством, которое отделено от второго устройства 204. Закодированное изображение с относительно низким уровнем качества может быть декодировано с помощью декодера H.264.In some examples, received data 220 includes processed data 213, which may contain a relatively low quality encoded image and/or correction data. In some examples, such as when the first device 202 has processed the downsampled data 212 to generate processed data 213, the second device 204 processes the received data 220 to generate processed data 222. Such processing by the second device 204 may include decoding an encoded image (for example, that forms part of the underlying encoded video stream) to create a decoded image with a relatively low level of quality. In some examples, processing by second device 204 comprises correcting the decoded image using the received correction data. Therefore, the processed data 222 may contain a frame of corrected data at a first or relatively low quality level. In some examples, the relatively low quality encoded image is decoded by a decoder that is separate from the second device 204. The relatively low quality encoded image may be decoded using an H.264 decoder.

В других примерах принятые данные 220 содержат субдискретизированные данные 212 и не содержат обработанные данные 213. В некоторых таких примерах второе устройство 204 не обрабатывает принятые данные 220 для формирования обработанных данных 222.In other examples, received data 220 contains downsampled data 212 and does not contain processed data 213. In some such examples, the second device 204 does not process the received data 220 to generate processed data 222.

Для получения передискретизированных данных 214 во втором устройстве 204 применяются данные с относительно низким уровнем качества. Как указано выше, данные с относительно низким уровнем качества могут содержать обработанные данные 222 или принятые данные 220, причем второе устройство 204 не обрабатывает принятые данные 220 с относительно низким уровнем качества. Передискретизированные данные 214 представляют собой предварительное представление изображения с относительно высоким уровнем качества. Передискретизированные данные 214 могут быть выработаны путем выполнения операции повышающей дискретизации над данными с относительно низким уровнем качества.To obtain the resampled data 214, the second device 204 uses relatively low quality data. As discussed above, the relatively low quality data may comprise processed data 222 or received data 220 without the second device 204 processing the relatively low quality received data 220. The resampled data 214 represents a preliminary representation of the image at a relatively high level of quality. Resampled data 214 can be generated by performing an upsampling operation on data with a relatively low quality level.

Второе устройство 204 получает остаточные данные 216. Для восстановления входных данных 206 применимы остаточные данные 216 с передискретизированными данными 214. Остаточные данные 216 являются признаком сравнения между входными данными 206 и передискретизированными данными 214.The second device 204 receives the residual data 216. To reconstruct the input data 206, the residual data 216 is used with the resampled data 214. The residual data 216 is indicative of a comparison between the input data 206 and the resampled data 214.

Второе устройство 204 также получает данные конфигурации, относящиеся к обработке остаточных данных 216. Данные конфигурации могут использоваться вторым устройством 204 для восстановления входных данных 206. Например, данные конфигурации могут указывать на характеристику или свойство, относящееся к остаточным данным 216, которые влияют на то, как остаточные данные 216 должны применяться и/или обрабатываться, или должны ли вообще применяться остаточные данные 216. В некоторых примерах данные конфигурации содержат остаточные данные 216.The second device 204 also receives configuration data related to processing the residual data 216. The configuration data may be used by the second device 204 to reconstruct the input data 206. For example, the configuration data may indicate a characteristic or property related to the residual data 216 that affects whether how the residual data 216 should be applied and/or processed, or whether the residual data 216 should be applied at all. In some examples, the configuration data includes the residual data 216.

Имеются несколько соображений, касающихся применения таких данных конфигурации. Одним из таких соображений является объем информации, которая формируется, хранится, передается и/или обрабатывается. Чем больше информации применяется, тем большее количество ресурсов может быть предусмотрено для обработки такой информации. Примеры таких ресурсов включают в себя ресурсы для передачи, ресурсы для хранения и ресурсы для обработки. По сравнению с некоторыми известными технологиями, описанные здесь примеры позволяют использовать относительно небольшой объем информации. Это может уменьшить объем данных, передаваемых через сеть 106 передачи данных. Экономия может быть особенно значимой, когда данные относятся к данным видео высокого качества, где объем информации, передаваемой в известных системах, может быть особенно большим.There are several considerations regarding the use of such configuration data. One such consideration is the amount of information that is generated, stored, transmitted and/or processed. The more information is applied, the more resources can be allocated to process such information. Examples of such resources include transmission resources, storage resources, and processing resources. Compared to some known technologies, the examples described here make use of a relatively small amount of information. This may reduce the amount of data transmitted through the data network 106. The savings can be especially significant when the data relates to high quality video data, where the amount of information transferred in known systems can be especially large.

Еще одним соображением, касающимся использования таких данных конфигурации, является возможность адаптации к декодирующим устройствам различных типов. Например, данное кодирующее устройство может передавать информацию множеству декодеров, каждый из которых имеет отличающиеся характеристики, такие как возможности по обработке и/или хранению. Желательно, чтобы применение данных конфигурации при восстановлении изображения не зависело от типа и/или возможностей декодирующего устройства, которое применяется для выполнения восстановления. По сравнению с некоторыми известными технологиями, примеры, описанные в настоящем документе, позволяют различным типам декодеров, имеющих отличающиеся рабочие характеристики, надежно обрабатывать данные конфигурации.Another consideration regarding the use of such configuration data is the ability to adapt to different types of decoding devices. For example, a given encoder may transmit information to multiple decoders, each of which has different characteristics, such as processing and/or storage capabilities. It is desirable that the use of configuration data in image restoration is independent of the type and/or capabilities of the decoding device that is used to perform the restoration. Compared to some prior art technologies, the examples described herein allow different types of decoders having different performance characteristics to reliably process configuration data.

Дополнительным соображением, касающимся использования таких данных конфигурации, являетсяAn additional consideration regarding the use of such configuration data is

- 5 045133 объем и/или сложность обработки, предусмотренной в декодере для обработки данных конфигурации.- 5 045133 amount and/or complexity of processing provided in the decoder for processing configuration data.

По сравнению с некоторыми известными технологиями, примеры, описанные в настоящем документе, уменьшают объем обработки, выполняемой декодером для получения и/или обработки данных конфигурации.Compared to some prior art technologies, the examples described herein reduce the amount of processing performed by the decoder to obtain and/or process configuration data.

Также следует учитывать и обработку ошибок. Например, способность декодера обрабатывать потенциальные ошибки при обработке данных конфигурации может являться фактором надежности декодера. По сравнению с некоторыми известными технологиями, описанные в настоящем документе примеры позволяют декодеру обрабатывать потенциальные ошибки, а также получать непредусмотренные или нераспознанные данные. Это может эффективно повысить надежность декодера.Error handling should also be taken into account. For example, the ability of a decoder to handle potential errors when processing configuration data may be a factor in the reliability of the decoder. Compared to some prior art technologies, the examples described herein allow the decoder to handle potential errors as well as unexpected or unrecognized data. This can effectively improve the reliability of the decoder.

На фиг. 3 схематически показан пример конфигурационного сообщения 300. Устройство, например первое устройство 102, содержащее кодер 108, формирует конфигурационное сообщение 300 и выводит такое конфигурационное сообщение 300 для обработки дополнительным устройством, например вторым устройством 104, которое содержит декодер 110.In fig. 3 schematically illustrates an example of a configuration message 300. A device, such as a first device 102 that includes an encoder 108, generates a configuration message 300 and outputs such a configuration message 300 for processing by an additional device, such as a second device 104 that includes a decoder 110.

Конфигурационное сообщение 300 содержит часть 310 заголовка и часть 320 полезных данных. Часть 320 полезных данных содержит данные 350 конфигурации. Данные 350 конфигурации относятся к обработке остаточных данных, например, остаточных данных 216, как описано выше. В некоторых примерах длина конфигурационного сообщения 300 представляет собой целое число байтов.Configuration message 300 contains a header portion 310 and a payload portion 320. The payload portion 320 contains configuration data 350 . Configuration data 350 relates to processing residual data, such as residual data 216, as described above. In some examples, the length of the configuration message 300 is an integer number of bytes.

Часть 310 заголовка содержит параметр 312 типа сообщения. Параметр 312 типа сообщения задает тип конфигурационного сообщения 300. Тип сообщения, заданный параметром 312 типа сообщения, может указывать, как должно быть обработано конфигурационное сообщение 300. Примером типа сообщения является конфигурационное сообщение набора изображения. Конфигурационное сообщение набора изображения может соответствовать множеству изображений в наборе изображений. Другим примером типа сообщения является конфигурационное сообщение изображения. Конфигурационное сообщение изображения может соответствовать заданному изображению только в наборе изображений. Другим примером типа сообщения является сообщение с закодированными данными. Сообщение с закодированными данными может быть выполнено с возможностью содержания закодированных остаточных данных для данного изображения. Еще одним примером типа сообщения является сообщение метаданных кодирующего устройства. Сообщение метаданных кодирующего устройства может содержать метаданные, относящиеся к одной или большему количеству характеристик кодирующего устройства. Еще одним примером типа сообщения является сообщение управления декодером. Сообщение управления декодером может содержать команды для управления декодером.The header portion 310 contains a message type parameter 312. The message type parameter 312 specifies the type of the configuration message 300. The message type specified by the message type parameter 312 may indicate how the configuration message 300 is to be processed. An example of the message type is a picture set configuration message. The picture set configuration message may correspond to multiple pictures in the picture set. Another example of a message type is an image configuration message. An image configuration message can only match a given image in an image set. Another example of a message type is an encoded data message. The encoded data message may be configured to contain encoded residual data for a given image. Another example of a message type is an encoder metadata message. The encoder metadata message may contain metadata related to one or more characteristics of the encoder. Another example of a message type is a decoder control message. The decoder control message may contain commands to control the decoder.

Параметр 312 типа сообщения указывает на то, что часть 320 полезных данных имеет заданный формат полезных данных. Формат полезных данных части 320 полезных данных может быть определенна основании сообщения конфигурационного сообщения 300. Формат полезных данных может определять набор параметров конфигурации данных 350 конфигурации, которые содержатся в части 320 полезных данных. В некоторых примерах формат полезных данных части 320 полезных данных определяет конкретную логику обработки, которая задает, как следует обрабатывать содержимое части 320 полезных данных. Часть 320 полезных данных имеет форматный размер. Форматный размер части 320 полезных данных соответствует формату полезных данных части 320 полезных данных. Форматный размер части полезных данных, имеющей заданный формат полезных данных, определен заранее или может быть определен из содержимого части полезных данных. Например, форматный размер может быть определен, исходя из объединенного размера отдельных параметров конфигурации, которые определены форматом полезных данных. Форматный размер может рассматриваться как возможный размер или предполагаемый размер части 320 полезных данных.The message type parameter 312 indicates that the payload portion 320 has a specified payload format. The payload format of the payload portion 320 may be determined based on the message of the configuration message 300. The payload format may determine a set of configuration parameters of the configuration data 350 that are contained in the payload portion 320. In some examples, the payload format of payload portion 320 defines specific processing logic that specifies how the contents of payload portion 320 should be processed. The payload portion 320 has a format size. The format size of the payload portion 320 corresponds to the payload format of the payload portion 320. The format size of the payload portion having a predetermined payload format is predetermined or can be determined from the contents of the payload portion. For example, the format size may be determined based on the combined size of the individual configuration parameters that are determined by the payload format. The format size can be thought of as the possible size or expected size of the payload portion 320.

Часть 310 заголовка содержит параметр 314 размера полезных данных. Параметр 314 размера полезных данных задает фактический размер части 320 полезных данных. Фактический размер части 320 полезных данных может быть выражен целым числом байтов.The header portion 310 contains a payload size parameter 314. Payload size parameter 314 specifies the actual size of the payload portion 320. The actual size of the payload portion 320 can be expressed as an integer number of bytes.

В некоторых примерах значение параметра 314 размера полезных данных хранится в элементе фиксированной длины. Элемент фиксированной длины, хранящий значение параметра 314 размера полезных данных, может содержать заранее определенное количество битов в заданном байте части 310 заголовка. Например, значение параметра 314 размера полезных данных может быть сохранено в элементе фиксированной длины, который содержит три бита в однобайтовой части заголовка.In some examples, the value of payload size parameter 314 is stored in a fixed-length element. The fixed-length element storing the value of the payload size parameter 314 may contain a predetermined number of bits in a given byte of the header portion 310. For example, the value of payload size parameter 314 may be stored in a fixed-length element that contains three bits in a one-byte header portion.

В некоторых примерах параметр 314 размера полезных данных содержит ссылку на таблицу соответствия размера полезных данных, в которой хранятся возможные значения фактического размера части 320 полезных данных. Например, параметр 314 размера полезных данных может содержать значение, применимое для получения фактического размера части 320 полезных данных из таблицы соответствия размера полезных данных.In some examples, payload size parameter 314 contains a reference to a payload size lookup table that stores possible values for the actual size of payload portion 320. For example, payload size parameter 314 may contain a value useful for obtaining the actual size of payload portion 320 from the payload size lookup table.

В некоторых примерах значение параметра 314 размера полезных данных хранится в элементе переменной длины. Это может иметь место, например, когда фактический размер части 310 полезных данных не является одним из значений, указанных в таблице соответствия размера полезных данных. Фактический размер части 310 полезных данных, определенный параметром 314 размера полезных данных, может иметь переменную длину в битах. Элемент переменной длины содержит целое число байтов. ВIn some examples, the value of payload size parameter 314 is stored in a variable length element. This may be the case, for example, when the actual size of the payload portion 310 is not one of the values specified in the payload size mapping table. The actual size of the payload portion 310, determined by the payload size parameter 314, may have a variable length in bits. A variable-length element contains an integer number of bytes. IN

- 6 045133 некоторых примерах по меньшей мере один байт элемента переменной длины имеет один или более заранее определенных битов, выполненных с возможностью указания того, содержит ли элемент переменной длины один или более дополнительных байтов для такого по меньшей мере одного заданного байта. Например, заданный байт элемента переменной длины может содержать семь битов, которые выполнены с возможностью хранения параметра 314 размера полезных данных, и один бит, который применяется, чтобы указывать, имеется ли дополнительный байт после данного байта в элементе переменной длины или нет. По существу, параметр 314 размера полезных данных может быть представлен с помощью элемента переменной длины независимо от длины в битах параметра 314 размера полезных данных. Элемент переменной длины содержит минимальное количество байтов, которые применимы для хранения значения параметра 314 размера полезных данных.- 6 045133 In some examples, at least one byte of the variable length element has one or more predetermined bits configured to indicate whether the variable length element contains one or more additional bytes for such at least one specified byte. For example, a given variable length element byte may include seven bits that are configured to store a payload size parameter 314, and one bit that is used to indicate whether there is an additional byte after a given byte in the variable length element or not. As such, the payload size parameter 314 may be represented by a variable length element regardless of the bit length of the payload size parameter 314. The variable length element contains the minimum number of bytes that are usable to store the value of the payload size parameter 314.

В некоторых примерах данные хранятся в элементе фиксированной длины, который указывает, что значение параметра 314 размера полезных данных хранится в элементе переменной длины. Например, если определено, что значение параметра 314 размера полезных данных является одним из заранее определенного набора значений, такое значение может быть сохранено в элементе фиксированной длины и/или элемент фиксированной длины может включать в себя ссылку на таблицу соответствия размера полезных данных. С другой стороны, если определено, что значение параметра 314 размера полезных данных не является одним значением из заранее определенного набора значений, элемент переменной длины может применяться для хранения значения, а элемент фиксированной длины может быть выполнен с возможностью указания, например, с помощью флага, содержащегося в элементе фиксированной длины, что для хранения значения применяется элемент переменной длины.In some examples, the data is stored in a fixed-length element, which indicates that the value of the payload size parameter 314 is stored in a variable-length element. For example, if the value of payload size parameter 314 is determined to be one of a predetermined set of values, such value may be stored in a fixed-length element and/or the fixed-length element may include a reference to a payload size lookup table. On the other hand, if it is determined that the value of the payload size parameter 314 is not one value from a predetermined set of values, a variable length element may be used to store the value, and a fixed length element may be configured to indicate, for example, using a flag, contained in a fixed-length element, such that a variable-length element is used to store the value.

В этом примере часть 310 заголовка содержит только параметр 312 типа сообщения и параметр 314 размера полезных данных. В других примерах часть 310 заголовка содержит один или более дополнительных параметров. В некоторых примерах длина части 310 заголовка составляет один байт. Например, параметр 312 типа сообщения может быть представлен пятью битами, а параметр 314 размера полезных данных может быть представлен оставшимися тремя битами однобайтовой части 310 заголовка. В других примерах, например, где для представления фактического размера части 320 полезных данных применяется элемент переменной длины, часть 310 заголовка содержит более одного байта.In this example, the header portion 310 contains only a message type parameter 312 and a payload size parameter 314. In other examples, the header portion 310 contains one or more additional parameters. In some examples, the length of the header portion 310 is one byte. For example, the message type parameter 312 may be represented by five bits, and the payload size parameter 314 may be represented by the remaining three bits of the one-byte header portion 310. In other examples, such as where a variable length element is used to represent the actual size of the payload portion 320, the header portion 310 contains more than one byte.

Фактический размер части 320 полезных данных может быть таким же или отличаться от форматного размера части 320 полезных данных. Независимо от того, являются ли фактический размер и форматный размер одинаковыми, параметр 314 размера полезных данных, задающий фактический размер, включен в часть 310 заголовка конфигурационного сообщения 300.The actual size of the payload portion 320 may be the same or different from the format size of the payload portion 320. Regardless of whether the actual size and the format size are the same, a payload size parameter 314 specifying the actual size is included in the header portion 310 of the configuration message 300.

Включение параметра 314 размера полезных данных, который задает фактический размер части 320 полезных данных, когда возможный размер части 320 полезных данных, а именно форматный размер, может быть логически выведен из параметра 312 типа сообщения, может показаться неэффективным и/или дублирующим информацию, особенно если форматный размер и фактический размер совпадают. Включение параметра 314 размера полезных данных в конфигурационное сообщение 300 предусматривает применение большего количества данных для конфигурационного сообщения 300 по сравнению со случаем, в котором такой параметр не является включенным. Однако включение параметра 314 размера полезных данных в конфигурационное сообщение 300 способствует более эффективной и надежной обработке декодером 110 и/или улучшенной обработке ошибок по сравнению со случаем, в котором такой параметр не применяется, что будет более подробно описано ниже.The inclusion of a payload size parameter 314 that specifies the actual size of the payload portion 320 when the possible size of the payload portion 320, namely the format size, can be inferred from the message type parameter 312 may appear ineffective and/or duplicative information, especially if format size and actual size are the same. Including a payload size parameter 314 in the configuration message 300 allows for more data to be applied to the configuration message 300 compared to the case in which such a parameter is not included. However, the inclusion of the payload size parameter 314 in the configuration message 300 facilitates more efficient and reliable processing by the decoder 110 and/or improved error handling compared to the case in which such a parameter is not used, as will be described in more detail below.

На фиг. 4 показан пример способа 400 обработки данных конфигурации. Способ 400 может быть осуществлен устройством, содержащим декодер, таким как второе устройство 104, описанное выше.In fig. 4 shows an example of a method 400 for processing configuration data. Method 400 may be implemented by a device including a decoder, such as the second device 104 described above.

В некоторых примерах приняты остаточные данные. В этом примере принятые остаточные данные представляют собой остаточные данные 216, описанные выше. Остаточные данные 216 могут быть приняты от кодирующего устройства, такого как кодер 108. Остаточные данные 216 являются применимыми для восстановления первого представления 206 изображения с относительно высоким уровнем качества в многоуровневой иерархии с помощью второго представления 214 изображения с относительно высоким уровнем качества. Второе представление 214 основано на представлении 222 изображения с относительно низким уровнем качества в многоуровневой иерархии. В некоторых примерах данные, применимые для получения представления 222 с относительно низким уровнем качества, принимают от кодера 108.Some examples accept residual data. In this example, the received residual data is the residual data 216 described above. Residual data 216 may be received from an encoder such as encoder 108. Residual data 216 is useful for reconstructing a first relatively high quality image representation 206 in a multi-level hierarchy using a second relatively high quality image representation 214. The second representation 214 is based on a relatively low quality image representation 222 in a multi-level hierarchy. In some examples, data useful for obtaining a relatively low quality representation 222 is received from encoder 108.

В позиции 410 принимается конфигурационное сообщение. В этом примере принятое конфигурационное сообщение представляет собой конфигурационное сообщение 300, описанное выше. Конфигурационное сообщение 300 может быть принято от кодера 108.At position 410, a configuration message is received. In this example, the received configuration message is configuration message 300 described above. Configuration message 300 may be received from encoder 108.

В позиции 420 принятое конфигурационное сообщение 300 обрабатывают с помощью параметра 312 типа сообщения и параметра 314 размера полезных данных. Конфигурационное сообщение 300 обрабатывают для получения данных 350 конфигурации, хранящихся в части 320 полезных данных конфигурационного сообщения 300.At position 420, the received configuration message 300 is processed using the message type parameter 312 and the payload size parameter 314. The configuration message 300 is processed to obtain configuration data 350 stored in the payload portion 320 of the configuration message 300.

В некоторых примерах обработка конфигурационного сообщения 300 содержит синтаксический анализ части 310 заголовка конфигурационного сообщения 300 для получения параметра 312 типа сообщения и параметра 312 размера полезных данных. Исходя из параметра 314 размера полезных данных определяют фактический размер части 320 полезных данных. На основании параметра 312 типа сообще- 7 045133 ния определяют тип конфигурационного сообщения 300. Конфигурационное сообщение 300 может быть обработано в соответствии с определенным типом сообщения и определенным фактическим размером части 320 полезных данных.In some examples, processing of configuration message 300 includes parsing header portion 310 of configuration message 300 to obtain message type parameter 312 and payload size parameter 312. Based on the payload size parameter 314, the actual size of the payload portion 320 is determined. Based on the message type parameter 312, the type of configuration message 300 is determined. The configuration message 300 may be processed in accordance with the determined message type and the determined actual size of the payload portion 320.

Обработка конфигурационного сообщения 300 может содержать синтаксический анализ части 320 полезных данных для получения данных 350 конфигурации. В некоторых примерах обработка конфигурационного сообщения 300 содержит отслеживание количества байтов конфигурационного сообщения 300, которые были прочитаны при анализе содержимого части 320 полезных данных. Декодер 110 может обнаруживать ситуации неполного считывания, если имеется определенное расхождение между количеством байтов, считанных при синтаксическом анализе части 320 полезных данных, и фактическим размером части 320 полезных данных, как задано параметром 314 размера полезных данных. Неполное считывание может быть потенциальным источником ошибок при обработке конфигурационных сообщений.Processing the configuration message 300 may include parsing the payload portion 320 to obtain configuration data 350 . In some examples, processing of the configuration message 300 includes keeping track of the number of bytes of the configuration message 300 that were read when parsing the contents of the payload portion 320. Decoder 110 may detect underread situations if there is a certain discrepancy between the number of bytes read when parsing payload portion 320 and the actual size of payload portion 320, as specified by payload size parameter 314. Incomplete reading can be a potential source of errors when processing configuration messages.

В некоторых примерах параметр 314 размера полезных данных применяют для определения начала следующего конфигурационного сообщения. Следующее конфигурационное сообщение может быть следующим последовательным конфигурационным сообщением по отношению к конфигурационному сообщению 300 в последовательности конфигурационных сообщений, принятых декодером 110. Последовательность конфигурационных сообщений может образовывать часть данных конфигурации. Конфигурационное сообщение 300 и следующее конфигурационное сообщение могут соответствовать одному и тому же изображению или разным изображениям. Например, конфигурационное сообщение 300 может соответствовать первому изображению в последовательности изображений, а следующее конфигурационное сообщение может соответствовать второму, отличающемуся изображению в последовательности изображений.In some examples, payload size parameter 314 is used to determine the start of the next configuration message. The next configuration message may be the next sequential configuration message relative to configuration message 300 in the sequence of configuration messages received by decoder 110. The sequence of configuration messages may form part of the configuration data. Configuration message 300 and the next configuration message may correspond to the same image or different images. For example, configuration message 300 may correspond to the first image in the sequence of images, and the next configuration message may correspond to a second, different image in the sequence of images.

В некоторых примерах обработка конфигурационного сообщения 300 включает в себя отбрасывание по меньшей мере части содержимого части 320 полезных данных. По меньшей мере, часть содержимого части 320 полезных данных может быть отброшена с помощью параметра 314 размера полезных данных. Например, декодер 110 может перейти к следующему конфигурационному сообщению, причем начало следующего конфигурационного сообщения было определено с помощью параметра 314 размера полезных данных, без обработки по меньшей мере части содержимого части 320 полезных данных.In some examples, processing configuration message 300 includes discarding at least a portion of the contents of payload portion 320. At least some of the content of payload portion 320 may be discarded using payload size parameter 314 . For example, decoder 110 may move to the next configuration message, where the start of the next configuration message has been determined by payload size parameter 314, without processing at least part of the contents of payload portion 320.

Таким образом, использование параметра 314 размера полезных данных позволяет декодеру 110 эффективно обрабатывать возможные неполные считывания. Применение параметра 314 размера полезных данных для определения положения начала следующего сообщения также позволяет декодеру 110 поддерживать правильное выравнивание или синхронизацию с потоком байтов, содержащим несколько конфигурационных сообщений. Например, даже если содержимое и/или формат данного конфигурационного сообщения являются нераспознанными, непредусмотренными и/или были обновлены без оповещения об этом декодера 110, декодер 110 все еще способен определить начало следующего конфигурационного сообщения и, таким образом, остается синхронизированным с потоком байтов. Кроме того, если поток байтов становится искаженным, декодер 110 способен выявлять ситуации, когда должно произойти избыточное считывание, и отреагировать на них соответствующим образом. Например, декодер 110 может прервать обработку текущего конфигурационного сообщения и сбросить поток байтов в определенное положение начала следующего конфигурационного сообщения. Таким образом, обработка конфигурационного сообщения 300 с помощью параметра 314 размера полезных данных повышает надежность и/или способность к адаптации декодера 110 по сравнению со случаем, в котором такой параметр не применяют, то есть декодер 110 способен обрабатывать конфигурационные сообщения, которые были изменены и/или не распознаны и/или оказались непредусмотренными. Декодер 110 также способен обрабатывать потенциальные неполные и избыточные считывания без потери синхронизации с потоком байтов, за счет чего повышается способность декодера 110 обрабатывать потенциальные ошибки.Thus, use of the payload size parameter 314 allows the decoder 110 to efficiently handle possible incomplete reads. Using payload size parameter 314 to determine the start position of the next message also allows decoder 110 to maintain proper alignment or synchronization with a byte stream containing multiple configuration messages. For example, even if the content and/or format of a given configuration message is unrecognized, unintended, and/or has been updated without informing decoder 110, decoder 110 is still able to determine the beginning of the next configuration message and thus remains synchronized with the byte stream. In addition, if the byte stream becomes corrupted, the decoder 110 is able to detect situations where overreading is about to occur and respond accordingly. For example, decoder 110 may interrupt processing of the current configuration message and reset the byte stream to a specific start position for the next configuration message. Thus, processing the configuration message 300 using the payload size parameter 314 improves the reliability and/or adaptability of the decoder 110 compared to the case in which such a parameter is not used, that is, the decoder 110 is able to process configuration messages that have changed and/or or were not recognized and/or were unexpected. The decoder 110 is also capable of handling potential underreads and overreads without losing synchronization with the byte stream, thereby increasing the ability of the decoder 110 to handle potential errors.

В некоторых примерах обработка конфигурационного сообщения 300 содержит синтаксический анализ первого содержимого части 320 полезных данных. Первое содержимое соответствует форматному размеру части 320 полезных данных. Первое содержимое может содержать данные 350 конфигурации. Первое содержимое может содержать первый набор параметров конфигурации. Обработка конфигурационного сообщения 300 может дополнительно содержать отбрасывание остаточного содержимого части 320 полезных данных с помощью параметра 314 размера полезных данных. Остаточное содержимое части 320 полезных данных содержит тот контент части 320 полезных данных, который не содержится в первом содержимом. Остаточное содержимое содержит дополнительные данные конфигурации. Остаточное содержимое может содержать дополнительный набор параметров конфигурации. Наличие остаточного содержимого может быть определено путем выявления расхождения между форматным размером и фактическим размером части 320 полезных данных. Другими словами, если определено, что фактический размер больше, чем форматный размер, это свидетельствует о том, что в части 320 полезных данных, помимо содержимого, которое предусмотрено, исходя из форматного размера, присутствует дополнительное содержимое.In some examples, processing of the configuration message 300 comprises parsing the first contents of the payload portion 320. The first content corresponds to the format size of the payload portion 320. The first content may contain configuration data 350. The first content may contain a first set of configuration parameters. Processing the configuration message 300 may further comprise discarding the residual contents of the payload portion 320 using the payload size parameter 314 . The residual content of the payload portion 320 contains that content of the payload portion 320 that is not contained in the first content. The remaining content contains additional configuration data. The residual content may contain an additional set of configuration parameters. The presence of residual content can be determined by detecting a discrepancy between the format size and the actual size of the payload portion 320. In other words, if it is determined that the actual size is larger than the format size, this indicates that additional content is present in the payload portion 320 in addition to the content that is provided based on the format size.

В позиции 430 первое представление 206 восстанавливают с помощью полученных данных 350 конфигурации. Первое представление 206 может быть восстановлено с помощью остаточных данных 216 в соответствии с полученными данными 350 конфигурации.At position 430, the first representation 206 is restored using the received configuration data 350. The first representation 206 can be reconstructed using the residual data 216 in accordance with the received configuration data 350.

- 8 045133- 8 045133

На фиг. 5 схематично показан пример конфигурационного сообщения 500. Устройство, например первое устройство 102, содержащее кодер 108, может формировать конфигурационное сообщение 500 и выводить такое конфигурационное сообщение 500 для обработки дополнительным устройством, например, вторым устройством 104, которое содержит декодер 110. Некоторые элементы, изображенные на фиг. 5, аналогичны элементам, показанным на фиг. 3, поэтому для обозначения аналогичных элементов были использованы соответствующие ссылочные позиции, увеличенные на 200.In fig. 5 schematically illustrates an example of a configuration message 500. A device, such as a first device 102 that includes an encoder 108, may generate a configuration message 500 and output such configuration message 500 for processing by an additional device, such as a second device 104 that includes a decoder 110. Some of the elements depicted in fig. 5 are similar to the elements shown in FIG. 3, therefore, to designate similar elements, the corresponding reference numbers, increased by 200, were used.

Конфигурационное сообщение 500 содержит часть 510 заголовка и часть 520 полезных данных. Часть 510 заголовка содержит параметр 512 типа сообщения. Параметр 512 типа сообщения задает тип конфигурационного сообщения 500. Тип сообщения указывает на то, как следует обрабатывать конфигурационное сообщение 500. Часть 510 заголовка содержит параметр 514 размера полезных данных. Параметр 514 размера полезных данных задает фактический размер части 520 полезных данных.Configuration message 500 contains a header portion 510 and a payload portion 520. The header portion 510 contains a message type parameter 512. The message type parameter 512 specifies the type of the configuration message 500. The message type specifies how the configuration message 500 should be processed. The header portion 510 contains a payload size parameter 514. Payload size parameter 514 specifies the actual size of the payload portion 520.

В данном примере часть 520 полезных данных содержит первый фрагмент 522 полезных данных. Первый фрагмент 522 полезных данных содержит первые данные 552 конфигурации, относящиеся к обработке остаточных данных 216. Часть 520 полезных данных также содержит второй фрагмент 524 полезных данных. В этом примере второй фрагмент 524 полезных данных расположен последовательно относительно первого фрагмента 522 полезных данных в части 520 полезных данных. Расположение второго фрагмента 524 полезных данных последовательно относительно первого фрагмента 522 полезных данных может позволить декодеру 110 принять, обработать и/или выполнить синтаксический анализ первого фрагмента 522 полезных данных до того, как будет принят, обработан и/или синтаксически проанализирован второй фрагмент 524 полезных данных. Второй фрагмент 524 полезных данных содержит вторые данные 554 конфигурации, относящиеся к обработке остаточных данных 216.In this example, the payload portion 520 contains the first payload portion 522. The first payload portion 522 contains first configuration data 552 related to processing of the residual data 216. The payload portion 520 also contains a second payload portion 524. In this example, the second payload fragment 524 is positioned sequentially relative to the first payload fragment 522 in the payload portion 520. Positioning the second payload fragment 524 sequentially relative to the first payload fragment 522 may allow the decoder 110 to receive, process, and/or parse the first payload fragment 522 before the second payload fragment 524 is received, processed, and/or parsed. The second payload fragment 524 contains second configuration data 554 related to processing the residual data 216.

Первый и второй фрагменты 522, 524 полезных данных вместе образуют часть 520 полезных данных конфигурационного сообщения 500. Следовательно, параметр 514 размера полезных данных указывает суммарный размер первого и второго фрагментов 522, 524 полезных данных.The first and second payload fragments 522, 524 together form the payload portion 520 of the configuration message 500. Therefore, the payload size parameter 514 indicates the combined size of the first and second payload fragments 522, 524.

В некоторых примерах первый фрагмент 522 полезных данных содержит все первые данные 552 конфигурации. В некоторых примерах второй фрагмент 524 полезных данных содержит все вторые данные 554 конфигурации. По существу, первые и вторые данные 552, 554 конфигурации могут храниться в отдельных фрагментах части 520 полезных данных конфигурационного сообщения 500. Сохранение первых данных 552 конфигурации в отдельном фрагменте части 520 полезных данных по отношению ко вторым данным 554 конфигурации способствует эффективной обработке декодером содержимого части 520 полезных данных, в частности, для декодера, который выполнен с возможностью не использовать и/или не обрабатывать одни из первых и вторых данных 552, 554 конфигурации.In some examples, the first payload fragment 522 contains all of the first configuration data 552. In some examples, the second payload fragment 524 contains all of the second configuration data 554. As such, the first and second configuration data 552, 554 may be stored in separate portions of the payload portion 520 of the configuration message 500. Storing the first configuration data 552 in a separate portion of the payload portion 520 with respect to the second configuration data 554 facilitates efficient decoder processing of the contents of portion 520. useful data, in particular for a decoder that is configured not to use and/or process one of the first and second configuration data 552, 554.

В некоторых примерах часть 510 заголовка не задает размер первого фрагмента 522 полезных данных и/или размер второго фрагмента 524 полезных данных. В некоторых примерах размер первого фрагмента 522 полезных данных может быть определен, исходя из форматного размера, указанного параметром 512 типа сообщения. По существу, форматный размер, указанный параметром 512 типа сообщения, может отражать содержимое первого фрагмента 522 полезных данных, но не содержимое второго фрагмента 524 полезных данных.In some examples, the header portion 510 does not specify the size of the first payload fragment 522 and/or the size of the second payload fragment 524. In some examples, the size of the first payload fragment 522 may be determined based on the format size specified by the message type parameter 512. As such, the format size specified by the message type parameter 512 may reflect the contents of the first payload fragment 522, but not the contents of the second payload fragment 524.

Одни или оба из первых данных 552 конфигурации и вторых данных 554 конфигурации могут быть применимыми для восстановления входных данных 206 с помощью остаточных данных 216. В некоторых примерах вторые данные 554 конфигурации содержат дополнительные данные конфигурации. Дополнительные данные конфигурации предназначены для дополнения первых данных 552 конфигурации.One or both of the first configuration data 552 and the second configuration data 554 may be useful for reconstructing the input data 206 using the residual data 216. In some examples, the second configuration data 554 includes additional configuration data. The additional configuration data is intended to complement the first configuration data 552.

Первые данные 552 конфигурации относятся к первому набору из одного или большего количества декодеров. Первый набор из одного или большего количества декодеров имеет первую рабочую характеристику. Примером рабочей характеристики является возможность обработки. Вторые данные 554 конфигурации относятся ко второму набору из одного или большего количества декодеров. Второй набор из одного или большего количества декодеров имеет вторую рабочую характеристику. Декодер 110, на который передается конфигурационное сообщение 500, может содержаться в первом наборе или втором наборе. Кодер 108, который формирует конфигурационное сообщение 500, может не иметь информации, в каком наборе декодеров содержится декодер 110. Кодер 108 может передавать конфигурационное сообщение 500 множеству декодеров через оба набора декодеров.The first configuration data 552 relates to a first set of one or more decoders. A first set of one or more decoders has a first performance characteristic. An example of a performance characteristic is processing capability. Second configuration data 554 relates to a second set of one or more decoders. A second set of one or more decoders has a second performance characteristic. The decoder 110 to which the configuration message 500 is transmitted may be contained in the first set or the second set. The encoder 108 that generates the configuration message 500 may not have knowledge of which set of decoders contains the decoder 110. The encoder 108 may transmit the configuration message 500 to multiple decoders through both sets of decoders.

В некоторых примерах первая рабочая характеристика соответствует первой версии, согласно которой первый набор из одного или большего количества декодеров настроен для работы, а вторая рабочая характеристика соответствует второй, отличающейся версии, согласно которой второй набор из одного или большего количества декодеров настроен для работы. Вторая версия может быть более поздней по отношению к первой версии. Первая и вторая версии могут быть разными версиями по структуре синтаксиса, которая определяет, как должны обрабатываться конфигурационные сообщения, и/или которая определяет содержимое таких конфигурационных сообщений. Следовательно, когда синтаксис обновлен от первой версии до второй версии, к конфигурационному сообщению, которое содержит первые данные 552 конфигурации из первой версии, добавляются вторые данные 554 конфигурации. Вторые данные 554 конфигурации могут, например, быть добавлены к первым данным 552 конфигурации.In some examples, the first performance characteristic corresponds to a first version in which a first set of one or more decoders is configured to operate, and the second performance characteristic corresponds to a second, different version in which a second set of one or more decoders is configured to operate. The second version may be later than the first version. The first and second versions may be different versions in terms of the syntax structure that specifies how configuration messages are to be processed and/or that specifies the contents of such configuration messages. Therefore, when the syntax is updated from the first version to the second version, the second configuration data 554 is added to the configuration message that contains the first configuration data 552 from the first version. The second configuration data 554 may, for example, be appended to the first configuration data 552.

Добавление вторых данных 554 конфигурации к конфигурационному сообщению существующегоAdding a second configuration data 554 to an existing configuration message

- 9 045133 типа сообщения вместо создания нового типа сообщения для размещения вторых данных 554 конфигурации уменьшает объем данных, которые хранятся, передаются и/или обрабатываются, по сравнению со случаем, когда формируют новые типы сообщений. Путем изменения конфигурации существующих типов сообщений вместо определения новых типов сообщений может быть уменьшено общее количество конфигурационных сообщений, используемых для передачи всех соответствующих данных конфигурации. Каждое конфигурационное сообщение имеет соответствующий заголовок, который, например, может иметь длину по меньшей мере один байт. Следовательно, за счет уменьшения общего количества конфигурационных сообщений может быть уменьшен объем данных, которые хранятся, передаются и/или обрабатываются.- 9 045133 message types instead of creating a new message type to accommodate the second configuration data 554 reduces the amount of data that is stored, transmitted and/or processed compared to the case when new message types are generated. By reconfiguring existing message types instead of defining new message types, the total number of configuration messages used to convey all relevant configuration data can be reduced. Each configuration message has a corresponding header, which, for example, may be at least one byte in length. Therefore, by reducing the overall number of configuration messages, the amount of data that is stored, transmitted, and/or processed can be reduced.

В некоторых примерах декодер 110 не может обрабатывать и первый, и второй фрагменты 522, 524 полезных данных. В одном случае кодер 108 может подвергнуться обновлению, в соответствии с которым вторые данные 554 конфигурации включены в конфигурационное сообщение 500, но декодер 110 может не подвергнуться такому обновлению. Другими словами, кодер 108 и декодер 110 могут работать согласно отличающимся версиям синтаксиса. В таких примерах может существовать расхождение в интерпретации форматного размера части 520 полезных данных кодирующим устройством 108 и декодером 110. Например, форматный размер согласно кодирующему устройству 108, в котором учтено дополнительное содержимое части 520 полезных данных и обновленный формат полезных данных после обновления версии, отличается от форматного размера согласно декодеру 110, поскольку декодер 110 не учитывает дополнительное содержимое и обновленный формат полезных данных и работает в соответствии с предыдущей версией. Для кодера 108 форматный размер равен фактическому размеру обновленной части 520 полезных данных, но для декодера 110 это не так. Следовательно, один только форматный размер может быть ненадежным индикатором фактического размера части 520 полезных данных. Таким образом, включение параметра 514 размера полезных данных, который определяет фактический размер части 520 полезных данных, способствует более надежной обработке в декодере 110, как более подробно описано ниже.In some examples, decoder 110 may not process both the first and second payload fragments 522, 524. In one case, the encoder 108 may undergo an update whereby the second configuration data 554 is included in the configuration message 500, but the decoder 110 may not undergo such an update. In other words, encoder 108 and decoder 110 may operate according to different versions of the syntax. In such examples, there may be a discrepancy in the interpretation of the format size of the payload portion 520 by the encoder 108 and the decoder 110. For example, the format size according to the encoder 108, which takes into account the additional content of the payload portion 520 and the updated payload format after a version upgrade, is different from format size according to the decoder 110, since the decoder 110 does not take into account the additional content and the updated payload format and operates in accordance with the previous version. For encoder 108, the format size is equal to the actual size of the updated payload portion 520, but for decoder 110 this is not the case. Therefore, the format size alone may not be a reliable indicator of the actual size of the payload portion 520. Thus, the inclusion of a payload size parameter 514, which specifies the actual size of the payload portion 520, facilitates more reliable processing in the decoder 110, as described in more detail below.

На фиг. 6 показан пример способа 600 обработки данных конфигурации. Способ 600 может быть осуществлен устройством, содержащим декодер, таким как второе устройство 104, описанное выше.In fig. 6 shows an example of a method 600 for processing configuration data. Method 600 may be implemented by a device including a decoder, such as the second device 104 described above.

В позиции 610 принято конфигурационное сообщение 500.At position 610, configuration message 500 is received.

В позиции 620 конфигурационное сообщение 500 обрабатывается для получения одних или обоих из первых данных 552 конфигурации и вторых данных 554 конфигурации.At position 620, configuration message 500 is processed to obtain one or both of first configuration data 552 and second configuration data 554.

В некоторых примерах, например, если декодер 110 находится в первом наборе декодеров, первый фрагмент 522 полезных данных синтаксически анализируется декодером 110, а для второго фрагмента 524 полезных данных синтаксический анализ декодером 110 не производится. Синтаксический анализ первого фрагмента 522 полезных данных, но не второго фрагмента 524 полезных данных позволяет декодеру 110 получить первые данные 552 конфигурации, но не вторые данные 554 конфигурации. В некоторых примерах, например, если декодер 110 находится во втором наборе декодеров, второй фрагмент 524 полезных данных синтаксически анализируется декодером 110, а для первого фрагмента 522 полезных данных синтаксический анализ декодером 110 не производится. Синтаксический анализ второго фрагмента 524 полезных данных, но не первого фрагмента 522 полезных данных позволяет декодеру 110 получить вторые данные 554 конфигурации, но не первые данные 552 конфигурации. В некоторых примерах, например, если декодер 110 находится во втором наборе декодеров, осуществляется синтаксический анализ как первого фрагмента 522 полезных данных, так и второго фрагмента 524 полезных данных для получения как первых данных 552 конфигурации, так и вторых данных 554 конфигурации.In some examples, for example, if decoder 110 is in the first set of decoders, the first payload fragment 522 is parsed by decoder 110, but the second payload fragment 524 is not parsed by decoder 110. Parsing the first payload fragment 522 but not the second payload fragment 524 allows the decoder 110 to obtain the first configuration data 552 but not the second configuration data 554. In some examples, for example, if decoder 110 is in the second set of decoders, the second payload 524 is parsed by decoder 110, but the first payload 522 is not parsed by decoder 110. Parsing the second payload fragment 524, but not the first payload fragment 522, allows the decoder 110 to obtain the second configuration data 554, but not the first configuration data 552. In some examples, for example, if decoder 110 is in a second decoder set, both the first payload fragment 522 and the second payload fragment 524 are parsed to obtain both the first configuration data 552 and the second configuration data 554.

Параметр 514 размера полезных данных может применяться для определения начала следующего конфигурационного сообщения. В некоторых примерах, например, если декодер 110 находится в первом наборе декодеров, содержимое второго фрагмента 524 полезных данных отбрасывается. Содержимое второго фрагмента 524 полезных данных содержит вторые данные 554 конфигурации. Содержимое второго фрагмента 524 полезных данных может быть отброшено с помощью общего размера части 520 полезных данных, указанного в параметре 514 размера полезных данных. Например, декодер 110 может считать содержимое первого фрагмента 522 полезных данных, а затем перейти к следующему конфигурационному сообщению, начало которого было локализовано с помощью параметра 514 размера полезных данных, без считывания содержимого второго фрагмента 524 полезных данных.Payload size parameter 514 may be used to determine the start of the next configuration message. In some examples, for example, if decoder 110 is in the first decoder set, the contents of the second payload fragment 524 are discarded. The content of the second payload fragment 524 contains second configuration data 554. The contents of the second payload portion 524 may be discarded using the overall size of the payload portion 520 specified in the payload size parameter 514. For example, decoder 110 may read the contents of the first payload fragment 522 and then move on to the next configuration message, the beginning of which was localized by the payload size parameter 514, without reading the contents of the second payload fragment 524.

Применение параметра 514 размера полезных данных для определения начала следующего сообщения позволяет декодеру 110 оставаться синхронизированным с потоком байтов, содержащим несколько конфигурационных сообщений. Таким образом, декодер 110 может обработать конфигурационное сообщение 500 и определить начало следующего конфигурационного сообщения независимо от того, находится ли декодер 110 в первом наборе декодеров или во втором наборе декодеров.Using payload size parameter 514 to determine the start of the next message allows decoder 110 to remain synchronized with a byte stream containing multiple configuration messages. Thus, decoder 110 can process configuration message 500 and determine the start of the next configuration message regardless of whether decoder 110 is in the first set of decoders or in the second set of decoders.

В позиции 630 восстанавливается первое представление 206 изображения с относительно высоким уровнем качества. Первое представление 206 восстанавливается с помощью одних или обоих из первых данных 552 конфигурации и вторых данных 554 конфигурации, которые получены в позиции 620. В случае, когда декодер 110 получает как первые, так и вторые данные 552, 554 конфигурации, первое представление 206 изображения восстанавливают с помощью как первых, так и вторых данных 552, 554 конAt position 630, the first image representation 206 is restored at a relatively high level of quality. The first image representation 206 is reconstructed using one or both of the first configuration data 552 and the second configuration data 554 that are received at position 620. In the case where the decoder 110 receives both the first and second configuration data 552, 554, the first image representation 206 is reconstructed using both the first and second data 552, 554 con

- 10 045133 фигурации. В случае, когда декодер 110 обрабатывает один из первого и второго фрагментов 522, 524 полезных данных, но не другой из первого и второго фрагментов 522, 524 полезных данных, первое представление 206 изображения может быть восстановлено с помощью одних из полученных первых и вторых данных 552, 554 конфигурации. По существу, применение конфигурационного сообщения 500 для восстановления первого представления 206 может не зависеть от типа декодера и/или номера версии, в соответствии с которой декодер 110 настроен для работы.- 10 045133 figurations. In the case where the decoder 110 processes one of the first and second payload chunks 522, 524 but not the other of the first and second payload chunks 522, 524, the first image representation 206 may be reconstructed using one of the received first and second payload data 552. , 554 configurations. As such, the use of configuration message 500 to restore the first representation 206 may be independent of the type of decoder and/or version number under which the decoder 110 is configured to operate.

В некоторых примерах в конфигурационном сообщении 500 выполняют побайтовую обработку. При побайтовой обработке байты данных обрабатывают поочередно. Побайтовая обработка данных конфигурации может быть более эффективной, чем побитовая обработка данных конфигурации. Побитовая обработка может предусматривать отслеживание того, какой бит в заданном байте является следующим битом для чтения или записи. Когда группа битов, представляющая данный параметр, захватывает границу байта, может быть выполнена дополнительная обработка, чтобы осуществить считывание группы битов и получить данный параметр. Такая обработка может быть сокращена в случае, когда осуществляется побайтовая обработка. В некоторых примерах при побайтовой обработке данных количество циклов выполнения может быть уменьшено, если сравнивать с побитовой обработкой.In some examples, configuration message 500 performs byte-by-byte processing. In byte-byte processing, data bytes are processed one at a time. Byte-by-byte processing of configuration data can be more efficient than bit-by-bit processing of configuration data. Bit processing may involve keeping track of which bit in a given byte is the next bit to read or write. When a group of bits representing a given parameter spans a byte boundary, additional processing may be performed to read the group of bits and obtain the parameter. This processing can be reduced in the case where byte-by-byte processing is performed. In some examples, byte-by-byte processing can reduce the number of execution cycles compared to bit-by-bit processing.

В некоторых примерах данные конфигурации записывают в память. Если данные конфигурации обрабатываются побайтно, то при хранении данных конфигурации в памяти и/или при извлечении данных конфигурации из памяти может потребоваться меньший объем обработки по сравнению со случаем, когда данные конфигурации обрабатываются побитно. Наименьшая единица адресуемой памяти может содержать один байт. То есть информация может храниться в памяти побайтно. Соответственно, если данные конфигурации упакованы в последовательность байтов, для сохранения данных конфигурации в памяти и/или для извлечения данных конфигурации из памяти может потребоваться меньше этапов. Объем заполнения, применяемый для упаковки данных конфигурации в адресуемые блоки памяти, также может быть уменьшен путем внесения данных конфигурации в память в побайтовой форме.In some examples, configuration data is written to memory. If configuration data is processed on a byte-by-byte basis, less processing may be required when storing configuration data in memory and/or retrieving configuration data from memory compared to the case where configuration data is processed on a bit-by-bit basis. The smallest unit of addressable memory can contain one byte. That is, information can be stored in memory byte by byte. Accordingly, if configuration data is packaged in a sequence of bytes, fewer steps may be required to store configuration data in memory and/or retrieve configuration data from memory. The amount of padding used to pack configuration data into addressable memory blocks can also be reduced by storing the configuration data in memory in byte-by-byte form.

Кроме того, передача данных конфигурации через сеть, такую как Интернет, может быть выполнена более эффективно, если данные конфигурации скомпонованы в последовательность байтов. Данные можно передавать через Интернет посредством протокола управления передачей данных (TCP). TCP действует на транспортном уровне стека протокола. TCP получает данные из потока, упаковывает данные в сегменты TCP и применяет Интернет-модуль, например Интернет-протокол (IP), для передачи получателю каждого сегмента TCP через Интернет. Поток данных может быть получен из памяти. Сегмент TCP может содержать целое число байтов. То есть если TCP получает данные, которые должны быть упакованы в сегменты TCP, из побайтного потока, для этого может потребоваться меньший объем обработки по сравнению с побитовым потоком. Объем заполнения, применяемый для упаковки данных конфигурации в сегменты TCP, также может быть уменьшен путем внесения данных конфигурации в TCP в побайтовой форме.In addition, transmission of configuration data over a network such as the Internet can be performed more efficiently if the configuration data is arranged into a sequence of bytes. Data can be transmitted over the Internet using the Transmission Control Protocol (TCP). TCP operates at the transport layer of the protocol stack. TCP receives data from the stream, packages the data into TCP segments, and uses an Internet module such as Internet Protocol (IP) to send each TCP segment over the Internet to the recipient. The data stream can be retrieved from memory. A TCP segment can contain an integer number of bytes. That is, if TCP receives data that needs to be packed into TCP segments from a byte stream, it may require less processing compared to a bit stream. The amount of padding used to pack configuration data into TCP segments can also be reduced by packing the configuration data into TCP in byte-by-byte form.

На фиг. 7 показана блок-схема примера устройства 700.In fig. 7 shows a block diagram of an example device 700.

В примере устройство 700 содержит кодирующее устройство. В другом примере устройство 700 содержит декодер.In the example, device 700 includes an encoder. In another example, device 700 includes a decoder.

Примеры устройства 700 включают в себя, помимо прочего, мобильный компьютер, персональную компьютерную систему, беспроводное устройство, базовую станцию, телефонное устройство, настольный компьютер, переносной компьютер, ноутбук, нетбук, универсальную компьютерную систему, карманный компьютер, рабочую станцию, сетевой компьютер, сервер приложений, запоминающее устройство, бытовое электронное устройство, такое как фотокамера, видеокамера, мобильное устройство, игровая консоль, портативное игровое устройство, или вообще любой тип вычислительного или электронного устройства.Examples of device 700 include, but are not limited to, a mobile computer, a personal computer system, a wireless device, a base station, a telephone device, a desktop computer, a laptop computer, a notebook computer, a netbook, a mainframe computer system, a handheld computer, a workstation, a network computer, a server. applications, a storage device, a consumer electronic device such as a camera, video camera, mobile device, game console, handheld gaming device, or generally any type of computing or electronic device.

В данном примере устройство 700 содержит один или более процессоров 701, выполненных с возможностью обработки информации и/или команд. Один или более процессоров 701 могут содержать центральный процессор (ЦП). Один или более процессоров 701 сопряжены с шиной 702. Операции, выполняемые одним или более процессоров 701, могут быть осуществлены аппаратными средствами и/или программным обеспечением. Один или более процессоров 701 могут содержать несколько совместно расположенных процессоров или несколько отдельно расположенных процессоров.In this example, device 700 includes one or more processors 701 configured to process information and/or instructions. One or more processors 701 may include a central processing unit (CPU). One or more processors 701 are coupled to bus 702. Operations performed by one or more processors 701 may be implemented in hardware and/or software. One or more processors 701 may comprise multiple co-located processors or multiple separate processors.

В этом примере устройство 700 содержит пригодную для использования в компьютере энергозависимую память 703, выполненную с возможностью хранения информации и/или команд для одного или большего количества процессоров 701. Энергозависимая память 703, пригодная для использования в компьютере, сопряжена с шиной 702. Энергозависимая память 703, пригодная для использования в компьютере, может содержать оперативное запоминающее устройство (ОЗУ).In this example, device 700 includes computer-usable volatile memory 703 configured to store information and/or instructions for one or more processors 701. Computer-usable volatile memory 703 is interfaced to bus 702. Volatile memory 703 suitable for use in a computer may comprise a random access memory (RAM) device.

В этом примере устройство 700 содержит энергонезависимую память 704, пригодную для использования в компьютере, выполненную с возможностью хранения информации и/или команд для одного или большего количества процессоров 701. Энергонезависимая память 704, пригодная для использования в компьютере, сопряжена с шиной 702. Энергонезависимая память 704, пригодная для использования в компьютере, может содержать постоянное запоминающее устройство (ПЗУ).In this example, device 700 includes non-volatile computer-usable memory 704 configured to store information and/or instructions for one or more processors 701. Non-volatile computer-usable memory 704 is coupled to bus 702. Non-volatile memory 704 704, suitable for use in a computer, may include a read-only memory (ROM).

В данном примере устройство 700 содержит один или более устройств 705 для хранения данных,In this example, device 700 includes one or more data storage devices 705,

- 11 045133 выполненных с возможностью хранения информации и/или команд. Одно или более устройств 705 для хранения данных сопряжены с шиной 702. Одно или более устройств 705 для хранения данных могут, например, содержать магнитный или оптический диск и дисковод или твердотельный накопитель (SSD англ.: solid-state drive).- 11 045133 designed to store information and/or commands. One or more storage devices 705 are coupled to bus 702. One or more storage devices 705 may, for example, comprise a magnetic or optical disk and a disk drive or solid-state drive (SSD).

В этом примере устройство 700 содержит одно или более устройств 706 ввода/вывода (I/O), выполненных с возможностью передачи информации в один или более процессоров 701 и/или от них. Одно или более устройств 706 ввода/вывода (I/O) сопряжены с шиной 702. Одно или более устройств 706 ввода/вывода (I/O) содержат по меньшей мере один сетевой интерфейс. Такой по меньшей мере один сетевой интерфейс может позволять устройству 700 осуществлять связь через одну или более сетей передачи данных. Примеры сетей передачи данных включают в себя, помимо прочего, Интернет и локальную компьютерную сеть (LAN). Одно или более устройств 706 ввода-вывода могут позволить пользователю предоставлять входные данные в устройство 700 посредством одного или большего количества устройств ввода (не показаны). Одно или более устройств ввода могут включать в себя, например, пульт дистанционного управления, одну или более физических кнопок и т. д. Одно или более устройств 706 ввода/вывода могут обеспечивать возможность предоставления информации пользователю через одно или более устройств вывода (не показаны). Одно или более устройств вывода могут, например, включать в себя экран дисплея.In this example, device 700 includes one or more input/output (I/O) devices 706 configured to transmit information to and/or from one or more processors 701. One or more input/output (I/O) devices 706 are coupled to bus 702. One or more input/output (I/O) devices 706 include at least one network interface. Such at least one network interface may allow device 700 to communicate over one or more data networks. Examples of data networks include, but are not limited to, the Internet and a local area network (LAN). One or more input/output devices 706 may allow a user to provide input data to device 700 through one or more input devices (not shown). One or more input devices may include, for example, a remote control, one or more physical buttons, etc. One or more input/output devices 706 may be capable of providing information to a user through one or more output devices (not shown) . The one or more output devices may, for example, include a display screen.

Для устройства 700 изображены разнообразные другие модули. Примером могут служить, если присутствуют, операционная система 707, модуль 708 обработки сигналов данных, один или более дополнительных модулей 709 и данных 710, которые показаны как единый блок, или их объединение с энергозависимой памятью 703, пригодной для использования в компьютере, энергонезависимой памятью 704, пригодной для использования в компьютере, и с одним или более модулей 705 хранения данных. Модуль 708 обработки сигналов данных может быть реализован посредством компьютерного программного кода, который хранится в ячейках памяти в пределах используемой компьютером энергонезависимой памяти 704, машиночитаемых носителей данных в одном или более модулей 705 хранения данных и/или других материальных машиночитаемых носителей. Примеры материальных машиночитаемых носителей информации включают в себя, помимо прочего, оптический носитель (например, CD-ROM, DVD-ROM или Blu-ray), модуль флэш-памяти, дискету, жесткий диск или любой другой носитель, способный хранить машиночитаемые команды, такие как микропрограммное обеспечение или микрокод по меньшей мере в одной микросхеме ПЗУ, ОЗУ или программируемого ПЗУ (ППЗУ) или в специализированной интегральной схеме (ASIC).Various other modules are depicted for device 700. An example would be, if present, an operating system 707, a data signal processing module 708, one or more additional modules 709 and data 710, which are shown as a single unit, or combining them with a volatile memory 703 suitable for use in a computer, a non-volatile memory 704 suitable for use in a computer, and with one or more data storage modules 705. The data signal processing module 708 may be implemented by computer program code that is stored in memory cells within computer-usable nonvolatile memory 704, computer-readable storage media in one or more data storage modules 705, and/or other tangible computer-readable media. Examples of tangible computer-readable storage media include, but are not limited to, optical media (such as a CD-ROM, DVD-ROM, or Blu-ray), flash memory module, floppy disk, hard disk, or any other media capable of storing machine-readable instructions such as firmware or microcode in at least one ROM, RAM or programmable ROM (PROM) chip or application specific integrated circuit (ASIC).

Соответственно, устройство 700 может содержать модуль 708 обработки сигналов данных, который может выполняться одним или более процессоров 701. Модуль 708 обработки сигнала данных может быть выполнен с возможностью включения в себя команд для реализации по меньшей мере некоторых операций, описанных в настоящем документе. Во время работы один или более процессоров 701 запускают, осуществляют, исполняют, интерпретируют или иным образом выполняют команды в модуле 708 обработки сигналов.Accordingly, device 700 may include a data signal processing module 708, which may be executed by one or more processors 701. Data signal processing module 708 may be configured to include instructions for implementing at least some of the operations described herein. During operation, one or more processors 701 trigger, implement, execute, interpret, or otherwise execute instructions in the signal processing module 708.

Хотя по меньшей мере некоторые аспекты примеров, описанных в настоящем документе со ссылкой на чертежи, содержат компьютерные процессы, выполняемые в системах обработки или процессорах, примеры, описанные в настоящем документе, также распространяются на компьютерные программы, например компьютерные программы на или в носителе, выполненном с возможностью практической реализации таких примеров. Носителем может быть любой объект или устройство, способное переносить программу.Although at least some aspects of the examples described herein with reference to the drawings involve computer processes running on processing systems or processors, the examples described herein also extend to computer programs, such as computer programs on or in a medium made with the possibility of practical implementation of such examples. A medium can be any object or device capable of carrying a program.

Следует понимать, что устройство 700 может содержать больше или меньше компонентов и/или компоненты, отличающиеся от тех, что изображены на фиг. 7.It should be understood that device 700 may contain more or fewer components and/or components different from those depicted in FIG. 7.

Устройство 700 может быть расположено в одном месте или может быть распределено в нескольких местоположениях. Такие местоположения могут быть локальными или удаленными.The device 700 may be located in one location or may be distributed over multiple locations. Such locations may be local or remote.

Описанные в настоящем документе технологии могут быть реализованы в виде программного или аппаратного обеспечения или могут быть реализованы с помощью комбинации программных и аппаратных компонентов. Они могут включать в себя настройку устройства для осуществления и/или поддержки любой технологии или всех технологий, описанных в настоящем документе.The technologies described herein may be implemented in software or hardware, or may be implemented using a combination of software and hardware components. These may include configuring the device to implement and/or support any or all of the technologies described in this document.

Следует понимать, что любой признак, описанный в отношении любого варианта осуществления, может применяться отдельно или в комбинации с другими описанными признаками, а также может применяться в сочетании с одним или несколькими признаками любого другого варианта осуществления или любой комбинацией любых других вариантов осуществления. Кроме того, без отклонения от объема изобретения, который ограничен прилагаемой формулой изобретения, также могут быть применены не описанные выше эквиваленты и модификации.It should be understood that any feature described with respect to any embodiment may be used alone or in combination with other features described, and may also be used in combination with one or more features of any other embodiment or any combination of any other embodiments. Moreover, without departing from the scope of the invention, which is limited by the appended claims, equivalents and modifications not described above may also be used.

--

Claims (15)

ФОРМУЛА ИЗОБРЕТЕНИЯCLAIM 1. Способ формирования конфигурационного сообщения для обеспечения возможности декодеру восстанавливать первое представление изображения с первым уровнем качества с помощью данных конфигурации, остаточных данных и второго представления изображения с первым уровнем качества, выполняемый устройством, содержащим кодер, причем способ включает в себя:1. A method for generating a configuration message to enable a decoder to reconstruct a first image representation at a first quality level using configuration data, residual data and a second image representation at a first quality level, performed by a device including an encoder, the method including: получение остаточных данных, основанных на первом представлении изображения с первым уровнем качества и втором представлении изображения с первым уровнем качества, при этом первое представление и второе представление находятся в многоуровневой иерархии, имеющей несколько уровней качества, причем второе представление основано на представлении изображения со вторым, более низким уровнем качества в многоуровневой иерархии, причем второе представление получают путем повышающей дискретизации представления изображения со вторым, более низким, уровнем качества, при этом остаточные данные получают путем вычитания элемента изображения во втором представлении изображения из соответствующего элемента изображения в первом представлении изображения, и остаточные данные подходят для применения декодером для восстановления первого представления с помощью второго представления;obtaining residual data based on a first representation of an image at a first quality level and a second representation of an image at a first quality level, wherein the first representation and the second representation are in a multi-level hierarchy having multiple levels of quality, wherein the second representation is based on a representation of an image at a second higher quality level. low quality level in a multi-level hierarchy, wherein a second representation is obtained by upsampling an image representation with a second lower quality level, wherein the residual data is obtained by subtracting an image element in the second image representation from a corresponding image element in the first image representation, and the residual data suitable for use by a decoder to reconstruct a first representation using a second representation; получение данных конфигурации, относящихся к обработке остаточных данных, причем данные конфигурации подходят для применения декодером для восстановления первого представления изображения;obtaining configuration data related to processing of the residual data, the configuration data being suitable for use by the decoder to restore the first image representation; формирование конфигурационного сообщения, содержащего заголовок и полезные данные, причем полезные данные конфигурационного сообщения содержат данные конфигурации, а заголовок конфигурационного сообщения содержит:generating a configuration message containing a header and payload, wherein the configuration message payload contains configuration data, and the configuration message header contains: параметр типа сообщения, который задает тип сообщения конфигурационного сообщения и указывает на то, что полезные данные имеют заданный формат полезных данных, в котором полезные данные, имеющие указанный формат полезных данных, имеют форматный размер; и параметр размера полезных данных, который задает фактический размер полезных данных; и вывод конфигурационного сообщения для обработки декодером, чтобы обеспечить декодеру возможность восстановления первого представления с помощью данных конфигурации, остаточных данных и второго представления.a message type parameter that specifies the message type of the configuration message and indicates that the payload has a specified payload format, in which the payload having the specified payload format has a format size; and a payload size parameter that specifies the actual size of the payload; and outputting a configuration message for processing by the decoder to enable the decoder to reconstruct the first representation using the configuration data, the residual data, and the second representation. 2. Способ по п.1, в котором форматный размер и фактический размер являются одинаковыми.2. The method according to claim 1, wherein the format size and the actual size are the same. 3. Способ по п.1, в котором форматный размер и фактический размер являются отличающимися.3. The method according to claim 1, wherein the format size and the actual size are different. 4. Способ по любому из пп.1-3, в котором тип сообщения, заданный параметром типа сообщения, указывает, как должно быть обработано конфигурационное сообщение.4. The method according to any one of claims 1 to 3, wherein the message type specified by the message type parameter indicates how the configuration message is to be processed. 5. Способ по любому из пп.1-4, в котором длина конфигурационного сообщения представляет собой целое число байтов.5. The method according to any one of claims 1 to 4, wherein the length of the configuration message is an integer number of bytes. 6. Способ по любому из пп.1-5, в котором фактический размер полезных данных представляет собой целое число байтов.6. The method according to any one of claims 1 to 5, wherein the actual size of the payload data is an integer number of bytes. 7. Способ по любому из пп.1-6, в котором значение параметра размера полезных данных хранится в элементе фиксированной длины.7. The method according to any one of claims 1 to 6, wherein the value of the payload size parameter is stored in a fixed-length element. 8. Способ по п.7, в котором значение параметра размера полезных данных хранится в элементе фиксированной длины, который содержит три бита в однобайтовой части заголовка.8. The method of claim 7, wherein the value of the payload size parameter is stored in a fixed-length element that contains three bits in a one-byte header portion. 9. Способ по п.7 или 8, в котором параметр размера полезных данных содержит ссылку на таблицу соответствия размера полезных данных, в которой хранятся возможные значения фактического размера полезных данных.9. The method of claim 7 or 8, wherein the payload size parameter contains a reference to a payload size lookup table that stores possible values for the actual payload size. 10. Способ по п.9, в котором для получения фактического размера полезных данных из таблицы соответствия размера полезных данных применяется указанное значение.10. The method of claim 9, wherein the specified value is applied to obtain the actual payload size from the payload size lookup table. 11. Способ по любому из пп.1-6, в котором значение параметра размера полезных данных имеет переменную длину в битах, и причем значение параметра размера полезных данных хранится в элементе переменной длины, содержащем целое число байтов.11. The method according to any one of claims 1 to 6, wherein the value of the payload size parameter has a variable length in bits, and wherein the value of the payload size parameter is stored in a variable length element containing an integer number of bytes. 12. Способ по п.11, в котором элемент переменной длины содержит по меньшей мере один заданный байт, имеющий один или более заранее определенных битов, выполненных с возможностью указания того, содержит ли элемент переменной длины один или более дополнительных байтов для по меньшей мере одного заданного байта.12. The method of claim 11, wherein the variable length element contains at least one specified byte having one or more predetermined bits configured to indicate whether the variable length element contains one or more additional bytes for the at least one specified byte. 13. Способ по п.11 или 12, в котором значение не является одним из множества значений, заданных в таблице соответствия размера полезных данных.13. The method of claim 11 or 12, wherein the value is not one of a plurality of values specified in the payload size mapping table. 14. Способ по любому из пп.1-13, в котором заголовок содержит только параметр типа сообщения и параметр размера полезных данных.14. The method according to any one of claims 1 to 13, wherein the header contains only a message type parameter and a payload size parameter. 15. Способ восстановления первого представления изображения с первым уровнем качества с помощью конфигурационного сообщения, остаточных данных и второго представления изображения с первым уровнем качества, выполняемый устройством, содержащим декодер, причем способ включает в 15. A method for restoring a first image representation at a first quality level using a configuration message, residual data, and a second image representation at a first quality level, performed by a device comprising a decoder, the method comprising: --
EA202191197 2018-10-31 2019-10-30 METHOD, DEVICE AND MACHINE READABLE MEDIA CONTAINING A COMPUTER PROGRAM FOR FORMING A CONFIGURATION MESSAGE TO ENABLE THE DECODER TO RESTORE THE FIRST IMAGE REPRESENTATION WITH THE FIRST LEVEL OF QUALITY USING U CONFIGURATION DATA EA045133B1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB1817781.6 2018-10-31

Publications (1)

Publication Number Publication Date
EA045133B1 true EA045133B1 (en) 2023-10-30

Family

ID=

Similar Documents

Publication Publication Date Title
CN112019857A (en) Method and apparatus for storage and signaling of compressed point clouds
US20230370623A1 (en) Integrating a decoder for i-iieraci-iical video coding
CN114747219A (en) Method and apparatus for storing and signaling sub-sample entry descriptions
US12003742B2 (en) Methods, apparatuses, computer programs and computer-readable media for scalable image coding
JP2009506456A (en) Remote protocol support for large object communication in any format
WO2021204827A1 (en) Method, device, and computer program for improving random picture access in video streaming
US11889093B2 (en) Methods, apparatuses, computer programs and computer-readable media for scalable video coding and transmission
US11831886B2 (en) Methods, apparatuses, computer programs and computer-readable media for processing configuration data
US11750825B2 (en) Methods, apparatuses, computer programs and computer-readable media for processing configuration data
EA045133B1 (en) METHOD, DEVICE AND MACHINE READABLE MEDIA CONTAINING A COMPUTER PROGRAM FOR FORMING A CONFIGURATION MESSAGE TO ENABLE THE DECODER TO RESTORE THE FIRST IMAGE REPRESENTATION WITH THE FIRST LEVEL OF QUALITY USING U CONFIGURATION DATA
WO2023203353A1 (en) Methods, bitstreams, apparatuses, computer programs and computer-readable media
JP2023550940A (en) Decoding the video stream on the client device