RU2796934C2 - Measurements of spatial actions of images based on blocks - Google Patents

Measurements of spatial actions of images based on blocks Download PDF

Info

Publication number
RU2796934C2
RU2796934C2 RU2021118369A RU2021118369A RU2796934C2 RU 2796934 C2 RU2796934 C2 RU 2796934C2 RU 2021118369 A RU2021118369 A RU 2021118369A RU 2021118369 A RU2021118369 A RU 2021118369A RU 2796934 C2 RU2796934 C2 RU 2796934C2
Authority
RU
Russia
Prior art keywords
blocks
block
region
spatial
transform
Prior art date
Application number
RU2021118369A
Other languages
Russian (ru)
Other versions
RU2021118369A (en
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 RU2021118369A publication Critical patent/RU2021118369A/en
Application granted granted Critical
Publication of RU2796934C2 publication Critical patent/RU2796934C2/en

Links

Images

Abstract

FIELD: video coding; compression.
SUBSTANCE: invention relates to measurements of spatial actions for block-based images. A coding device is proposed, containing a scheme for receiving a video frame, splitting a video frame into a plurality of blocks, determining the appropriate measurement of spatial activity for each block from this set of several blocks and encoding, using a transformation matrix, a video frame in accordance with a “measure of spatial activity/actions”, which denotes a value indicating how often and with what amplitude the texture changes within the corresponding block. Thus “flat”, “smooth” areas such as the sky will have a small measure of spatial action, whereas complex areas such as grass should receive a large measure of spatial action. The procedure for determining the appropriate measurement of spatial actions may be a determination using a transformation matrix, such as a discrete cosine transformation matrix.
EFFECT: increase of efficiency of video coding.
10 cl, 4 dwg

Description

Область техники, к которой относится изобретениеThe field of technology to which the invention belongs

Настоящее изобретение относится, в общем, к области сжатия видео. В частности, настоящее изобретение относится к измерениям пространственных действий для изображений на основе блоков.The present invention relates generally to the field of video compression. In particular, the present invention relates to spatial action measurements for block-based images.

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

Видео кодек может содержать электронную схему или программное обеспечение, сжимающее или распаковывающее цифровое видео. Это может преобразовывать несжатое видео в сжатый формат или наоборот. В контексте сжатия видео устройство, которое сжимает видео, (и/или осуществляет некоторые функции в ходе сжатия) может обычно называться кодирующим устройством, а устройство, которое распаковывает видео, (и/или осуществляет некоторые функции в ходе распаковки) может называться декодирующим устройством. A video codec may contain electronic circuitry or software that compresses or decompresses digital video. It can convert uncompressed video to compressed format or vice versa. In the context of video compression, a device that compresses the video (and/or performs some functions during compression) may typically be referred to as an encoder, and a device that decompresses the video (and/or performs some functions during decompression) may be referred to as a decoder.

Формат сжатых данных может соответствовать стандартным спецификациям сжатия видео. Это сжатие может представлять собой сжатие с потерями в том смысле, что в сжатом видео отсутствует некоторая информация, присутствующая в оригинальном видео. Вследствие этого распакованное видео может иметь более низкое качество по сравнению с оригинальным несжатым видео, поскольку в распакованном видео будет недостаточно информации для точной реконструкции оригинального видео. The compressed data format may follow standard video compression specifications. This compression may be lossy in the sense that some of the information present in the original video is missing from the compressed video. As a result, the decompressed video may be of lower quality than the original uncompressed video because the decompressed video will not contain enough information to accurately reconstruct the original video.

Могут иметь место сложные соотношения между качеством видео, объемом данных, используемых для представления видео (например, определяется скоростью передачи битов данных), сложностью алгоритмов кодирования и декодирования, чувствительностью к потере данных и ошибкам, легкостью редактирования, произвольным доступом, задержкой прохождения сигнала от одного конца линии от другого и другими подобными характеристиками.There can be complex relationships between video quality, amount of data used to represent the video (e.g. determined by bit rate), complexity of encoding and decoding algorithms, sensitivity to data loss and errors, ease of editing, random access, delay from one signal to another. end of the line from the other and other similar characteristics.

В процессе кодирования изображение (например, кадр видео) сегментируют (например, разбивают на части) для разделения на относительно большие блоки, такие как 128x128, и фиксируют такую структуру. Однако если сегментировать изображение на большие блоки для сжатия и при этом не учитывать соответствующую видеоинформацию (например, контент видео), большие блоки не могут, в каких-то случаях, разбивать изображение таким способом, чтобы позволить осуществлять эффективное кодирование, так что в этих случаях будет получена плохая скорость передачи битов данных.During the encoding process, an image (eg, a video frame) is segmented (eg, split into parts) to be divided into relatively large blocks, such as 128x128, and such a structure is fixed. However, if you segment an image into large chunks for compression and do not take into account the associated video information (e.g., video content), the large chunks cannot, in some cases, partition the image in such a way as to allow efficient encoding, so in those cases a bad bit rate will be received.

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

В одном из аспектов, устройство кодирования содержит схему, конфигурированную для приема кадра видео, разбиения этого кадра видео на множество блоков, определения соответствующих измерений пространственных действий для каждого блока из указанной совокупности множества блоков и, с применением матрицы преобразования, кодирования видео кадра с использованием измерений пространственных действий. In one aspect, the encoding device comprises circuitry configured to receive a video frame, split that video frame into a plurality of blocks, determine appropriate spatial action measurements for each block from said plurality of blocks, and, using a transform matrix, encode the video frame using the measurements. spatial actions.

Согласно другому аспекту, способ содержит прием, кодирующим устройством, кадра видео, разбиение этого кадра видео на множество блоков, определение соответствующей измерения пространственных действий для каждого из совокупности множества блоков и, с применением матрицы преобразования, кодирование кадра видео с использованием измерений пространственных действий.According to another aspect, the method comprises receiving, by an encoder, a video frame, splitting the video frame into a plurality of blocks, determining an appropriate spatial action dimension for each of the plurality of blocks, and, using a transform matrix, encoding the video frame using the spatial action measurements.

Подробности одного или более вариантов предмета настоящего изобретения, описываемого здесь, представлены на прилагаемых чертежах и в следующем ниже описании. Другие признаки и преимущества предмета, описываемого здесь, станут понятны из описания и чертежей, а также из Формулы изобретения.Details of one or more embodiments of the subject matter of the present invention described herein are presented in the accompanying drawings and in the following description. Other features and advantages of the subject matter described here will become apparent from the description and drawings, as well as from the claims.

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

В целях иллюстрирования настоящего изобретения указанные чертежи показывают аспекты одного или более вариантов настоящего изобретения. Однако следует понимать, что настоящее изобретение не исчерпывается точно теми конфигурациями и инструментальными средствами, какие показаны на чертежах, на которых:For purposes of illustrating the present invention, these drawings show aspects of one or more embodiments of the present invention. However, it should be understood that the present invention is not limited to exactly the configurations and tools shown in the drawings, in which:

фиг. 1 представляет логическую схему, иллюстрирующую пример процедуры кодирования видео, которая может использовать матрицы преобразования при определении измерения пространственных действий, что может позволить усовершенствовать работу кодирующего устройства;fig. 1 is a flowchart illustrating an example of a video encoding procedure that can use transformation matrices in determining the measurement of spatial actions, which can improve the performance of the encoder;

фиг. 2 представляет логическую схему, иллюстрирующую пример процедуры слияния блоков на частотной основе;fig. 2 is a flow diagram illustrating an example of a frequency-based block merging procedure;

фиг. 3 представляет системную блок-схему, иллюстрирующую пример кодирующего устройства для видео, способного осуществлять кодирование с использованием измерения пространственных действий, что может содержать вычисление частотных составляющих с применением матриц преобразования; иfig. 3 is a system block diagram illustrating an example of a video encoder capable of encoding using spatial action measurement, which may include calculating frequency components using transform matrices; And

фиг. 4 представляет блок-схему компьютерной системы, которая может быть использована для реализации любых из одного или более способов, описываемых здесь, и реализации любых из одной или более частей этих способов.fig. 4 is a block diagram of a computer system that may be used to implement any of one or more of the methods described herein and to implement any of one or more parts of those methods.

Чертежи не обязательно выполнены в масштабе и могут быть иллюстрированы воображаемыми линиями, схематичными представлениями и частичными видами. В некоторых случаях, подробности, не являющиеся необходимыми для понимания вариантов изобретения или отображающие другие детали, которые трудны для восприятия, могут быть опущены. Подобные позиционные обозначения на различных чертежах присвоены подобным элементам.The drawings are not necessarily drawn to scale and may be illustrated with imaginary lines, schematic representations and partial views. In some cases, details that are not necessary to understand embodiments of the invention or display other details that are difficult to understand may be omitted. Like reference designations in the various drawings are assigned to like elements.

Осуществление изобретения Implementation of the invention

Некоторые варианты реализации предмета настоящего изобретения направлены на создания способа кодирования видео, использующего измерения пространственных действий, что может содержать вычисление частотных составляющих с применением матриц преобразования. Использование матриц преобразования генерирует результаты измерений уровней частотных составляющих для большего числа частот по сравнению с кодирующим устройством, использующим фильтр верхних частот, а полученная дополнительная информация может улучшить кодирование. Например, в результате определения частотных составляющих с использованием матриц преобразования можно получить более точную информацию относительно частотных составляющих кадра видео. Благодаря использованию более точной информации относительно частотных составляющих можно усовершенствовать слияние блоков, что, в свою очередь, может усовершенствовать прогнозирование, уменьшая тем самым остаток и результирующую скорость передачи битов в потоке битов данных.Some embodiments of the subject matter of the present invention are directed to a video coding method using spatial action measurements, which may include calculating frequency components using transformation matrices. The use of transformation matrices generates frequency level measurements for more frequencies than an encoder using a high pass filter, and the additional information obtained can improve the encoding. For example, as a result of determining the frequency components using the transformation matrices, more accurate information about the frequency components of the video frame can be obtained. By using more accurate information about the frequency components, block merging can be improved, which in turn can improve prediction, thereby reducing the residual and resulting bit rate in the data bit stream.

В некоторых вариантах реализации сегментация изображения осуществляется с использованием блоков выборки в качестве базовой единицы. Блоки выборки могут иметь одинаковый размер, который может быть длиной боковой стороны, выраженной в пикселях для квадрата из пикселей; например и без ограничений, описываемые здесь варианты могут использовать блоки выборки размером 4 x 4 в качестве базовой единицы и меру пространственных действий, для определения которой вычисляют частотные составляющие для блоки выборки размером 4 x 4. Благодаря использованию блоков размером 4 x 4 в качестве базового размера сегментации, некоторые варианты реализации предмета настоящего изобретения могут позволить кодирующему устройству реализовать более мелкую зернистость, причем такой размер соответствует установленным размерам блоков преобразования, что дает возможность использовать стандартные и определяемые преобразовательные матрицы, что может повысить эффективность кодирования. Далее, такой подход может контрастировать с некоторыми существующими способами кодирования, использующими фиксированную структуру блоков относительно большого размера. Специалисты в рассматриваемой области после изучения настоящего изобретения в полном объеме должны понимать, что хотя для краткости во многих последующих примерах используются блоки выборки одного и того же размера 4 x 4, в общем случае, для разбиения и/или сегментации изображения могут быть использованы блоки любого размера или формы в соответствии с каким-либо способом измерений. In some embodiments, image segmentation is performed using sample blocks as the base unit. The sample blocks may have the same size, which may be the length of the side, expressed in pixels for a square of pixels; for example, and without limitation, the embodiments described herein may use 4 x 4 sample blocks as the base unit, and a spatial action measure that calculates the frequency components for the 4 x 4 sample blocks. By using 4 x 4 blocks as the base size segmentation, some embodiments of the subject matter of the present invention may allow the encoder to implement a finer granularity, such a size corresponding to the specified transform block sizes, which allows the use of standard and definable transform matrices, which can improve coding efficiency. Further, this approach may contrast with some existing coding methods using a fixed block structure of relatively large size. Those skilled in the art, after studying the present invention in its entirety, should understand that although, for brevity, many of the following examples use sample blocks of the same size 4 x 4, in general, blocks of any size can be used to partition and/or segment an image. size or shape in accordance with any method of measurement.

На фиг. 1 представлена логическая схема, иллюстрирующая пример процедуры 100 кодирования видео, которая может использовать матрицы преобразования при определении измерения пространственных действий, что может позволить усовершенствовать работу кодирующего устройства. На этапе 105, устройство кодирования принимает кадр видео. Это может быть осуществлено каким-либо способом, подходящим для приема видео в форме потока и/или в форме файла от какого-либо устройства и/или от входного порта. Процедура приема кадра видео может содержать извлечение его из запоминающего устройства, входящего в устройство кодирования и/или в компьютерное устройство, которое осуществляет связь с кодирующим устройством, содержит устройство кодирования или входит в это устройство кодирования. Процедура приема может содержать прием от удаленного устройства по сети связи. Процедура приема видео может содержать прием нескольких кадров видео, которые комбинируются для образования одного или более видео.In FIG. 1 is a flowchart illustrating an example of a video encoding procedure 100 that can use transformation matrices in determining the measurement of spatial actions, which can allow for improved performance of the encoder. At step 105, the encoder receives a video frame. This may be done in any manner suitable for receiving video in stream form and/or file form from some device and/or input port. The procedure for receiving a video frame may include retrieving it from a storage device included in the encoding device and/or in a computer device that communicates with the encoding device, contains the encoding device, or is included in this encoding device. The receiving procedure may comprise receiving from a remote device over a communications network. The video reception procedure may comprise receiving multiple video frames that are combined to form one or more video.

На этапе 110, и продолжая обращаться к фиг. 1, устройство кодирования может сегментировать и/или разбивать кадр видео на блоки. Эти блоки могут иметь какую-либо подходящую форму и размер, как описано выше, включая размер 4 пикселя на 4 пикселя (4 x 4). Размер 4 x 4 может быть совместим с несколькими стандартными разрешениями видео, которое может быть разделено на целое число блоков размером 4 x 4. At step 110, and continuing with reference to FIG. 1, an encoder may segment and/or block a video frame into blocks. These blocks may be of any suitable shape and size as described above, including a size of 4 pixels by 4 pixels (4 x 4). The 4 x 4 size can be compatible with several standard video resolutions that can be divided into an integer number of 4 x 4 blocks.

На этапе 115, и продолжая обращаться к фиг. 1, устройство кодирования может определить соответствующую меру пространственных действий для каждого блока из совокупности нескольких блоков, на которые разбито изображение. Как используется в настоящем изобретении, термин «мера пространственных действий» обозначает величину, указывающую, как часто и с какой амплитудой изменяется текстура в пределах соответствующего блока. Другими словами, «плоские», «гладкие» области, такие как небо, будут иметь небольшую меру пространственных действий, тогда как сложные области, такие как трава, должны получить большую меру пространственных действий. Процедура определения соответствующей измерения пространственных действий может представлять собой определение с использованием матрицы преобразования, такой как, без ограничений, матрица дискретного косинусного преобразования. Процедура определения соответствующей измерения пространственных действий для каждого блока может представлять собой определение с использованием обобщенной матрицы дискретного косинусного преобразования. Например, когда блоки, как описано выше, представляют собой блоки пикселей размером 4 x 4, матрица обобщенного дискретного косинусного преобразования может представлять собой матрицу обобщенного дискретного косинусного преобразования II, принимающую форму:At step 115, and continuing with reference to FIG. 1, the encoder may determine an appropriate measure of spatial actions for each block of the plurality of blocks into which the image is divided. As used in the present invention, the term "measure of spatial actions" means a value indicating how often and with what amplitude the texture changes within the corresponding block. In other words, "flat", "smooth" areas like the sky will have a small measure of spatial action, whereas complex areas like grass should receive a large measure of spatial action. The procedure for determining the appropriate measurement of spatial actions may be a determination using a transformation matrix, such as, without limitation, a discrete cosine transformation matrix. The procedure for determining the appropriate measure of spatial actions for each block may be a determination using a generalized discrete cosine transform matrix. For example, when the blocks as described above are 4 x 4 pixel blocks, the generalized discrete cosine transform matrix may be a generalized discrete cosine transform II matrix taking the form:

Figure 00000001
Figure 00000001

где a равно ½, b равно

Figure 00000002
, и c равно
Figure 00000003
.where a is ½, b is
Figure 00000002
, and c is equal to
Figure 00000003
.

В некоторых вариантах реализации, может быть использована целочисленная аппроксимация матрицы преобразования, которая может быть применена для эффективной реализации аппаратуры и программного обеспечения. Например, когда блоки, как описано выше, представляют собой блоки пикселей размером 4 x 4, матрица обобщенного дискретного косинусного преобразования может представлять собой матрицу обобщенного дискретного косинусного преобразования II, принимающую форму:In some implementations, an integer approximation of the transformation matrix can be used, which can be used to efficiently implement hardware and software. For example, when the blocks as described above are 4 x 4 pixel blocks, the generalized discrete cosine transform matrix may be a generalized discrete cosine transform II matrix taking the form:

Figure 00000004
.
Figure 00000004
.

Для каждого блока Bi, частотное содержание этого блока может быть вычислено с использованием: For each block B i , the frequency content of that block can be calculated using:

FBi = T x Bi x T’,F Bi = T x B i x T',

где T’ представляет собой транспонированную матрицу T косинусного преобразования, Bi обозначает блок, представленный в виде матрицы численных величин, соответствующих пикселям в блоке, такой как матрица 4 x 4, представляющая блок 4 x 4, как описано выше, и оператор x обозначает умножение матриц. where T' is the transposed cosine transform matrix T, B i denotes a block represented as a matrix of numerical values corresponding to pixels in the block, such as a 4 x 4 matrix representing a 4 x 4 block as described above, and operator x denotes multiplication matrices.

В некоторых вариантах реализации слияние блоков может осуществляться с использованием мер пространственных действий. При слиянии блоков, каждый блок может быть назначен некоторой области. Например, в пределах кадра видео может быть определена первая область, содержащая первую группировку из подмножества блоков. Эта первая группировка может быть основана на соответствующей мере пространственных действий. Блоки могут быть сгруппированы в области с подобным частотным содержанием, тем самым представляя области с подобной пространственной активностью.In some implementations, block merging may be performed using spatial action measures. When merging blocks, each block can be assigned to some area. For example, within a video frame, a first region containing a first grouping from a subset of blocks may be defined. This first grouping can be based on an appropriate measure of spatial action. Blocks can be grouped into areas with similar frequency content, thereby representing areas with similar spatial activity.

Например, процедура определения первой области может представлять собой итеративный процесс, просматривающий каждый из совокупности нескольких блоков, и, для каждого текущего блока, сравнивающий меру пространственных действий для текущего блока с мерой пространственных действий для предыдущего блока, определяющий, является ли разница ниже заданной порогoвой величины, и назначающий текущий блок первой области. Текущий блок может быть назначен второй области в ответ на или на основе определения, что указанная разница оказалась выше заданной пороговой величины. Специалисты в рассматриваемой области, после просмотре полного текста настоящего описания, будут осведомлены о различных способах, какими можно осуществлять сравнение с пороговой величиной, включая то, что назначение первой группе может быть в качестве альтернативы или в дополнение к этому произведено путем определения, что степень подобия превышает некую пороговую величину, и/или назначение другой группе может быть произведено путем определения, что степень различия превышает некую пороговую величину. Пороговая величина может быть сохранена в запоминающем устройстве и/или сформирована с использованием ранее или одновременно принятых и/или вычисленных величин, что может представлять собой какие-либо числовые величины и/или результаты измерений, рассматриваемые в описании настоящего изобретения. For example, the procedure for determining the first area may be an iterative process looking at each of a plurality of blocks and, for each current block, comparing the spatial action measure for the current block with the spatial action measure for the previous block, determining if the difference is below a predetermined threshold. , and assigning the current block to the first region. The current block may be assigned to the second region in response to or based on a determination that said difference is above a predetermined threshold. Those skilled in the art, upon reviewing the full text of this disclosure, will be aware of the various ways in which a threshold comparison can be made, including that the assignment to the first group may alternatively or in addition be made by determining that the degree of similarity exceeds a certain threshold value, and/or the assignment to another group can be made by determining that the degree of difference exceeds a certain threshold value. The threshold value may be stored in a memory device and/or generated using previously or simultaneously received and/or calculated values, which may be any of the numerical values and/or measurements discussed in the description of the present invention.

На фиг. 2 представлена логическая схема, иллюстрирующая пример процедуры 200 для осуществления слияния блоков на частотной основе. На этапе 205 осуществляется итерация каждого блока Bi (например, на этапе 205 индекс i может увеличиваться на 1). На этапе 205 может быть вычислено частотное содержание этого блока FBi. На этапе 215, может быть определено, что разница между мерой пространственных действий текущего блока FBi и мерой пространственных действий предыдущего блока FBi-1 ниже заданной пороговой величины TF. Если это так, на этапе 220, текущий блок Bi добавляют к текущей области. Если нет, тогда на этапе 225 текущий блок Bi добавляют к новой или к другой области.In FIG. 2 is a flow diagram illustrating an example procedure 200 for performing block merging on a frequency basis. In step 205, each block B i is iterated (for example, in step 205 index i may be incremented by 1). At step 205, the frequency content of this block F Bi can be calculated. At step 215, it may be determined that the difference between the measure of spatial actions of the current block F Bi and the measure of spatial actions of the previous block F Bi-1 is below a predetermined threshold value T F . If so, at step 220, the current block B i is added to the current area. If not, then at step 225 the current block B i is added to the new or to another area.

В некоторых вариантах реализации, усредненная мера информации может быть использована для слияния блоков и может быть определена, в качестве неисчерпывающего примера, в соответствии с суммой мер информации для индивидуальных блоков в пределах первой области, которая (мера информации) может быть взвешена и/или умножена на коэффициент значимости, например, как показано в следующей сумме: In some implementations, an average measure of information can be used to merge blocks and can be defined, as a non-exhaustive example, according to the sum of the information measures for individual blocks within the first region, which (measure of information) can be weighted and/or multiplied by a significance factor, for example, as shown in the following summation:

Figure 00000005
Figure 00000005

где N обозначает последовательный номер первой области, SN обозначает коэффициент значимости, k обозначает индекс, соответствующий одному из совокупности нескольких блоков, составляющих первую область, n обозначает число блоков, составляющих первую область, Bk обозначает меру информации одного блока из совокупности блоков и AN обозначает первую усредненную меру информации. Параметр Bk может представлять собой, например, меру пространственных действий, вычисленную с использованием дискретного косинусного преобразования соответствующего блока. where N denotes the sequential number of the first region, S N denotes a significance factor, k denotes an index corresponding to one of the plurality of blocks constituting the first region, n denotes the number of blocks constituting the first region, B k denotes the information measure of one block of the plurality of blocks, and A N denotes the first average measure of information. The parameter B k may be, for example, a measure of spatial actions calculated using the discrete cosine transform of the corresponding block.

Коэффициент SN значимости может быть получен от внешнего эксперта и/или вычислен на основе характеристик первой области (например, объединенных путем слияния блоков). «Характеристика» области, как это используется здесь, представляет собой измеримый атрибут области, определяемый на основе ее содержания; характеристика может быть представлена в числовой форме с использованием результатов одного или более вычислений, выполняемых относительно первой области. Совокупность этих одного или более вычислений может содержать какой-либо анализ какого-либо сигнала, представленного первой областью. Один из неисчерпывающих примеров может содержать назначение более высокого коэффициента SN для области с гладким фоном и меньшего коэффициента SN для области с менее гладким фоном в приложениях с моделированием качества; в качестве неисчерпывающего примера, гладкость может быть определена с использованием способа Кэнни (Canny) обнаружения края, где меньшее число обозначает более высокую степень гладкости. Другой пример с автоматическим определением гладкости может содержать использование быстрого преобразования Фурье (БПФ (fast Fourier transforms (FFT))) для сигнала в пространственных переменных для области, где сигнал можно анализировать в какой-либо двумерной системе координат, и по каналам, представляющим величины красной-зеленой-синей составляющей или другие подобные величины; большее относительное преобладание в частотной области, как это вычислено с использованием преобразования БПФ (FFT), составляющих с более низкими частотами может указывать на более высокую степень гладкости, тогда как большее относительное преобладание составляющих с более высокими частотами может обозначать более частые и быстрые переходы цветовых и/или теневых величин в области фона, результатом чего может быть более низкий показатель гладкости; семантически важные объекты могут быть идентифицированы посредством введенных пользователем данных. Семантическая важность может быть в качестве альтернативы или в дополнение определена в соответствии с конфигурацией края и/или рисунком текстуры. Фон может быть идентифицирован, без ограничений, путем приема и/или обнаружения части области, которая представляет значимый объект или объект «переднего плана», такой как лицо или другой объект, включая, без ограничений, семантически важный объект. Другой пример может содержать назначение более высокого коэффициента SN для областей, содержащих семантически важные объекты, такие как человеческое лицо; важные объекты могут быть идентифицированы вводом от пользователя.The significance factor S N can be obtained from an external expert and/or calculated based on the characteristics of the first region (eg, combined by block merging). A "characteristic" of an area, as used herein, is a measurable attribute of an area determined based on its content; the characteristic may be represented in numerical form using the results of one or more calculations performed on the first region. The combination of these one or more calculations may comprise any analysis of any signal represented by the first region. One non-exhaustive example may include assigning a higher S N factor to an area with a smooth background and a smaller S N factor to an area with a less smooth background in quality modeling applications; as a non-exhaustive example, smoothness can be determined using the Canny edge detection method, where a lower number indicates a higher degree of smoothness. Another example with automatic determination of smoothness may involve the use of a fast Fourier transform (FFT) on a signal in spatial variables for a region where the signal can be analyzed in some two-dimensional coordinate system, and over channels representing the magnitudes of the red -green-blue component or other similar quantities; greater relative dominance in the frequency domain, as calculated using the FFT transform (FFT), of lower frequency components may indicate a higher degree of smoothness, while higher relative dominance of higher frequency components may indicate more frequent and faster color and /or shadow values in the background area, which may result in a lower smoothness score; semantically important objects can be identified by user input. The semantic importance may alternatively or additionally be determined according to the edge configuration and/or texture pattern. A background can be identified, without limitation, by receiving and/or detecting a portion of an area that represents a significant or "foreground" object, such as a face or other object, including, without limitation, a semantically important object. Another example may include assigning a higher factor S N to regions containing semantically important objects such as a human face; important objects can be identified by input from the user.

В некоторых вариантах реализации, процедура слияния блоков на частотной основе может быть опущена в тех случаях, где другие алгоритмы обработки информации непосредственно используют вычисленные величины FBi. Один из таких вариантов реализации может содержать адаптивное квантование, где параметры квантования определяют на основе величин FBi для каждого из блоков размером 4x4 или групп соседних блоков размером 4x4, скомбинированных для получения блоков размером 8x8, 16x16, 32x32 или 64x64, либо какой-либо другой подходящей комбинации.In some implementations, the frequency-based block merging procedure may be omitted in cases where other information processing algorithms directly use the computed FBi values. One such implementation may include adaptive quantization, where the quantization parameters are determined based on the F Bi values for each of the 4x4 blocks or groups of adjacent 4x4 blocks combined to produce blocks of 8x8, 16x16, 32x32, or 64x64, or some other suitable combination.

На этапе 120, кадр видео может быть кодирован. Процедура кодирования может содержать управление параметром квантования на основе мер пространственных действий, например, усредненной измерения пространственных действий для первой области, полученной в результате слияния блоков размером 4x4. Параметр квантования может содержать, быть равным, быть пропорциональным и/или быть связанным линейной зависимостью с размером квантования и/или с уровнем квантования. Как используется в описании настоящего изобретения термин «уровень квантования» и/или «размер квантования» обозначает числовую величину, указывающую объем информации, которая должна быть отброшена при сжатии кадра видео; уровень квантования может представлять собой, без ограничений, число, такое как целое число, на которое делят и/или редуцируют один или несколько коэффициентов, включая без ограничений коэффициенты преобразования, чтобы уменьшить содержание информации в кодированном и в последующем декодируемом кадре. Процедура управления может содержать определение первого размера квантования на основе первой измерения информации; уровень квантования может прямо или косвенно представлять объем памяти в запоминающем устройстве или хранилище данных, необходимый для захвата информации, описывающей яркостные и/или цветностные данные пикселей в блоке, где большее число битов может потребоваться для сохранения информации, имеющей большую степень вариаций, как это определено первой мерой информации. Размер квантования может определяться на основе первой измерения информации, как описано выше, где размер квантования может быть тем больше, чем больше первая мера информации, и тем меньше, чем меньше первая мера информации; размер квантования может быть пропорциональным первой мере информации и/или может быть связан линейной зависимостью с этой первой мерой. В общем случае, результатом большего информационного содержания может быть больший размер квантования. Посредством управления размером квантования информация об областях слияния блоков может быть использована для оптимизации искажений скорости передачи данных при кодировании. Это управление может быть далее основано на второй усредненной мере информации для второй области. At 120, a video frame may be encoded. The encoding procedure may comprise controlling a quantization parameter based on spatial action measures, for example, an average spatial action measurement for the first region resulting from 4x4 block merging. The quantization parameter may comprise, be equal to, be proportional to, and/or be linearly related to the quantization size and/or quantization level. As used in the description of the present invention, the term "quantization level" and/or "quantization size" refers to a numerical value indicating the amount of information that must be discarded when compressing a video frame; the quantization level may be, without limitation, a number, such as an integer, by which one or more coefficients, including but not limited to transform coefficients, are divided and/or reduced to reduce information content in the encoded and subsequent decoded frame. The control procedure may comprise determining a first quantization size based on the first information dimension; the quantization level may directly or indirectly represent the amount of memory in memory or data storage required to capture information describing the luminance and/or chrominance data of pixels in a block, where more bits may be required to store information having a greater degree of variation, as defined the first measure of information. The quantization size may be determined based on the first information dimension as described above, where the quantization size may be larger the larger the first information measure and smaller the smaller the first information measure; the quantization size may be proportional to the first measure of information and/or may be linearly related to this first measure. In general, more information content can result in a larger quantization size. By controlling the quantization size, the information about the block merge regions can be used to optimize the data rate distortion during coding. This control may be further based on the second average measure of information for the second region.

На фиг. 3 представлена системная блок-схема, иллюстрирующая пример кодирующего устройства 300 видео, способного осуществлять кодирование с использованием измерения пространственных действий, что может содержать вычисление частотных составляющих с использованием матриц преобразования. Пример кодирующего устройства 300 видео принимает входное видео 304, которое может быть первоначально сегментировано или разбито на блоки размером 4 x 4 для дальнейшей обработки. In FIG. 3 is a system block diagram illustrating an example of a video encoder 300 capable of encoding using spatial action measurement, which may include calculating frequency components using transform matrices. An example video encoder 300 receives input video 304, which may be initially segmented or split into 4 x 4 blocks for further processing.

Пример кодирующего устройства 300 видео содержит процессор 308 для внутрикадрового прогнозирования, процессор 312 для оценки/компенсации движения (также называемый процессором для межкадрового прогнозирования), процессор 316 для преобразования/квантования, процессор 320 для обратного квантования/обратного преобразования, внутриконтурный фильтр 324, буфер 328 для декодированного изображения и процессор 332 для энтропийного кодирования. В процессор 332 для энтропийного кодирования могут быть введены параметры потока битов данных для вставки в выходной поток 336 битов данных. An exemplary video encoder 300 includes an intra prediction processor 308, a motion estimation/compensation processor 312 (also referred to as an inter prediction processor), a transform/quantization processor 316, an inverse quantization/inverse transform processor 320, an in-loop filter 324, a buffer 328 for the decoded image and a processor 332 for entropy coding. Entropy encoding processor 332 may be input with data bit stream parameters for insertion into output data bit stream 336 .

Процессор 316 для преобразования/квантования может быть способен осуществлять слияние блоков и вычислять меру пространственных действий, что может содержать вычисление частотных составляющих с использованием матриц преобразования для каждого блока. Transform/quantization processor 316 may be configured to perform block merging and compute a spatial action measure, which may include calculating frequency components using transform matrices for each block.

Во время работы, для каждого блока кадра входного видео 304, может быть определено, следует ли обработать рассматриваемый блок посредством внутрикадрового прогнозирования или с использованием оценки/компенсации движения. Этот блок может быть передан процессору 308 для внутрикадрового прогнозирования или процессору 312 для оценки/компенсации движения. Если блок должен быть обработан посредством внутрикадрового прогнозирования, процессор 308 для внутрикадрового прогнозирования может осуществить обработку для передачи на выход результат прогнозирования. Если блок должен быть обработан посредством оценки/компенсации движения, процессор 312 для оценки/компенсации может осуществить соответствующую обработку. During operation, for each frame block of the input video 304, it may be determined whether the block in question should be processed through intra-frame prediction or using motion estimation/compensation. This block may be passed to processor 308 for intra prediction or processor 312 for motion estimation/compensation. If the block is to be processed by intra prediction, the intra prediction processor 308 may perform processing to output the prediction result. If the block is to be processed by motion estimation/compensation, the estimation/compensation processor 312 may perform the appropriate processing.

Остаток может быть получен путем вычитания результата прогнозирования из входного видео. Этот остаток может быть принят процессором 316 для преобразования/квантования, который может осуществить преобразование (например, дискретное косинусное преобразования (discrete cosine transform (DCT))) для получения коэффициентов, какие могут быть квантованы. Эти квантованные коэффициенты и какая-либо ассоциированная сигнализационная информация могут быть переданы процессору 332 для энтропийного кодирования и включения в выходной поток 336 битов данных. В дополнение к этому, квантованные коэффициенты могут быть переданы процессору 320 для обратного квантования/обратного преобразования, какой может воспроизводить пиксели, которые могут быть скомбинированы с результатом прогнозирования и обработаны внутриконтурным фильтром 324, а выходной сигнал фильтра сохраняют в буфере 328 для декодированного изображения с целью использования процессором 312 для оценки/компенсации движения.The remainder can be obtained by subtracting the prediction result from the input video. This residual may be received by a transform/quantization processor 316, which may perform a transform (eg, a discrete cosine transform (DCT)) to obtain coefficients that can be quantized. These quantized coefficients and any associated signaling information may be passed to processor 332 for entropy encoding and inclusion in output data bit stream 336 . In addition, the quantized coefficients may be passed to an inverse quantization/inverse transform processor 320, which may reproduce pixels that may be combined with the prediction result and processed by an in-loop filter 324, and the filter output is stored in a decoded image buffer 328 for the purpose of used by processor 312 for motion estimation/compensation.

Следует отметить, что любые один или несколько из описываемых здесь аспектов и вариантов могут быть успешно реализованы с использованием цифровых электронных схем, интегральных схем, специализированных интегральных схем (application specific integrated circuit (ASIC)), программируемых пользователем вентильных матриц (field programmable gate array (FPGA)), компьютерной аппаратуры, встроенного программного обеспечения, загружаемого программного обеспечения и/или комбинаций перечисленных элементов, реализуемых в одной или более машинах (например, одном или более компьютерных устройствах, используемых в качестве пользовательского компьютерного устройства для электронного документа, одном или более серверных устройств, таких как сервер документов, и т.п.), запрограммированных в соответствии с настоящим описанием, как это будет ясно даже рядовым специалистам в компьютерной технике. Эти разнообразные аспекты или признаки могут содержать реализацию в одной или более компьютерных программах и/или программном обеспечении, выполняемом и/или интерпретируемом в программируемой системе, содержащей по меньшей мере один программируемый процессор, который может быть процессором специального или общего назначения, соединенным для приема данных и команд от и для передачи данных и команд в систему хранения информация, по меньшей мере одно устройство ввода и по меньшей мере одно устройство вывода. Квалифицированные программисты смогут достаточно легко подготовить код соответствующего программного обеспечения на основе положений настоящего изобретения, как это будет очевидно даже рядовым специалистам в области программирования. Описанные выше аспекты и варианты реализации, использующие программное обеспечение и/или программные модули, могут также содержать подходящую аппаратуру, способствующую реализации выполняемых машиной команд программного обеспечения и/или программного модуля.It should be noted that any one or more of the aspects and variations described herein can be successfully implemented using digital electronic circuits, integrated circuits, application specific integrated circuits (ASICs), field programmable gate arrays ( FPGA)) computer hardware, firmware, downloadable software, and/or combinations of these elements implemented in one or more machines (for example, one or more computing devices used as a user computing device for an electronic document, one or more server devices such as a document server, etc.) programmed in accordance with the present description, as will be clear even to ordinary computer technicians. These various aspects or features may comprise implementation in one or more computer programs and/or software executing and/or interpreted on a programmable system comprising at least one programmable processor, which may be a special purpose or general purpose processor coupled to receive data. and commands from and for transmitting data and commands to the information storage system, at least one input device and at least one output device. Qualified programmers will be able to code appropriate software based on the teachings of the present invention quite easily, as will be obvious even to ordinary programmers. The above-described aspects and implementations using software and/or software modules may also include suitable hardware to facilitate the implementation of machine-executable software and/or software module instructions.

Такое программное обеспечение может представлять собой компьютерный программный продукт, использующий машиночитаемый носитель для хранения информации. Машиночитаемый носитель для хранения информации может представлять собой какой-либо носитель, способный сохранять и/или кодировать последовательность команд для выполнения машиной (например, компьютерным устройством) и управлять машиной для осуществления какого-либо из способов и/или вариантов, описываемых здесь. К примерам таких машиночитаемый носителей для хранения информации относятся, не ограничиваясь этим, магнитный диск, оптический диск (например, CD, CD-R, DVD, DVD-R и т.п.), магнитооптический диск, постоянное запоминающее устройство (ПЗУ (read-only memory “ROM”)), запоминающее устройство с произвольной выборкой (ЗУПВ (random access memory “RAM”)), магнитная карточка, оптическая карточка, твердотельное запоминающее устройство, стираемое программируемое постоянное запоминающее устройство (СППЗУ (EPROM)), электрически стираемое программируемое постоянное запоминающее устройство (ЭСППЗУ (EEPROM)), программируемые логические устройства (Programmable Logic Device (PLD)) и/или какие-либо комбинации таких устройств. Термин «машиночитаемый носитель», как он используется здесь, охватывает как одиночный носитель, так и комплекс физически раздельных носителей, такой как, например, комплект компакт-дисков или один или несколько накопителей на жестких дисках в сочетании с компьютерным запоминающим устройством. Как используется здесь, термин «машиночитаемый носитель для хранения информации» не охватывает временные формы передачи сигнала.Such software may be a computer program product using a computer-readable medium for storing information. A computer-readable storage medium may be any medium capable of storing and/or encoding a sequence of instructions for execution by a machine (eg, a computing device) and to control the machine to implement any of the methods and/or options described herein. Examples of such computer-readable storage media include, but are not limited to, a magnetic disk, an optical disk (for example, CD, CD-R, DVD, DVD-R, etc.), a magneto-optical disk, read only memory (ROM (read -only memory “ROM”), random access memory (RAM (random access memory “RAM”)), magnetic card, optical card, solid-state memory, erasable programmable read-only memory (EPROM), electrically erasable programmable read only memory (EEPROM), programmable logic devices (Programmable Logic Device (PLD)) and/or any combination of such devices. The term "computer readable medium" as used herein encompasses both a single medium and a collection of physically separate media such as, for example, a set of CDs or one or more hard disk drives in combination with a computer storage device. As used herein, the term "computer-readable information storage medium" does not cover temporal forms of signal transmission.

Такое программное обеспечение может также содержать информацию (например, данные), передаваемые в виде сигнала данных на носителе данных, таком как волна несущей. Например, машиночитаемая информация может быть представлена в виде сигнала данных на несущей данных, на которой сигнал кодирует последовательность команд или часть ее, для выполнения машиной (например, компьютерным устройством) и любую относящуюся к этому информацию (например, структуры данных и данные), побуждающую машину осуществлять какие-либо способы и/или варианты, описываемые здесь.Such software may also contain information (eg, data) transmitted as a data signal on a storage medium, such as a carrier wave. For example, machine-readable information may be represented as a data signal on a data carrier, on which the signal encodes a sequence of instructions, or a portion thereof, for execution by a machine (e.g., a computing device) and any related information (e.g., data structures and data) that causes machine to carry out any of the methods and/or options described here.

К примерам компьютерного устройства относятся, не ограничиваясь этим, устройство для чтения электронных книг, компьютерная рабочая станция, компьютер терминала, компьютер сервера, ручное устройство (например, планшетный компьютер, смартфон и т.п.), устройство для работы с Интернет, сетевой маршрутизатор, сетевой коммутатор, сетевой мост, какая-либо машина, способная выполнять последовательность команд, специфицирующую действия, которые должна выполнять машина и какие-либо сочетания перечисленных устройств. В одном из примеров, компьютерное устройство может содержать и/или быть встроено в киоск.Examples of a computing device include, but are not limited to, an e-book reader, a computer workstation, a terminal computer, a server computer, a hand-held device (such as a tablet computer, a smartphone, etc.), an Internet device, a network router , a network switch, a network bridge, any machine capable of executing a sequence of commands specifying the actions that the machine should perform and any combination of these devices. In one example, the computing device may comprise and/or be embedded in a kiosk.

На фиг. 4 показано схематичное представление одного из вариантов компьютерного устройства в форме примера компьютерной системы 400, где может выполняться множество команд, в соответствии с которыми система управления реализует один или несколько аспектов и/или способов настоящего изобретения. Также предполагается, что множество компьютерных устройств может быть использовано для реализации специально конфигурированного набора команд, в соответствии с которыми одно или несколько устройств осуществляет один или несколько аспектов и/или способов согласно настоящему изобретению. Компьютерная система 400 содержит процессор 404 и запоминающее устройство 408, осуществляющие связь одно с другим и с другими компонентами по шине 412. Шина 512 может содержать какую-либо из ряда структур шин, включая, но не ограничиваясь, шину памяти, контроллер памяти, шину периферийных устройств, локальную шину и какую-либо комбинацию перечисленных компонентов с использованием какой-либо из различных архитектур шин.In FIG. 4 is a schematic representation of one embodiment of a computing device in the form of an exemplary computer system 400, where a variety of instructions can be executed, in accordance with which the control system implements one or more aspects and/or methods of the present invention. It is also contemplated that a plurality of computing devices may be used to implement a specially configured set of instructions in accordance with which one or more devices implement one or more aspects and/or methods of the present invention. Computer system 400 includes a processor 404 and a memory 408 that communicate with each other and with other components over a bus 412. Bus 512 may include any of a number of bus structures including, but not limited to, a memory bus, a memory controller, a peripheral bus. devices, a local bus, and any combination of these components using any of the various bus architectures.

Запоминающее устройство 408 может содержать различные компоненты (например, машиночитаемые носители), включая, но не ограничиваясь, компонент запоминающего устройства с произвольной выборкой, компонент постоянного запоминающего устройства и какую-либо комбинацию таких компонентов. В одном из примеров, в запоминающем устройстве 408 может быть записана базовая система ввода/вывода (basic input/output system (BIOS)) 416, содержащая базовые процедуры, помогающие передавать информацию между элементами в компьютерной системе 400, например, во время запуска этой компьютерной системы. Запоминающее устройство 408 может также содержать (например, в сохраненном на одном или более машиночитаемых носителях виде) команды (например, программное обеспечение) 420, реализующие какие-либо один или несколько аспектов и/или способов согласно настоящему изобретению. В другом примере, запоминающее устройство 408 может далее содержать любое число программных модулей, включая, но не ограничиваясь этим, операционную систему, одну или несколько прикладных программ, другие программные модули, данные программ и какие-либо комбинации этого.The storage device 408 may include various components (eg, computer-readable media), including, but not limited to, a random access storage component, a persistent storage component, and any combination of such components. In one example, memory 408 may contain a basic input/output system (BIOS) 416 containing basic routines to help transfer information between elements in computer system 400, such as during startup of that computer system. systems. Memory 408 may also contain (eg, stored on one or more computer-readable media) instructions (eg, software) 420 that implement any one or more aspects and/or methods of the present invention. In another example, storage device 408 may further contain any number of program modules, including, but not limited to, an operating system, one or more application programs, other program modules, program data, and any combination thereof.

Компьютерная система 400 может также содержать хранилище 424 программ и данных. К примерам хранилища программ и данных (например, хранилища 424 программ и данных) относятся, не ограничиваясь этим, накопитель на жестком диске, накопитель на магнитном диске, накопитель на оптическом диске в сочетании с оптическим носителем, твердотельное запоминающее устройство и какая-либо комбинация таких устройств. Хранилище 424 программ и данных, может быть соединено с шиной 412 посредством подходящего интерфейса (не показан). Например, к таким интерфейсам относятся, не ограничиваясь этим, интерфейс малых компьютерных систем, SCSI, усовершенствованный интерфейс периферийных устройств (advanced technology attachment (ATA)), последовательный интерфейс ATA, универсальная последовательная шина (universal serial bus (USB)), интерфейс согласно стандарту IEEE 1394 (FIREWIRE) или какие-либо комбинации таких интерфейсов. В одном из примеров хранилище 424 программ и данных (или один или несколько компонентов такого хранилища) может быть сопряжено с компьютерной системой 400 так, что его можно отсоединить (например, через соединитель внешнего порта (не показан)). В частности, хранилище 424 программ и данных и ассоциированный с ним машиночитаемый носитель 428 могут создать энергонезависимое и/или энергозависимое хранилище машиночитаемых команд, структур данных, программных модулей и/или других данных для компьютерной системы 400. В одном из примеров программное обеспечение 420 может быть резидентно, полностью или частично, на машиночитаемом носителе 428. В другом примере, программное обеспечение 420 может быть резидентно, полностью или частично, в процессоре 404.Computer system 400 may also include a program and data store 424 . Examples of a program and data store (e.g., program and data store 424) include, but are not limited to, a hard disk drive, a magnetic disk drive, an optical drive in combination with an optical media, solid state memory, and any combination of these. devices. The program and data store 424 may be connected to the bus 412 via a suitable interface (not shown). For example, such interfaces include, but are not limited to, small computer system interface, SCSI, advanced technology attachment (ATA), ATA serial interface, universal serial bus (USB), interface according to the standard IEEE 1394 (FIREWIRE) or any combination of these interfaces. In one example, program and data store 424 (or one or more components of such store) can be interfaced with computer system 400 such that it can be detached (eg, via an external port connector (not shown)). In particular, the program and data store 424 and its associated computer-readable medium 428 may create a non-volatile and/or volatile store of machine-readable instructions, data structures, program modules, and/or other data for computer system 400. In one example, software 420 may be resident, in whole or in part, on the computer-readable medium 428. In another example, software 420 may be resident, in whole or in part, in the processor 404.

Компьютерная система 400 может также содержать устройство 432 ввода. В одном из примеров пользователь компьютерной системы 400 может вводить команды и/или другую информацию в компьютерную систему 400 через это устройство 432 ввода. К примерам устройства 432 ввода относятся, не ограничиваясь этим, устройство алфавитно-числового ввода (например, клавиатура), указательное устройство, джойстик, геймпад (игровая панель), устройство аудио ввода (например, микрофон, система с речевым ответом и т.п.), устройство управления курсором (например, мышь), сенсорная панель, оптический сканер, устройство для захвата изображений (например, фотокамера, видеокамера), сенсорный экран или какая-либо комбинация этих устройств. Устройство 432 ввода может быть сопряжено с шиной 412 через какой-либо из разнообразных интерфейсов (не показаны), включая, но не ограничиваясь, последовательный интерфейс, параллельный интерфейс, игровой порт, USB-интерфейс, FIREWIRE-интерфейс, прямое соединение с шиной 412 и какую-либо комбинацию таких устройств. Устройство 432 может содержать интерфейс в виде сенсорного экрана, который может представлять собой часть дисплея 436 или быть отдельным от него, что далее обсуждается ниже. Устройство 432 ввода может быть использовано в качестве селекторного устройства пользователя для выбора одного или более графических представлений в графическом интерфейсе, как обсуждается выше.Computer system 400 may also include an input device 432. In one example, a user of computer system 400 may enter commands and/or other information into computer system 400 through this input device 432. Examples of input device 432 include, but are not limited to, an alphanumeric input device (e.g., a keyboard), a pointing device, a joystick, a gamepad (game pad), an audio input device (e.g., a microphone, a voice response system, etc.). ), cursor control device (such as a mouse), touch pad, optical scanner, image capture device (such as a camera, camcorder), touch screen, or some combination of these devices. Input device 432 may interface with bus 412 through any of a variety of interfaces (not shown), including but not limited to serial, parallel, game port, USB, FIREWIRE, direct to bus 412, and any combination of such devices. Device 432 may include a touch screen interface, which may be part of or separate from display 436, as discussed further below. Input device 432 may be used as a user selector to select one or more graphical representations in a graphical interface, as discussed above.

Пользователь может также вводить команды и/или другую информацию в компьютерную систему 400 через хранилища 424 программ и данных (например, накопитель со сменными дисками, флэш-накопитель и т.п.) и/или устройство 440 сетевого интерфейса. Такое устройство 440 сетевого интерфейса может быть использовано для соединения компьютерной системы 400 с одной или несколькими сетями, такими как сеть 444, и одним или несколькими удаленными устройствами 448, соединенными с ней. К примерам устройств сетевого интерфейса относятся, но не ограничиваясь этим, плата сетевого интерфейса (например, плата сетевого интерфейса для мобильной сети, плата локальной сети связи (LAN)), модем и какая-либо комбинация этих устройств. К примерам сети относятся, не ограничиваясь этим, широкомасштабная сеть связи (например, Интернет, сеть предприятия), локальная сеть связи (например, сеть, ассоциированная с офисом, зданием, кампусом или каким-либо относительно небольшим географическим пространством), телефонная сеть, сеть передачи данных, ассоциированная с провайдером телефонной/голосовой связи (например, сеть передачи данных и/или голосовая сеть провайдера мобильной связи), прямое соединение между двумя компьютерными устройствами или какая-либо комбинация перечисленных объектов. Сеть связи, такая как сеть 444, может использовать проводную и/или беспроводную связь. В общем случае может быть использована любая топология сети. Информация (например, данные, программное обеспечение 420 и т.п.) может быть передана в компьютерную систему 400 или из нее через устройство 440 сетевого интерфейса.The user may also enter commands and/or other information into the computer system 400 via program and data stores 424 (eg, removable disk drive, flash drive, etc.) and/or network interface device 440. Such a network interface device 440 may be used to connect computer system 400 to one or more networks, such as network 444, and one or more remote devices 448 connected thereto. Examples of network interface devices include, but are not limited to, a network interface card (eg, a mobile network interface card, a local area network (LAN) card), a modem, and some combination of these devices. Examples of a network include, but are not limited to, a wide area communications network (eg, the Internet, an enterprise network), a local communications network (eg, a network associated with an office, building, campus, or some relatively small geographical area), telephone network, network a data connection associated with a telephone/voice provider (eg, a data and/or voice network of a mobile provider), a direct connection between two computing devices, or some combination of these entities. A communications network, such as network 444, may use wired and/or wireless communications. In general, any network topology can be used. Information (eg, data, software 420, etc.) may be transferred to or from computer system 400 via network interface device 440.

Компьютерная система 400 может далее содержать адаптер 452 видео дисплея для передачи изображения, представляемого на дисплее, дисплейному устройству, такому как дисплейное устройство 436. К примерам дисплейного устройства относятся, не ограничиваясь этим, жидкокристаллический дисплей (liquid crystal display (LCD)), электронно-лучевая трубка (cathode ray tube (CRT)), плазменный дисплей, дисплей на светодиодах (light emitting diode (LED)) и какая-либо комбинация таких дисплеев. Адаптер 452 дисплея и дисплейное устройство 436 могут быть использованы в сочетании с процессором 404 для создания графических представлений аспектов настоящего изобретения. В дополнение к дисплейному устройству, компьютерная система 400 может содержать одно или несколько других периферийных устройств вывода, включая, но не ограничиваясь, аудио громкоговоритель, принтер и какую-либо комбинацию этих устройств. Такие периферийные устройства вывода могут быть соединены с шиной 412 через интерфейс 456 периферийных устройств. К примерам таких интерфейсов периферийных устройств относятся, не ограничиваясь этим, последовательный порт, соединение USB, соединение FIREWIRE, параллельное соединение или какая-либо комбинация таких соединений. The computer system 400 may further include a video display adapter 452 for transmitting the image presented on the display to a display device, such as a display device 436. Examples of a display device include, but are not limited to, a liquid crystal display (LCD), an electronic cathode ray tube (CRT), plasma display, light emitting diode (LED) display, and any combination of such displays. Display adapter 452 and display device 436 may be used in conjunction with processor 404 to generate graphical representations of aspects of the present invention. In addition to the display device, computer system 400 may include one or more other peripheral output devices, including, but not limited to, an audio speaker, a printer, and any combination of these devices. Such output peripherals may be connected to bus 412 via peripheral interface 456 . Examples of such peripheral interfaces include, but are not limited to, a serial port, a USB connection, a FIREWIRE connection, a parallel connection, or any combination of such connections.

Выше дано подробное описание иллюстративных вариантов настоящего изобретения. Здесь могут быть сделаны разнообразные модификации и дополнения, не отклоняясь от смысла и объема настоящего изобретения. Признаки каждого из описываемых здесь различных вариантов могут быть скомбинированы подходящим образом с признаками других описываемых вариантов для получения множества комбинаций признаков в ассоциированных новых вариантах. Далее, хотя выше был рассмотрен ряд раздельных вариантов, приведенное здесь описание является всего лишь иллюстрацией применения принципов настоящего изобретения. В дополнение к этому, хотя приведенные здесь различные способы могут быть иллюстрированы и/или описаны как выполняемые в определенном конкретном порядке, этот порядок может изменяться в широких пределах, доступных даже рядовому специалисту, для получения различных вариантов, как описано здесь. Соответственно настоящее описание является всего лишь примером и никак иначе не ограничивает объем настоящего изобретения.The above is a detailed description of illustrative embodiments of the present invention. Various modifications and additions can be made here without deviating from the spirit and scope of the present invention. The features of each of the various options described herein may be appropriately combined with the features of the other options described to obtain multiple combinations of features in the associated new variants. Further, although a number of separate options have been discussed above, the description given here is merely an illustration of the application of the principles of the present invention. In addition, although the various methods provided herein may be illustrated and/or described as being performed in a certain specific order, this order may be varied within wide limits, accessible even to an ordinary specialist, to obtain various options, as described here. Accordingly, the present description is merely an example and does not otherwise limit the scope of the present invention.

В приведенном выше описании и в Формуле изобретения за фразами «по меньшей мере один из» или «один или несколько из» может следовать присоединительный список элементов или признаков. Термин «и/или» может также встречаться в списке из двух или более элементов или признаков. Если это явно или неявно не противоречит контексту, такой термин должен обозначать любой из перечисленных в списке элементов или признаков индивидуально, либо какой-либо из упомянутых элементов или признаков в сочетании с каким-либо другим из перечисленных элементов или признаков. Например, фразы «по меньшей мере один из A и B»; «один или несколько из A и B»; и «A и/или B» должны обозначать каждая «A отдельно, B отдельно или A и B вместе». Аналогичная интерпретация предполагается также применительно к списку, содержащему три или более позиций. Например, фразы «по меньшей мере один из A, B и C»; «один или несколько из A, B и C»; и «A, B и/или C» должны обозначать каждая «A отдельно, B отдельно, C отдельно, A и B вместе, A и C вместе, B и C вместе или A и B и C вместе». В дополнение к этому, использование термина «на основе» выше и в Формуле изобретения должно означать «по меньшей мере частично на основе», так что неупомянутый признак или элемент также является допустимым.In the above description and in the claims, the phrases "at least one of" or "one or more of" may be followed by an appendix list of elements or features. The term "and/or" may also occur in a list of two or more elements or features. Unless explicitly or implicitly contradicted by the context, such a term shall mean any of the elements or features listed in the list alone, or any of the mentioned elements or features in combination with any other of the listed elements or features. For example, the phrases "at least one of A and B"; "one or more of A and B"; and "A and/or B" shall each mean "A alone, B alone, or A and B together". A similar interpretation is also intended for a list containing three or more entries. For example, the phrases "at least one of A, B and C"; "one or more of A, B and C"; and "A, B and/or C" must each mean "A alone, B alone, C alone, A and B together, A and C together, B and C together, or A and B and C together." In addition, the use of the term "based on" above and in the claims must mean "at least partially based on" such that an unmentioned feature or element is also allowed.

Описываемый здесь предмет изобретения может быть реализован в системах, аппаратуре, способах и/или изделиях в зависимости от желаемой конфигурации. Варианты реализации, приведенные в описании выше, не представляют все варианты реализации, согласованные с описываемым здесь предметом изобретения. Напротив, это всего лишь несколько примеров, согласованных с аспектами, относящимися к описываемому предмету изобретения. В частности, другие признаки и/или варианты могут быть созданы в дополнение к тому, что рассмотрено здесь. Например, описываемые выше варианты реализации могут быть направлены на различные комбинации и субкомбинации описываемых признаков и/или комбинации и субкомбинации ряда других признаков, описанных выше. В дополнение к этому, логические схемы, изображенные на прилагаемых чертежах и/или описываемые здесь, не требуют обязательного выполнения в показанном здесь порядке или в последовательном порядке для достижения желаемых результатов. Другие варианты реализации могут находиться в пределах объема следующей Формулы изобретения.The subject matter described herein may be implemented in systems, apparatus, methods, and/or articles, depending on the desired configuration. The embodiments described in the description above do not represent all embodiments consistent with the subject matter described herein. On the contrary, these are just a few examples consistent with aspects related to the described subject matter. In particular, other features and/or variants may be created in addition to what is discussed here. For example, the embodiments described above may be directed to various combinations and subcombinations of the described features and/or combinations and subcombinations of a number of other features described above. In addition, the logic circuits depicted in the accompanying drawings and/or described here do not need to be performed in the order shown here or in sequential order to achieve the desired results. Other implementation options may be within the scope of the following claims.

Claims (32)

1. Процессор обратного квантования и обратного преобразования, выполненный с возможностью:1. An inverse quantization and inverse transform processor configured to: приема видеосигнала, сгенерированного из изображения, обработанного кодером, посредством: receiving a video signal generated from an image processed by an encoder by: разбиения изображения на множество блоков;splitting the image into multiple blocks; получения остатка для каждого блока из множества блоков с использованием предиктора;obtaining a residual for each block of the plurality of blocks using a predictor; применения преобразования к каждому остатку для получения преобразованного блока;applying a transform to each residue to obtain a transformed block; определения пространственного действия для каждого преобразованного блока;determining a spatial action for each transformed block; определения, назначен ли каждый блок, из указанного множества блоков, первой области изображения или второй области изображения посредством определения, является ли разница между пространственным действием указанного блока и пространственным действием соседнего блока больше или меньше порогового значения, причем блокам первой области назначен, кодером, первый параметр квантования, а блокам второй области назначен, кодером, второй параметр квантования;determining whether each block, from the specified set of blocks, the first image region or the second image region is assigned by determining whether the difference between the spatial action of the specified block and the spatial action of the adjacent block is greater than or less than a threshold value, wherein the blocks of the first region are assigned, by the encoder, the first the quantization parameter, and the blocks of the second area is assigned, by the encoder, the second quantization parameter; осуществления обратного квантования блоков первой области с использованием первого параметра квантования; иperforming inverse quantization of blocks of the first region using the first quantization parameter; And осуществления обратного квантования блоков второй области с использованием второго параметра квантования.performing inverse quantization of the blocks of the second region using the second quantization parameter. 2. Процессор по п. 1, характеризующийся тем, что дополнительно выполнен с возможностью:2. The processor according to claim 1, characterized in that it is additionally configured to: осуществления обратного преобразования обратно квантованных блоков первой области, иperforming an inverse transformation of the inversely quantized blocks of the first region, and осуществления обратного преобразования обратно квантованных блоков второй области.performing an inverse transformation of the inversely quantized blocks of the second region. 3. Процессор по п. 1, в котором преобразованием является Дискретно Косинусное Преобразование.3. The processor of claim 1, wherein the transform is a Discrete Cosine Transform. 4. Процессор по п. 2, дополнительно содержащий:4. Processor according to claim 2, further comprising: контурный фильтр; иcontour filter; And буфер декодированного изображения.decoded image buffer. 5. Процессор по п. 1, в котором каждый блок из множества блоков имеет размер 128х128. 5. Processor according to claim 1, wherein each block of the plurality of blocks has a size of 128x128. 6. Способ обратного квантования и обратного преобразования, содержащий этапы, на которых;6. The method of inverse quantization and inverse transformation, containing the steps in which; принимают, с помощью процессора обратного квантования и обратного преобразования, видеосигнал, сгенерированный из изображения, обработанного кодером, посредством: receiving, by means of an inverse quantization and inverse transform processor, a video signal generated from an image processed by the encoder by: разбиения изображения на множество блоков;splitting the image into multiple blocks; получения остатка для каждого блока из множества блоков с использованием предиктора;obtaining a residual for each block of the plurality of blocks using a predictor; применения преобразования к каждому остатку для получения преобразованного блока;applying a transform to each residue to obtain a transformed block; определения пространственного действия для каждого преобразованного блока;determining a spatial action for each transformed block; определения, назначен ли каждый блок, из указанного множества блоков, первой области изображения или второй области изображения посредством определения, является ли разница между пространственным действием указанного блока и пространственным действием соседнего блока больше или меньше порогового значения, причем блокам первой области назначен, кодером, первый параметр квантования, а блокам второй области назначен, кодером, второй параметр квантования;determining whether each block, from the specified set of blocks, the first image region or the second image region is assigned by determining whether the difference between the spatial action of the specified block and the spatial action of the adjacent block is greater than or less than a threshold value, wherein the blocks of the first region are assigned, by the encoder, the first the quantization parameter, and the blocks of the second area is assigned, by the encoder, the second quantization parameter; осуществляют обратное квантование блоков первой области с использованием первого параметра квантования; иperforming inverse quantization of blocks of the first region using the first quantization parameter; And осуществляют обратное квантование блоков второй области с использованием второго параметра квантования.performing inverse quantization of blocks of the second region using the second quantization parameter. 7. Способ по п. 6, дополнительно содержащий этапы, на которых:7. The method of claim 6, further comprising the steps of: осуществляют обратное преобразование обратно квантованных блоков первой области, иperforming an inverse transformation of the inversely quantized blocks of the first region, and осуществляют обратное преобразование обратно квантованных блоков второй области.carry out the inverse transformation of inversely quantized blocks of the second region. 8. Способ по п. 6, в котором преобразованием является Дискретно Косинусное Преобразование.8. The method of claim 6 wherein the transform is a Discrete Cosine Transform. 9. Способ по п. 7, в котором процессор обратного квантования и обратного преобразования содержит контурный фильтр и буфер декодированного изображения.9. The method of claim 7, wherein the inverse quantization and inverse transform processor comprises a loop filter and a decoded image buffer. 10. Способ по п. 6, в котором каждый блок из множества блоков имеет размер 128х128. 10. The method of claim 6, wherein each block of the plurality of blocks has a size of 128x128.
RU2021118369A 2018-11-27 2019-11-27 Measurements of spatial actions of images based on blocks RU2796934C2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US62/771,909 2018-11-27

Publications (2)

Publication Number Publication Date
RU2021118369A RU2021118369A (en) 2022-12-29
RU2796934C2 true RU2796934C2 (en) 2023-05-29

Family

ID=

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WO 2003056839 A1 - 2003-07-10. US 2015016510 А1 - 2015-01-15. US 2010309974 А1 - 2010-12-09. US 2016156937 A1 - 2016-06-02. WEI DEYUN еt al., Novel Tridiagonal Commuting Matrices for Types I, IV, V, VIII DCT and DST Matrices, IEEE SIGNAL PROCESSING LETTERS, vol.21, N4, April 2014. WO 2010141899 A2 - 2010-12-09. WO 2017090993 A1 - 2017-06-01. RU 2648581 C1 - 2018-03-26. *

Similar Documents

Publication Publication Date Title
WO2017071480A1 (en) Reference frame decoding method
JP7482536B2 (en) Shape-adaptive discrete cosine transform for geometric partitioning with an adaptive number of regions.
TW201507439A (en) Video encoding method and apparatus, and non-transitory computer-readable recording medium
JP2017192147A (en) Significant map encoding with small calculation
US20220377339A1 (en) Video signal processor for block-based picture processing
TW202135530A (en) Method, apparatus and system for encoding and decoding a block of video samples
JP2022523697A (en) Inter-prediction in geometric divisions with adaptive number regions
RU2796934C2 (en) Measurements of spatial actions of images based on blocks
RU2782583C1 (en) Block-based image merging for context segmentation and processing
CN115442617A (en) Video processing method and device based on video coding
US10045022B2 (en) Adaptive content dependent intra prediction mode coding
WO2022198465A1 (en) Coding method and apparatus
JP7253053B2 (en) Block-based Spatial Activity Measure for Pictures
US11825075B2 (en) Online and offline selection of extended long term reference picture retention
EP4117289A1 (en) Image processing method and image processing device
EP4144083A1 (en) Methods and systems for combined lossless and lossy coding
WO2021211576A1 (en) Methods and systems for combined lossless and lossy coding
WO2022047144A1 (en) Methods and systems for combined lossless and lossy coding