RU2506712C1 - Method for interframe prediction for multiview video sequence coding - Google Patents

Method for interframe prediction for multiview video sequence coding Download PDF

Info

Publication number
RU2506712C1
RU2506712C1 RU2012123519/08A RU2012123519A RU2506712C1 RU 2506712 C1 RU2506712 C1 RU 2506712C1 RU 2012123519/08 A RU2012123519/08 A RU 2012123519/08A RU 2012123519 A RU2012123519 A RU 2012123519A RU 2506712 C1 RU2506712 C1 RU 2506712C1
Authority
RU
Russia
Prior art keywords
block
encoded
motion vector
synthesized
frame
Prior art date
Application number
RU2012123519/08A
Other languages
Russian (ru)
Other versions
RU2012123519A (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 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд."
Priority to RU2012123519/08A priority Critical patent/RU2506712C1/en
Priority to KR1020130064832A priority patent/KR20130137558A/en
Priority to US13/911,517 priority patent/US20130329800A1/en
Publication of RU2012123519A publication Critical patent/RU2012123519A/en
Application granted granted Critical
Publication of RU2506712C1 publication Critical patent/RU2506712C1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

FIELD: physics, computer engineering.
SUBSTANCE: invention relates to computer engineering. The method for interframe prediction for multiview video sequence coding, wherein a coded frame of the coded view video sequence is represented as a set of blocks; at least one restored frame from the coded view video sequence, designated as a reference frame, is determined; synthesised frames corresponding to the coded frame and each of the reference frames are generated using restored depth maps and restored video sequence frames from at least another view, the method further including: determining, in the synthesised coded frame, the synthesised current frame which corresponds to the coded block; obtaining at least one synthesised motion vector for the synthesised current block using the synthesised reference frames; outputting at least one adjusted motion vector for the coded block using a pattern mapping technique using a pattern of the coded block, using reference frames and using the obtained synthesised motion vector; calculating a prediction block for the coded block using adjusted motion vectors.
EFFECT: reduced amount of overhead information in the field of compressing multiview video sequences with depth maps.
9 cl, 9 dwg

Description

Изобретение относится к технологиям сжатия многоракурсных видеопоследовательностей с картами глубин (MVD видео).The invention relates to compression technologies for multi-angle video sequences with depth maps (MVD video).

Здесь и далее под MVD видео будет пониматься набор ракурсов одной и той же сцены, где каждый ракурс представляет собой отдельную видеопоследовательность и/или информацию о глубине сцены, изменяющеюся во времени и обозначаемую как карты глубины. Недавно введенный международный стандарт MPEG-4 AVC/H.264 Annex.H Multiview Video Coding (MVC) [1] дает возможность кодировать MVD видео. Обычно MVD видео кодируют как набор обычных видеопоследовательностей, применяя гибридное кодирование: кадр из вновь кодируемого ракурса или видеопоследовательности карт глубин разделяют на неперекрывающиеся блоки пикселей, которые подвергают разностному кодированию для уменьшения межкадровой корреляции. Остатки, содержащиеся в разностном блоке, полученном из кодируемого блока и поставленного ему в соответствие блока-прогноза, подвергают пространственному преобразованию.Hereinafter, MVD video will be understood as a set of angles of the same scene, where each angle is a separate video sequence and / or information about the depth of the scene, which varies over time and is denoted as depth maps. The recently introduced international standard MPEG-4 AVC / H.264 Annex.H Multiview Video Coding (MVC) [1] makes it possible to encode MVD video. Typically, MVD video is encoded as a set of ordinary video sequences using hybrid encoding: a frame from a newly encoded view or video sequence of depth maps is divided into non-overlapping blocks of pixels, which are subjected to difference encoding to reduce interframe correlation. The residuals contained in the difference block obtained from the encoded block and put in correspondence with the prediction block are subjected to spatial transformation.

Блоки-прогнозы формируют из опорных кадров, которые были закодированы ранее (далее по тексту любая информация, которая была закодирована, возможно, с потерями, и потом декодирована, называется «восстановленной информацией»). При этом используется служебная информация о движении (MSI является аббревиатурой термина Motion Side Information), которая необходима кодеру и декодеру для того, чтобы сформировать блок-прогноз. MSI - такая, как тип макроблока, векторы движения, индексы опорных кадров и режимы разбиения макроблока - формируется на стороне кодера и обычно передаётся в декодер в виде сжатого битового потока (далее по тексту называется «потоком»). Чем более полной и детальной является MSI, тем точнее блок-прогноз и тем меньше амплитуда остатков в разностном блоке. В то же время, более точная MSI требует больше битов для передачи её в декодер, но в результате требуется меньше битов для представления остатков. Поэтому одной из проблем эффективного сжатия является уменьшение объема MSI, передаваемой в потоке в декодер, при сохранении малой амплитуды остатков.Prediction blocks are formed from reference frames that were previously encoded (hereinafter, any information that was encoded, possibly with losses, and then decoded, is called "restored information"). In this case, service overhead information is used (MSI is an abbreviation of the term Motion Side Information), which is necessary for the encoder and decoder in order to generate a block forecast. MSI — such as the type of macroblock, motion vectors, reference frame indices, and macroblock partitioning modes — is formed on the encoder side and is usually transmitted to the decoder as a compressed bit stream (hereinafter referred to as “stream”). The more complete and detailed the MSI, the more accurate the block forecast and the smaller the amplitude of the residuals in the difference block. At the same time, a more accurate MSI requires more bits to transmit to the decoder, but as a result, fewer bits are required to represent the residuals. Therefore, one of the problems of effective compression is to reduce the amount of MSI transmitted in the stream to the decoder, while maintaining a small amplitude of the residues.

Метод сопоставления шаблонов (ТМ: Template Matching) известен как эффективный метод формирования блоков-прогнозов, который позволяет уменьшить объем MSI, передаваемой в потоке [2, 3, 9-13]. ТМ использует корреляцию между пикселями в кодируемом блоке и пикселями, окружающими кодируемый блок. Пиксели, принадлежащие окрестности блока, но не включенные в блок, называются шаблоном. При проведении ТМ шаблон выбирается в окрестности кодируемого блока и включает в себя только пиксели, которые были уже закодированы и декодированы ранее. Далее вместо сопоставления кодируемого блока и блоков из опорного кадра для нахождения вектора движения используется сопоставление шаблона кодируемого блока и шаблонов такой же формы в опорном кадре. Найденный для шаблонов вектор и иная MSI (индекс опорного кадра и т.д.) используется для формирования блока-прогноза. Так как в данном методе MSI для кодируемого блока определяется только с помощью уже восстановленной ранее информации и без участия значений пикселей кодируемого блока, то идентичную процедуру можно произвести на стороне декодера и получить идентичную MSI, поэтому передача такой MSI в потоке не требуется. Далее любую информацию, определённую таким образом, далее будем называть «выведенной информацией».The template matching method (TM: Template Matching) is known as an effective method for generating forecast blocks, which allows to reduce the amount of MSI transmitted in the stream [2, 3, 9-13]. TM uses the correlation between the pixels in the encoded block and the pixels surrounding the encoded block. Pixels belonging to a neighborhood of a block but not included in the block are called a pattern. When conducting TM, the template is selected in the vicinity of the encoded block and includes only pixels that have already been encoded and decoded earlier. Further, instead of matching the encoded block and the blocks from the reference frame, the pattern matching of the encoded block and patterns of the same shape in the reference frame is used to find the motion vector. The vector and other MSI found for the templates (reference frame index, etc.) are used to form a prediction block. Since in this method the MSI for the encoded block is determined only with the help of information already restored previously and without the pixel values of the encoded block, the identical procedure can be performed on the decoder side and an identical MSI can be obtained, therefore, the transmission of such MSI in the stream is not required. Further, any information defined in this way, hereinafter, will be called “inferred information”.

Так как движение в видеопоследовательностях соседних ракурсов является высококоррелированным, возникает возможность получения MSI из соседнего уже восстановленного ракурса для применения в кодируемом ракурсе [4]; такую информацию также можно не передавать в потоке кодируемого ракурса. Также имеется возможность получения синтезированной видеопоследовательности для одного ракурса с помощью одной из известных процедур синтеза, использующей видеопоследовательность соседнего ракурса и карт глубин одного из ракурсов. Характеристики синтезированной видеопоследовательности ракурса намного ближе к характеристикам оригинальной видеопоследовательности ракурса, чем характеристики видеопоследовательности соседнего ракурса. Эта корреляция характеристик также используется для более эффективного сжатия видеопоследовательностей нескольких ракурсов.Since the motion in the video sequences of neighboring views is highly correlated, it becomes possible to obtain MSI from a neighboring already restored view for use in a coded view [4]; such information can also not be transmitted in the stream of the encoded view. It is also possible to obtain a synthesized video sequence for one view using one of the known synthesis procedures using a video sequence of an adjacent view and depth maps of one of the views. The characteristics of the synthesized video sequence of the angle are much closer to the characteristics of the original video sequence of the angle than the characteristics of the video sequence of the adjacent angle. This feature correlation is also used to compress video sequences from multiple angles more efficiently.

Для решения проблемы, связанной с большим объёмом MSI, передаваемой в потоке, широко используется уже упомянутый метод сопоставления шаблонов. Есть несколько модификаций ТМ, но все они имеют следующий недостаток. Поскольку пиксели кодируемого блока не используются при сопоставлении, качество блока-прогноза, полученного при сопоставлении шаблонов, практически всегда хуже, чем качество блока-прогноза, полученного при сопоставлении блоков. И чем меньше фактическая корреляция между вектором движения кодируемого блока и вектором движения шаблона кодируемого блока, тем более будет проявляться данный недостаток. Таким образом, MSI, полученная с помощью ТМ, может быть неподходящей для кодируемого блока, что подразумевает увеличение амплитуды остатков.To solve the problem associated with the large amount of MSI transmitted in the stream, the already mentioned template matching method is widely used. There are several modifications of TM, but all of them have the following drawback. Since the pixels of the encoded block are not used in the comparison, the quality of the forecast block obtained by matching the patterns is almost always worse than the quality of the forecast block obtained when matching the blocks. And the smaller the actual correlation between the motion vector of the encoded block and the motion vector of the encoded block template, the more this drawback will manifest itself. Thus, the MSI obtained using TM may not be suitable for the encoded block, which implies an increase in the amplitude of the residues.

Другой известный из уровня техники способ уменьшения объема MSI заключается в использовании специфических особенностей MVD видео [15]: корреляция движения в видеопоследовательностях смежных ракурсов. В этом способе в качестве MSI кодируемого блока используют MSI из видеопоследовательности соседнего ракурса. Для идентификации этой MSI в соседнем ракурсе используют вектор диспарантности. Однако вычисление вектора диспарантности, а также его эффективное кодирование также представляет собой проблему. Кроме того, в видеопоследовательностях смежных ракурсов имеются существенные геометрические различия, поэтому MSI одного ракурса может не точно соответствовать MSI другого ракурса, что приводит к формированию ухудшенного блока-прогноза и росту амплитуд остатков.Another known method of reducing the volume of MSI from the prior art is to use the specific features of MVD video [15]: motion correlation in video sequences of adjacent angles. In this method, the MSI from the adjacent sequence video sequence is used as the MSI of the encoded block. In an adjacent perspective, a disparity vector is used to identify this MSI. However, the calculation of the disparity vector, as well as its efficient coding, is also a problem. In addition, there are significant geometric differences in the video sequences of adjacent views, so the MSI of one angle may not exactly match the MSI of another angle, which leads to the formation of a deteriorated prediction block and an increase in the amplitudes of the residuals.

Наиболее близкими признаками с заявляемым изобретением обладает способ, описанный в публикации [5]: "Улучшенное прогнозирование синтезированного ракурса на основе выведения движения на стороне декодера для кодирования многоракурсного видео". Способ формирования кадра-прогноза по [5] включает следующие шаги:The closest features with the claimed invention has the method described in publication [5]: "Improved forecasting of the synthesized angle based on the derivation of motion on the side of the decoder for encoding multi-angle video." The method for generating a prediction frame according to [5] includes the following steps:

- генерируют синтезированные кадры для кодируемого кадра и для опорного кадра кодируемой видеопоследовательности с помощью восстановленных кадров видеопоследовательности смежного ракурса и карт глубин;- generate synthesized frames for the encoded frame and for the reference frame of the encoded video sequence using the reconstructed frames of the adjacent sequence video sequence and depth maps;

- все сгенерированные синтезированные кадры обрабатываются низкочастотным фильтром, чтобы повысить надежность оценки векторов движения;- all generated synthesized frames are processed by a low-pass filter to increase the reliability of motion vector estimation;

- применяют алгоритм сопоставления блоков для оценки векторов движения каждого блока в синтезированных кадрах;- apply the block matching algorithm to evaluate the motion vectors of each block in the synthesized frames;

- к найденным векторам движения применяют медианный взвешивающий фильтр, чтобы увеличить пространственную когерентность векторов движения;- a median weighting filter is applied to the found motion vectors to increase the spatial coherence of the motion vectors;

- выполняют прогнозирование кодируемого кадра с помощью отфильтрованных векторов движения, используя для прогнозирования опорный кадр из кодируемой видеопоследовательности текущего ракурса.- perform prediction of the encoded frame using the filtered motion vectors, using for prediction the reference frame from the encoded video sequence of the current angle.

Недостатки прототипа состоят в следующем. В синтезированных кадрах присутствуют искажения в виде локальных и глобальных сдвигов, которые появляются вследствие использования изначально неверных или искажённых сжатием с потерями карт глубин. Эти искажения ведут к ухудшению качества оценки векторов движения в синтезированных кадрах. Искажения синтезированных кадров и векторов частично устраняются в прототипе с помощью низкочастотного фильтра и фильтрации векторов. Но эти дополнительные меры и сами по себе вносят дополнительные искажения в найденные вектора движения. Блоки-прогнозы, полученные с помощью таких векторов движения, дают во многих случаях высокоамплитудные остатки, что увеличивает битовую скорость потока (ухудшает эффективность кодирования).The disadvantages of the prototype are as follows. In the synthesized frames, there are distortions in the form of local and global shifts, which appear due to the use of initially incorrect or distorted compression with loss of depth maps. These distortions lead to a deterioration in the quality of the estimation of motion vectors in the synthesized frames. The distortions of the synthesized frames and vectors are partially eliminated in the prototype using a low-pass filter and vector filtering. But these additional measures in themselves introduce additional distortions into the found motion vectors. Prediction blocks obtained using such motion vectors give in many cases high-amplitude residues, which increases the bit rate of the stream (worsens the encoding efficiency).

Задача, на решение которой направлено заявляемое изобретение, заключается в разработке более эффективного способа снижения битовой скорости MSI в MVD видео.The problem to which the invention is directed, is to develop a more efficient way to reduce the bit rate of MSI in MVD video.

Технический результат достигается за счет разработки усовершенствованного способа получения такой MSI, что, с одной стороны, она может быть получена на стороне кодера и на стороне декодера идентичным образом без передачи её в виде элементов битового потока; с другой стороны, блок-прогноз, полученный с помощью такой MSI, является достаточно близким к кодируемому блоку, поэтому остатки разностного блока имеют низкую амплитуду и могут быть эффективно сжаты. При этом заявляется способ межкадрового прогнозирования для кодирования многоракурсной видеопоследовательности, в котором кодируемый кадр из видеопоследовательности кодируемого ракурса представляют как набор блоков, определяют, по меньшей мере, один восстановленный кадр из видеопоследовательности кодируемого ракурса, обозначаемый как опорный кадр, генерируют синтезированные кадры, соответствующие кодируемому кадру и каждому из опорных кадров, используя восстановленные карты глубин и восстановленные кадры видеопоследовательности из, по меньшей мере, одного другого ракурса, отличающийся тем, что дополнительно выполняют следующие операции:The technical result is achieved by developing an improved method for producing such an MSI that, on the one hand, it can be obtained on the encoder side and on the decoder side in an identical manner without transmitting it in the form of bitstream elements; on the other hand, the prediction block obtained using such an MSI is quite close to the block being encoded, so the residual difference block has a low amplitude and can be effectively compressed. At the same time, a method is proposed for inter-frame prediction for encoding a multi-angle video sequence in which the encoded frame from the video sequence of the encoded angle is represented as a set of blocks, at least one reconstructed frame from the video sequence of the encoded angle, designated as a reference frame is determined, synthesized frames corresponding to the encoded frame are generated and to each of the reference frames, using the reconstructed depth maps and reconstructed frames of the video sequence and from at least one other angle, characterized in that it further performs the following operations:

- определяют в синтезированном кодируемом кадре синтезированный текущий блок, который соответствует кодируемому блоку;- determine in the synthesized encoded frame the synthesized current block, which corresponds to the encoded block;

- получают, по меньшей мере, один вектор движения для синтезированного текущего блока с помощью синтезированных опорных кадров, полученный вектор движения далее обозначается как «синтезированный вектор движения»;- get at least one motion vector for the synthesized current block using the synthesized reference frames, the resulting motion vector is hereinafter referred to as "synthesized motion vector";

- выводят, по меньшей мере, один вектор движения для кодируемого блока с использованием метода сопоставления шаблонов, с использованием шаблона кодируемого блока, с использованием опорных кадров и с использованием полученного синтезированного вектора движения, выведенный вектор движения далее обозначается как «уточненный вектор движения»;- deriving at least one motion vector for the encoded block using the pattern matching method, using the encoded block template, using reference frames, and using the obtained synthesized motion vector, the derived motion vector is hereinafter referred to as an “updated motion vector”;

- вычисляют блок-прогноз для кодируемого блока с использованием уточненных векторов движения.- calculate the prediction block for the encoded block using the specified motion vectors.

Предположим, что кадр видеопоследовательности одного ракурса кодируется блок за блоком. Обозначим этот кадр как кодируемый кадр, а ракурс как кодируемый ракурс. Кроме того, имеется, по меньшей мере, один восстановленный кадр видеопоследовательности кодируемого ракурса; такой кадр(ы) обозначается как опорный кадр(ы). Предположим, что имеется, по меньшей мере, одна восстановленная видеопоследовательность соседнего ракурса и восстановленная карта глубины. Тогда возникает возможность сгенерировать с помощью заранее известной процедуры синтеза синтезированную видеопоследовательность для кодируемого ракурса и получить из неё синтезированные кадры, соответствующие опорным кадрам и кодируемому кадру. Синтезированный кадр, который соответствует кодируемому кадру, обозначим как синтезированный кодируемый кадр. Синтезированные кадры, соответствующие опорным кадрам, обозначим как синтезированные опорные кадры. Главная цель заявляемого способа состоит в формировании для каждого кодируемого блока кодируемого кадра наиболее близкого блока-прогноза так, чтобы появилась возможность осуществить такое же прогнозирование на стороне декодера без передачи в потоке служебной информации о том, как это прогнозирование формировалось (пример: индексы опорных кадров, векторы движения и т.д).Suppose that a frame of a video sequence of one angle is encoded block by block. Denote this frame as the encoded frame, and the view as the encoded view. In addition, there is at least one reconstructed frame of the video sequence of the encoded view; such frame (s) are referred to as reference frame (s). Suppose that there is at least one reconstructed video sequence of an adjacent angle and a reconstructed depth map. Then it becomes possible to generate a synthesized video sequence for the encoded view using the previously known synthesis procedure and obtain synthesized frames from it that correspond to reference frames and the encoded frame. A synthesized frame that corresponds to an encoded frame is denoted as a synthesized encoded frame. The synthesized frames corresponding to the reference frames are denoted as synthesized reference frames. The main objective of the proposed method is to generate for each coded block of the encoded frame the closest prediction block so that it becomes possible to carry out the same prediction on the decoder side without transmitting overhead information about how this prediction was formed in the stream (example: reference frame indices, motion vectors, etc.).

Формирование блока-прогноза производится с использованием выведенной информации о движении. Процесс выведения векторов движения начинается с получения синтезированного вектора движения для синтезированного текущего блока. Поскольку информация о движении, относящаяся к синтезированному текущему блоку, будет применяться к кодируемому блоку, то важно найти такую информацию о движении, которая будет применима для кодируемого блока (т.е. сформированный на её основе блок-прогноз позволит получить малые остатки). Поэтому синтезированный текущий блок должен быть похож на кодируемый блок с точки зрения оценки вектора движения.The forecast block is generated using the derived traffic information. The process of deriving motion vectors begins with obtaining a synthesized motion vector for the synthesized current block. Since the motion information related to the synthesized current block will be applied to the block being encoded, it is important to find such motion information that will be applicable to the block being encoded (i.e., the forecast block formed on its basis will allow obtaining small residuals). Therefore, the synthesized current block should be similar to the encoded block in terms of estimating the motion vector.

Синтезированные векторы движения являются прогнозами для векторов движения кодируемого блока. Но они могут быть неточными из-за локальных и глобальных смещений в существующих синтезированных кадрах. Поэтому синтезированные векторы движения полезно уточнять с помощью группы восстановленных пикселей, расположенных вблизи кодируемого блока (такая группа восстановленных пикселей вблизи блока далее упоминается как «шаблон»).The synthesized motion vectors are predictions for the motion vectors of the encoded block. But they may be inaccurate due to local and global biases in existing synthesized frames. Therefore, it is useful to refine the synthesized motion vectors with the help of a group of reconstructed pixels located near the block being encoded (such a group of reconstructed pixels near the block is hereinafter referred to as a “pattern”).

Имеет смысл определять синтезированный текущий блок в синтезированном кодируемом кадре таким образом, чтобы размеры синтезированного текущего блока были не меньше, чем размеры кодируемого блока, а его координаты определялись как одно из следующих:It makes sense to determine the synthesized current block in the synthesized encoded frame so that the dimensions of the synthesized current block are not less than the sizes of the encoded block, and its coordinates are defined as one of the following:

- координаты центра синтезированного текущего блока совпадают с координатами центра кодируемого блока;- the coordinates of the center of the synthesized current block coincide with the coordinates of the center of the encoded block;

- координаты синтезированного текущего блока определяются вектором смещения, который передается в декодер в потоке;- the coordinates of the synthesized current block are determined by the displacement vector, which is transmitted to the decoder in the stream;

- координаты синтезированного текущего блока определяются вектором смещения, который получен с помощью метода сопоставления шаблонов, и этот вектор смещения не передаётся в декодер в потоке.- the coordinates of the synthesized current block are determined by the offset vector, which is obtained using the pattern matching method, and this offset vector is not transmitted to the decoder in the stream.

Для более надежной оценки движения размеры синтезированного текущего блока могут отличаться от размеров кодируемого блока. Использование сравнительно небольшого блока часто приводит к некорректной оценке движения. Поэтому используют синтезированный текущий блок с размерами, большими, чем размеры кодируемого блока.For a more reliable motion estimation, the dimensions of the synthesized current block may differ from the sizes of the encoded block. The use of a relatively small block often leads to incorrect motion estimation. Therefore, a synthesized current block is used with sizes larger than the sizes of the encoded block.

При выведении векторов движения для кодируемого блока представляется целесообразным определять уточненный вектор движения в окрестности координат, на которые указывает синтезированный вектор движения в соответствующем опорном кадре, с помощью метода сопоставления шаблонов.When deriving motion vectors for the encoded block, it seems appropriate to determine the updated motion vector in the vicinity of the coordinates indicated by the synthesized motion vector in the corresponding reference frame using the pattern matching method.

При этом недостаток метода сопоставления шаблонов, связанный с обнаружением неточной MSI, частично устраняется благодаря использованию синтезированного вектора, найденного с помощью синтезированного текущего блока, связанного с кодируемым блоком.At the same time, the drawback of the pattern matching method associated with the detection of inaccurate MSI is partially eliminated by using a synthesized vector found using the synthesized current block associated with the encoded block.

Дальнейшее усовершенствование способа выведения векторов движения для кодируемого блока заключается в том, что определение уточненного вектора движения на основе метода сопоставления шаблонов включает в себя следующие этапы:A further improvement in the method of deriving motion vectors for the encoded block is that the determination of the refined motion vector based on the pattern matching method includes the following steps:

- вычисляют функцию сходства для шаблона кодируемого блока и шаблона, который задан уточненным вектором движения;- calculate the similarity function for the pattern of the encoded block and the pattern that is specified by the refined motion vector;

- вычисляют функцию сходства для шаблона кодируемого блока и шаблона, который задан нулевым вектором движения в опорном кадре, на который указывает уточненный вектор движения;- calculate the similarity function for the template of the encoded block and the template that is specified by the zero motion vector in the reference frame, which indicates the refined motion vector;

- обнуляют уточненный вектор движения, если значение функции сходства для нулевого вектора движения меньше, чем значение функции сходства для уточненного вектора движения.- zero out the refined motion vector if the value of the similarity function for the zero motion vector is less than the value of the similarity function for the refined motion vector.

Далее имеет смысл улучшить способ выведения векторов движения для кодируемого блока, вычисляя при поиске уточненного вектора движения методом сопоставления шаблонов функцию сходства как норму градиентов GradNorm для шаблона кодируемого блока и шаблона, на который указывает оцениваемый вектор движения, который является одним из вариантов выбора уточненного вектора движения:Further, it makes sense to improve the method of deriving motion vectors for the encoded block by calculating the similarity function as the norm of gradients GradNorm for the encoded block template and the pattern indicated by the estimated motion vector, which is one of the options for selecting the refined motion vector, when searching for a refined motion vector by template matching. :

Figure 00000001
Figure 00000001

Figure 00000002
Figure 00000002

Figure 00000003
Figure 00000003

Figure 00000004
Figure 00000004

Figure 00000005
Figure 00000005

m'=m+rmvx, n'=n+rmvy.m '= m + rmvx, n' = n + rmvy.

где Et(m,n) - значения восстановленных пикселей шаблона кодируемого блока, Rt(m+rmvx, n+rmvy) - значения пикселей шаблона, на который указывает кандидат в уточненный вектор движения (rmvx, rmvy).where Et (m, n) are the values of the restored pixels of the template of the encoded block, Rt (m + rmvx, n + rmvy) are the values of the pixels of the template indicated by the candidate for the specified motion vector (rmvx, rmvy).

Пиксели опорного кадра Rt должны использоваться вместо соответствующих пикселей Et, когда координаты m+1,n или m,n+1 или m+1, n+1 находятся вне шаблона.The pixels of the reference frame Rt should be used instead of the corresponding pixels Et when the coordinates m + 1, n or m, n + 1 or m + 1, n + 1 are outside the template.

В некоторых случаях бывает целесообразным осуществить вывод нескольких векторов движения для кодируемого блока, что создает возможность выполнения многонаправленного прогноза (например, двунаправленное прогнозирование). В таких случаях векторы движения обозначают как гипотезы. Несколько гипотез используют совместно для формирования единого блока-прогноза (такой единый блок-прогноз можно получить, например, с помощью усреднения блоков, на которые указывает каждая из гипотез). Эти совместно используемые гипотезы обозначают как набор гипотез. Получение набора гипотез включает в себя проведение поиска двух или более уточненных векторов движения, которые и образуют набор. Поиск проводят методом сопоставления шаблонов в окрестности координат, на которые указывают ранее найденные уточненные векторы движения или синтезированные векторы движения в соответствующих опорных кадрах.In some cases, it may be advisable to output several motion vectors for the encoded block, which makes it possible to perform multidirectional prediction (for example, bidirectional prediction). In such cases, motion vectors are referred to as hypotheses. Several hypotheses are used together to form a single forecast block (such a single forecast block can be obtained, for example, by averaging the blocks that each of the hypotheses points to). These shared hypotheses are referred to as a set of hypotheses. Obtaining a set of hypotheses involves the search for two or more specified motion vectors, which form a set. The search is carried out by comparing patterns in the vicinity of the coordinates indicated by the previously found refined motion vectors or synthesized motion vectors in the corresponding reference frames.

Имеет смысл определять наилучший набор гипотез среди всех возможных наборов (наборов-кандидатов) методом сопоставления шаблонов со следующим способом использования критерия минимизации:It makes sense to determine the best set of hypotheses among all possible sets (sets of candidates) by matching patterns with the following method of using the minimization criterion:

- осуществляют формирование опорного шаблона; при этом вычисляют опорный шаблон, используя те шаблоны, на которые указывают гипотезы набора-кандидата, причем для формирования опорного шаблона вычисляют значение каждого пикселя опорного шаблона путем усреднения соответствующих ему пикселей шаблонов, на которые указывают гипотезы набора-кандидата;- carry out the formation of the reference template; in this case, the reference pattern is calculated using those patterns that are indicated by the hypotheses of the candidate set, and for the formation of the reference pattern, the value of each pixel of the reference pattern is calculated by averaging the corresponding pixels of the patterns indicated by the hypotheses of the set of candidates;

- вычисляют критерий минимизации между опорным шаблоном и шаблоном кодируемого блока, при этом вычисленный критерий минимизации используют для определения наилучшего набора гипотез среди всех наборов-кандидатов.- calculate the minimization criterion between the reference template and the template of the encoded block, while the calculated minimization criterion is used to determine the best set of hypotheses among all sets of candidates.

Представляется целесообразным использование способа многонаправленного прогноза, при котором вычисление блока-прогноза включает в себя следующие этапы:It seems appropriate to use the method of multidirectional forecasting, in which the calculation of the forecast block includes the following steps:

- вычисляют весовой коэффициент для каждого блока-прогноза, на который указывает соответствующая гипотеза из набора гипотез, в виде функции от функции сходства (Norm) шаблона кодируемого блока и шаблона, на который указывает гипотеза (например: весовой коэффициент: W=exp(-C·Norm), где C - предопределенная константа больше 0);- calculate the weight coefficient for each prediction block indicated by the corresponding hypothesis from the set of hypotheses, as a function of the similarity function (Norm) of the template of the encoded block and the template pointed to by the hypothesis (for example: weight coefficient: W = exp (-C · Norm), where C is a predefined constant greater than 0);

- вычисляют многонаправленный прогноз на основе использования блоков-прогнозов, на которые указывают соответствующие гипотезы, и с использованием вычисленных весовых коэффициентов.- calculate the multidirectional forecast based on the use of forecast blocks, which are indicated by the corresponding hypotheses, and using the calculated weighting coefficients.

С целью дальнейшего улучшения имеет смысл выполнять многонаправленный прогноз, в котором одна из гипотез указывает в синтезированный кодируемый кадр, таким образом, что вычисление весовых коэффициентов блока-прогноза, на который указывает эта гипотеза, включает в себя следующие этапы:For the purpose of further improvement, it makes sense to perform a multidirectional forecast, in which one of the hypotheses points to the synthesized encoded frame, so that the calculation of the weight coefficients of the forecast block indicated by this hypothesis includes the following steps:

- вычисляют весовой коэффициент как функцию от функции сходства для блока-прогноза, на который указывает гипотеза, указывающая на синтезированный закодированный кадр. Функцию сходства вычисляют для шаблона кодируемого блока и шаблона, на который указывает данная гипотеза. Перед вычислением функции сходства в каждом из шаблонов из значения каждого пикселя производится вычитание среднего уровня всех значений пикселей по шаблону. Например, когда функция сходства представляет собой сумму модулей разностей, вычисления проводятся следующим образом:- calculate the weight coefficient as a function of the similarity function for the prediction block, which is indicated by a hypothesis indicating a synthesized encoded frame. The similarity function is calculated for the template of the encoded block and the template indicated by this hypothesis. Before calculating the similarity function in each of the patterns, the average level of all the pixel values in the pattern is subtracted from the value of each pixel. For example, when the similarity function is the sum of the moduli of differences, the calculations are performed as follows:

Figure 00000006
Figure 00000006

Figure 00000007
Figure 00000007

Figure 00000008
Figure 00000008

где Et(m,n) - значения восстановленных пикселей шаблона кодируемого блока, Rt(m,n) - значения восстановленных пикселей шаблона, на который указывает гипотеза, |Template| - означает число пикселей в шаблоне, template - пиксели, принадлежащие области шаблона.where Et (m, n) are the values of the restored pixels of the template of the encoded block, Rt (m, n) are the values of the restored pixels of the template indicated by the hypothesis, | Template | - means the number of pixels in the template, template - pixels belonging to the template area.

И при этом вычисление многонаправленного прогноза с использованием блока-прогноза, на который указывает гипотеза, указывающая на синтезированный кодируемый кадр, включает в себя выполнение следующих операций:And at the same time, the calculation of a multidirectional forecast using a forecast block, which is indicated by a hypothesis indicating a synthesized encoded frame, includes the following operations:

- корректируют яркость и контрастность блока-прогноза, на который указывает гипотеза, указывающая на синтезированный закодированный кадр.- adjust the brightness and contrast of the prediction block, which is indicated by a hypothesis indicating a synthesized encoded frame.

- вычисляют многонаправленный прогноз с использованием скорректированного блока-прогноза и вычисленного весового коэффициента для скорректированного блока-прогноза.- calculate the multidirectional forecast using the adjusted forecast block and the calculated weight coefficient for the adjusted forecast block.

Далее существо изобретения поясняется с привлечением графических материалов.Further, the invention is illustrated with the use of graphic materials.

Фиг.1 - Структурная схема гибридного кодера многоракурсных видеопоследовательностей.Figure 1 - Block diagram of a hybrid encoder multi-angle video sequences.

Фиг.2 - Схема части гибридного видеокодера многоракурсных видеопоследовательностей, в которой заявляемый способ реализуется в рамках блоков оценки служебной информации и формирования прогноза.Figure 2 - Scheme of a part of a hybrid video encoder multi-angle video sequences, in which the inventive method is implemented as part of the blocks for evaluating service information and generating a forecast.

Фиг.3 - Поиск синтезированного вектора движения.Figure 3 - Search for a synthesized motion vector.

Фиг.4 - Основной принцип формирования шаблона.Figure 4 - The basic principle of the formation of the template.

Фиг.5 - Процесс уточнения синтезированного вектора движения с помощью шаблона.Figure 5 - The process of refining the synthesized motion vector using the template.

Фиг.6 - Процедура осуществления выбора между нулевым вектором движения и уточненным вектором движения.6 - Procedure for making a choice between the zero motion vector and the refined motion vector.

Фиг.7 - Определение весовых коэффициентов для вычисления суммы взвешенных модулей разности.7 - Determination of weights for calculating the sum of the weighted difference modules.

Фиг.8 - Оценка двунаправленного вектора движения.Fig. 8 is an Estimation of a bidirectional motion vector.

Фиг.9 - Поиск смещения в синтезированном кодируемом кадре.Figure 9 - Search offset in the synthesized encoded frame.

Описанные далее варианты реализации приведены в качестве иллюстрации и не ограничивают объем охраны заявляемого изобретения, определенный формулой изобретения.The implementation options described below are illustrative and do not limit the scope of protection of the claimed invention as defined by the claims.

Фиг.1 - структурная схема гибридного кодера многоракурсных видеопоследовательностей. Входные данные для гибридного кодера 105 многоракурсного видео включают видеопоследовательность 101 кодируемого ракурса и восстановленные видеопоследовательности 102 уже закодированных ракурсов, которые являются частью многоракурсного видео. Восстановленные видеопоследовательности 102 и восстановленные карты 103 глубины используют для формирования синтезированной видеопоследовательности 104 кодируемого ракурса посредством процедуры синтеза ракурсов. Сгенерированная синтезированная видеопоследовательность также является частью входных данных для гибридного кодера 105 многоракурсного видео.Figure 1 is a structural diagram of a hybrid encoder multi-angle video sequences. Input for the hybrid multi-angle video encoder 105 includes a video sequence 101 of the encoded angle and the restored video sequences 102 of the already encoded angles that are part of the multi-angle video. The reconstructed video sequences 102 and the reconstructed depth maps 103 are used to form the synthesized video sequence 104 of the encoded angle using the angle synthesis procedure. The generated synthesized video sequence is also part of the input to the hybrid multi-angle video encoder 105.

Гибридный кодер 105 многоракурсного видео включает в себя следующие блоки, используемые для кодирования видеопоследовательности кодируемого ракурса: блок 106 управления опорными кадрами, блок 107 межкадрового прогнозирования, блок 108 внутрикадрового прогнозирования, блок 109 формирования прогноза и остатков, блок 110 пространственного преобразования, блок 111 оптимизации соотношения скорость/искажения и блок 112 энтропийного кодирования. Более детальная информация об упомянутых инструментах приведена в [6]. Предложенный способ может быть реализован в рамках блока 107 межкадрового прогнозирования.The multi-angle hybrid video encoder 105 includes the following blocks used to encode the video sequence of the encoded angle: reference frame control unit 106, inter-frame prediction unit 107, intra-frame prediction unit 108, prediction and residual generation unit 109, spatial transform unit 110, ratio conversion optimization unit 111 speed / distortion and entropy encoding unit 112. More detailed information on the mentioned tools is given in [6]. The proposed method can be implemented within the block 107 inter-frame prediction.

Фиг.2 - схема части гибридного видеокодера многоракурсных видеопоследовательностей, в которой реализуется заявляемый способ. Схема включает в себя блок 201 формирования остатков, блок 202 преобразования и квантования, блок 203 энтропийного кодирования, блок 204 обратного преобразования и обратного квантования, блок 205 формирования прогноза, блок 206 синтеза кадра, блок 207 компенсации, блок 208 буфера опорных кадров, блок 209 оценки служебной информации и блок 210 фильтра в цепи обратной связи кодера. Блоки 201-204, 207 и 210 являются стандартными блоками кодирования, которые используются в известном способе [6] гибридного кодирования.Figure 2 is a diagram of a portion of a hybrid video encoder multi-angle video sequences in which the inventive method is implemented. The circuit includes a residual generation unit 201, a transform and quantization unit 202, an entropy encoding unit 203, an inverse transform and inverse quantization unit 204, a prediction generation unit 205, a frame synthesis unit 206, a compensation unit 207, a reference frame buffer unit 208, a reference frame buffer 208, a block 209 evaluation of service information and the filter unit 210 in the encoder feedback loop. Blocks 201-204, 207, and 210 are standard coding blocks that are used in the known hybrid coding method [6].

Блок 206 синтеза кадра является специфическим для сценария многоракурсного кодирования. Блок 206 синтезирует дополнительные синтезированные кадры для кодируемого ракурса из восстановленных кадров других уже закодированных ракурсов и карт глубин. Блок 208 является расширенным буфером опорных кадров, а именно к стандартному буферу опорных кадров (см. [6]) добавлены: функция хранения восстановленных карт глубин и дополнительных синтезированных опорных кадров.Block 206 synthesis frame is specific to the multi-angle coding scenario. Block 206 synthesizes additional synthesized frames for the encoded view from the reconstructed frames of other already encoded views and depth maps. Block 208 is an extended buffer of reference frames, namely, to the standard buffer of reference frames (see [6]), the following functions were added: the function of storing restored depth maps and additional synthesized reference frames.

Стандартный блок оценки движения и стандартный блок компенсации движения представляют собой основу для блоков 205 и 209 [6]. Заявляемый способ может быть реализован в рамках блоков 205 и 209. Блок 209 разделен на два подблока. Подблок 209.1 генерирует служебную информацию, передаваемую в декодер в виде элементов битового потока. Подблок 209.2 формирует служебную информацию, которая может быть сгенерирована на стороне декодера без ее передачи в сжатом потоке. Заявляемый способ включен в подблок 209.2.The standard motion estimation block and the standard motion compensation block form the basis for blocks 205 and 209 [6]. The inventive method can be implemented within blocks 205 and 209. Block 209 is divided into two subunits. Subunit 209.1 generates overhead information transmitted to the decoder as bitstream elements. Subunit 209.2 generates overhead information that can be generated on the side of the decoder without transmitting it in a compressed stream. The inventive method is included in subunit 209.2.

Вектора движения и индексы опорных кадров, в которые указывают эти вектора, являются основной частью служебной информации кодируемого блока. В [1] сначала производится оценка вектора движения путем сопоставления пикселей кодируемого блока и пикселей блоков области поиска блока-прогноза. Спрогнозированный вектор движения представляют как сумму прогноза вектора движения (этот прогноз представляет собой выведенную служебную информацию, не передаваемую в потоке) и поправки к прогнозу вектора движения (эта поправка передаётся в потоке и представляет собой передаваемую в потоке служебную информацию). Такое представление используется для эффективного кодирования вектора движения. Прогноз вектора движения рассчитывают (выводят) с помощью векторов движения из ранее закодированных блоков.The motion vectors and indices of the reference frames to which these vectors indicate are the main part of the service information of the encoded block. In [1], the motion vector is first estimated by comparing the pixels of the encoded block and the pixels of the blocks of the search region of the prediction block. The predicted motion vector is presented as the sum of the motion vector forecast (this forecast is the derived overhead information not transmitted in the stream) and the correction to the motion vector forecast (this correction is transmitted in the stream and represents the overhead information transmitted in the stream). This representation is used to efficiently encode a motion vector. The motion vector prediction is calculated (derived) using motion vectors from previously encoded blocks.

В заявляемом способе предлагается не передавать в потоке поправку к прогнозу вектора движения, а выведение прогноза вектора движения и индекса опорного кадра осуществлять с помощью синтезированных опорных кадров, опорных кадров из видеопоследовательности кодируемого ракурса и восстановленных (уже закодированных и декодированных) пикселей области в окрестности кодируемого блока. Таким образом, для выведения вектора движения и индекса опорного кадра для кодируемого блока используется только восстановленная информация, идентичная той, что есть и на стороне декодера. Следовательно, та же процедура выведения вектора движения и индекса опорного кадра может быть выполнена на стороне декодера идентичным образом с идентичным результатом. Поэтому не требуется передача дополнительной служебной информации о движении в потоке (такой как поправка к прогнозу вектора движения или индекс опорного кадра).The inventive method proposes not to transmit the correction to the motion vector prediction in the stream, but to derive the motion vector prediction and the reference frame index using synthesized reference frames, reference frames from the video sequence of the encoded angle and restored (already encoded and decoded) pixels of the region in the vicinity of the encoded block . Thus, to derive the motion vector and the index of the reference frame for the encoded block, only the reconstructed information is used, identical to that on the decoder side. Therefore, the same procedure for deriving the motion vector and the index of the reference frame can be performed on the decoder side in an identical manner with the same result. Therefore, the transmission of additional overhead information about the motion in the stream (such as an amendment to the motion vector prediction or reference frame index) is not required.

Основной этап заявляемого способа - это поиск вектора движения и индекса опорного кадра для кодируемого блока. Результатом выполнения этого этапа является выбор опорного кадра (индекс опорного кадра) и блока в этом опорном кадре (вектор движения указывает на этот блок), который является блоком-прогнозом для кодируемого блока.The main stage of the proposed method is the search for the motion vector and index of the reference frame for the encoded block. The result of this step is the selection of the reference frame (index of the reference frame) and the block in this reference frame (the motion vector points to this block), which is the prediction block for the encoded block.

На Фиг.3 показано, что для каждого кодируемого блока 305 в кодируемом кадре 301 выполняют следующие этапы, исходя из того, что размер кодируемого блока определен как M×N (например: 4×4); и координаты кодируемого блока (его левого верхнего угла) в кодируемом кадре обозначены как (i,j).Figure 3 shows that for each encoded block 305 in the encoded frame 301, the following steps are performed based on the fact that the size of the encoded block is defined as M × N (for example: 4 × 4); and the coordinates of the encoded block (its upper left corner) in the encoded frame are indicated as (i, j).

Этап 1. В синтезированном кодируемом кадре 302 выбирают синтезированный текущий блок 306. Размер синтезированного текущего блока определяется как (M+2·OSx)×(N+2·OSy) (например: 8×8). Координаты синтезированного текущего блока в синтезированном кодируемом кадре определяются как (i-OSx, j-OSy). Выполняют поиск синтезированного вектора 310 движения (VMV) для синтезированного текущего блока в синтезированном опорном кадре 303, который соответствует опорному кадру 304 видеопоследовательности кодируемого ракурса. Поиск производится в ограниченной опорной зоне 309 методом полного перебора. Сначала производится поиск наилучшей позиции с целочисленными координатами, а затем производится поиск позиции с четвертьпиксельными координатами вокруг наилучшей позиции с целочисленными координатами. Поиск производится методом сопоставления блоков. Сопоставляются синтезированный текущий блок и каждый из блоков в опорной зоне синтезированного опорного кадра.Step 1. In the synthesized encoded frame 302, the synthesized current block 306 is selected. The size of the synthesized current block is determined as (M + 2 · OSx) × (N + 2 · OSy) (for example: 8 × 8). The coordinates of the synthesized current block in the synthesized encoded frame are defined as (i-OSx, j-OSy). A synthesized motion vector 310 (VMV) is searched for the synthesized current block in the synthesized reference frame 303, which corresponds to the reference frame 304 of the encoded view video sequence. The search is performed in the restricted reference zone 309 by the exhaustive search. First, a search is made for the best position with integer coordinates, and then a position is searched with quarter-pixel coordinates around the best position with integer coordinates. The search is done by matching blocks. The synthesized current block and each of the blocks in the reference zone of the synthesized reference frame are compared.

Для определения наилучшего сопоставления задаётся критерий минимизации (которым может служить норма или функция сходства сопоставляемых блоков [7]), который вычисляется каждый раз для синтезированного текущего блока и блока-кандидата из опорной зоны. Блок в опорной зоне синтезированного опорного кадра, сопоставление с которым даёт минимум критерия минимизации, признаётся лучшим, а смещение данного блока относительно позиции синтезированного текущего блока и есть синтезированный вектор движения.To determine the best match, a minimization criterion (which can be the norm or the similarity function of the blocks being compared [7]) can be set, which is calculated each time for the synthesized current block and the candidate block from the reference zone. A block in the reference zone of the synthesized reference frame, comparison with which gives a minimum criterion for minimization, is recognized as the best, and the offset of this block relative to the position of the synthesized current block is the synthesized motion vector.

Этап 2. VMV уточняют с помощью метода сопоставления шаблонов. Основной принцип формирования шаблона показан на Фиг.4. Цель использования этого метода состоит в том, чтобы осуществить такое же уточнение в декодере, не используя исходные значения пикселей кодируемого блока. Для этого идентичным образом на стороне кодера и на стороне декодера для кодируемого блока 401 в кодируемом кадре 402 определяют область 403 в виде Г-образного шаблона толщиной ts пикселей, расположенную слева сверху от кодируемого блока. Таким образом, этот шаблон покрывает только часть восстановленной области 404 кодируемого кадра, поскольку декодирование блоков, как и кодирование, выполняется слева направо сверху вниз. На Фиг.5 даны пояснения к тому, как выполняется поиск с помощью метода сопоставления шаблонов. Выбирают шаблон кодируемого блока 501, который имеет координаты (i,j) 502, задающие положение кодируемого блока в кодируемом кадре 508. Поиск наилучшего соответствующего шаблона в опорном кадре 509 выполняют в ограниченной окрестности позиции 503, на которую указывает найденный на этапе 1 синтезированный вектор 504 движения VMV. Наилучшее смещение 506 определяется методом сопоставления шаблонов с помощью критерия минимизации между шаблоном кодируемого блока в кодируемом кадре 508 и шаблонами-кандидатами в опорном кадре 509. Сопоставление проводится таким же образом, как и на этапе 1, с тем отличием, что сопоставляются шаблоны, а не блоки и может быть задан другой критерий минимизации. Поиск наилучшего смещения 506 выполняют в относительно малой области 505 в окрестности позиции 503. Размеры этой области - несколько четвертьпикселей. Смещение 506 добавляется к VMV 504, формируя, таким образом, уточненный вектор движения - (RMV) 507. Этот RMV задаёт координаты (i',j') блока-прогноза для кодируемого блока: (i',j')=(i,j);Step 2. The VMVs are refined using the pattern matching method. The basic principle of template formation is shown in FIG. 4. The purpose of using this method is to carry out the same refinement in the decoder without using the original pixel values of the encoded block. To do this, in the same way on the encoder side and on the decoder side for the encoded block 401 in the encoded frame 402 determine the area 403 in the form of an L-shaped template with a thickness of ts of pixels, located to the left above the encoded block. Thus, this pattern covers only part of the reconstructed region 404 of the encoded frame, since block decoding, like encoding, is performed from left to right from top to bottom. 5, explanations are given on how a search is performed using the pattern matching method. A template of the encoded block 501 is selected, which has coordinates (i, j) 502 defining the position of the encoded block in the encoded frame 508. The best matching template in the reference frame 509 is searched in a limited neighborhood of position 503, which is indicated by the synthesized vector 504 found in step 1 VMV traffic. The best offset 506 is determined by the pattern matching method using the minimization criterion between the pattern of the encoded block in the encoded frame 508 and the candidate patterns in the reference frame 509. The comparison is performed in the same manner as in step 1, with the difference that the patterns are compared, not blocks and another minimization criterion can be set. The search for the best offset 506 is performed in a relatively small region 505 in the vicinity of position 503. The dimensions of this region are several quarter pixels. The offset 506 is added to VMV 504, thus forming the updated motion vector - (RMV) 507. This RMV sets the coordinates (i ', j') of the prediction block for the encoded block: (i ', j') = (i, j);

Во многих реальных видеопоследовательностях присутствует множество неподвижных объектов с нулевыми векторами движения, такие как здания (если камера неподвижна). Кроме того, нулевой вектор движения часто представляет собой более близкий прогноз, чем найденный синтезированный вектор движения. Например, когда в синтезированных кадрах присутствуют ошибочные локальные смещения. Поэтому нулевой вектор движения (ZMV) имеет смысл дополнительно рассматривать в качестве альтернативного прогноза вектора движения. Третий этап используется в одной из реализаций заявляемого способа.Many real-world video sequences contain many fixed objects with zero motion vectors, such as buildings (if the camera is stationary). In addition, the zero motion vector often represents a closer forecast than the synthesized motion vector found. For example, when erroneous local offsets are present in the synthesized frames. Therefore, the zero motion vector (ZMV) makes sense to additionally be considered as an alternative forecast of the motion vector. The third stage is used in one of the implementations of the proposed method.

Этап 3. Для выбора между RMV и ZMV используют методику, также основанную методе сопоставления шаблонов. Более детально это показано на Фиг. 6. Для этого вычисляют значение функции сходства между шаблоном кодируемого блока 601 в кодируемом кадре и шаблоном 602, на который указывает RMV 604 в опорном кадре. Затем вычисляют значение функции сходства между шаблоном кодируемого блока 601 и шаблоном 603, который задаётся координатами (i,j) в опорном кадре, что соответствует применению ZMV 605. ZMV выбирается в качестве окончательного вектора движения (FMV) для кодируемого блока, когда значение функции сходства для шаблона RMV меньше значения функции сходства для шаблона ZMV. RMV выбирается в качестве FMV в противном случае.Step 3. To choose between RMV and ZMV, use a technique also based on the pattern matching method. This is shown in more detail in FIG. 6. To do this, calculate the value of the similarity function between the template of the encoded block 601 in the encoded frame and the template 602, which indicates RMV 604 in the reference frame. Then, the value of the similarity function between the template of the encoded block 601 and the template 603, which is given by the coordinates (i, j) in the reference frame, which corresponds to the application of ZMV 605, is calculated. ZMV is selected as the final motion vector (FMV) for the encoded block when the value of the similarity function for RMV template, the similarity function value is lower for ZMV template. RMV is selected as FMV otherwise.

FMV (или RMV, если этап 3 не выполнялся) используется для формирования блока-прогноза традиционным способом [6].FMV (or RMV, if stage 3 was not performed) is used to form a forecast block in the traditional way [6].

Различные критерии минимизации (функции сходства) могут использоваться в каждом этапе. Для первого этапа, когда выполняют поиск VMV, рекомендуется использование критериев минимизации, которые используются для поиска естественного движения и для зашумлённых изображений [7]. В качестве примера можно использовать сумму модулей разностей (SAD):Different minimization criteria (similarity functions) can be used at each stage. For the first stage, when performing a VMV search, it is recommended to use minimization criteria, which are used to search for natural motion and for noisy images [7]. As an example, you can use the sum of the difference modules (SAD):

Figure 00000009
Figure 00000009

где Es[m,n] - значения пикселей синтезированного текущего блока в синтезированном кодируемом кадре Es, Rs[m+vmvx,n+vmvy] - значения пикселей синтезированного опорного блока в синтезированном опорном кадре Rs, на синтезированный опорный блок указывает кандидат в синтезированные векторы движения [vmvx, vmvy], [m,n] - это координаты пикселя в кадре.where Es [m, n] are the pixel values of the synthesized current block in the synthesized encoded frame Es, Rs [m + vmvx, n + vmvy] are the pixel values of the synthesized reference block in the synthesized reference frame Rs, the candidate for synthesized vectors indicates the synthesized reference block the movements [vmvx, vmvy], [m, n] are the coordinates of the pixel in the frame.

Для второго и третьего этапов, когда используется метод сопоставления шаблонов, рекомендуется применять одну из двух функций сходства:For the second and third stages, when the template matching method is used, it is recommended to use one of two similarity functions:

- Первая представляет собой сумму взвешенных модулей разности WSAD .- The first is the sum of the weighted difference modules of the WSAD.

Figure 00000010
Figure 00000010

где Et[m,n] - значения восстановленных пикселей шаблона в кодируемом кадре Et, Rt[m+rmvx, n+rmvy] - значения пикселей шаблона в опорном кадре Rt, [rmvx, rmvy] - координаты кандидата в уточненные векторы движения или нулевой вектор движения. Весовые коэффициенты w(m,n) определяют для каждого пикселя с координатами [m,n] в шаблоне. Весовой коэффициент равен разности между размером шаблона ts и кратчайшим расстоянием в пикселях от текущего пикселя с координатами [m,n] шаблона 702 до блока 701, которому данный шаблон соответствует (см. пример распределения веса на Фиг. 7, где ts=3).where Et [m, n] are the values of the restored pixels of the template in the encoded frame Et, Rt [m + rmvx, n + rmvy] are the values of the pixels of the template in the reference frame Rt, [rmvx, rmvy] are the coordinates of the candidate for refined motion vectors or zero motion vector. Weights w (m, n) are determined for each pixel with coordinates [m, n] in the template. The weight coefficient is the difference between the size of the template ts and the shortest distance in pixels from the current pixel with the coordinates [m, n] of the template 702 to the block 701 to which this template corresponds (see the example of the weight distribution in Fig. 7, where ts = 3).

- Вторая функция сходства GradNorm использует локальные градиенты:- The second GradNorm affinity function uses local gradients:

Figure 00000011
Figure 00000011

Figure 00000012
Figure 00000012

Figure 00000013
Figure 00000013

Figure 00000014
Figure 00000014

Figure 00000015
Figure 00000015

m'=m+rmvx, n'=n+rmvy.m '= m + rmvx, n' = n + rmvy.

Пиксели опорного кадра Rt следует использовать, когда координаты m+1, n или m, n+1 или m+1, n+1 расположены вне области шаблона.The pixels of the reference frame Rt should be used when the coordinates m + 1, n or m, n + 1 or m + 1, n + 1 are located outside the template area.

Для улучшения результатов работы алгоритма оценки движения [6] используют несколько опорных кадров, а не один. В традиционных схемах кодирования видеопоследовательностей выполняют оценку векторов движения для каждого опорного кадра, и затем выбирают опорный кадр с наилучшим вектором движения (с минимальным критерием минимизации или лучшей функцией сходства).To improve the results of the motion estimation algorithm [6], several reference frames are used, and not one. In traditional video sequence coding schemes, motion vectors are estimated for each reference frame, and then a reference frame with the best motion vector (with the minimum minimization criterion or the best similarity function) is selected.

В случае наличия нескольких опорных кадров, предлагается использовать заявляемый способ следующим образом. Основной этап вышеизложенного способа повторяют для каждого опорного кадра. Затем выбирают тот опорный кадр, на который указывает FMV и который обеспечивает наименьшее значение критерия минимизации.In the case of several reference frames, it is proposed to use the inventive method as follows. The main step of the above method is repeated for each reference frame. Then choose the reference frame, which indicates the FMV and which provides the lowest value of the criterion of minimization.

Оценка двунаправленного движения представляет собой еще одно усовершенствование традиционной схемы кодирования видеопоследовательностей [6]. Эта процедура состоит в использовании в качестве блока-прогноза полусуммы (или взвешенной суммы) двух блоков-прогнозов, на которые указывают два разных вектора движения. Обычно, такие векторы движения указывают на различные опорные кадры.Bidirectional motion estimation is another improvement in the traditional coding scheme for video sequences [6]. This procedure consists in using as a forecast block a half-sum (or a weighted sum) of two forecast blocks, which are indicated by two different motion vectors. Typically, such motion vectors indicate different reference frames.

Предлагается следующий способ оценки двунаправленного вектора движения:The following method for estimating a bidirectional motion vector is proposed:

- Этап 1 выполняют для каждого синтезированного опорного кадра и находят синтезированный вектор движения для каждого из них. Затем этапы 2 и 3 выполняются для каждого опорного кадра для того, чтобы получить FMV. Найденные FMV запоминаются для каждого опорного кадра.- Stage 1 is performed for each synthesized reference frame and find the synthesized motion vector for each of them. Then, steps 2 and 3 are performed for each reference frame in order to obtain FMV. The found FMVs are stored for each reference frame.

Далее осуществляют корректировку каждой пары, FMVr1, FMVr2 из опорных кадров (r1, r2) (см. Фиг. 8):Then, each pair, FMV r1 , FMV r2 from the reference frames (r1, r2) is adjusted (see Fig. 8):

Figure 00000016
Figure 00000016

Figure 00000017
Figure 00000017

где Norm - это критерий минимизации (или функция сходства), например, GradNorm или WSAD; biFMVr1, biFMVr2 - это скорректированный двунаправленный вектор движения; biRt(mvr1, mvr2) - полу-сумма шаблонов из опорного кадра r1 801, и опорного кадра r2 802; Et - это шаблон кодируемого блока 804 в кодируемом кадре 803; Rtr1(mvr1) и Rtr2(mvr2) - шаблоны 805 и 806 из опорного кадра r1 и опорного кадра r2, на которые указывают векторы-кандидаты mvr1, mvr2 807, 808; SAr1, SAr2 - это малые опорные области 809, 810 в опорном кадре r1 и опорном кадре r2 с центрами в координатах, указанных векторами FMVr1, FMVr2 811, 812. Выбирают пару (biFMVr1, biFMVr2) с наилучшим критерием минимизации из всех возможных пар (r1, r2) в качестве окончательного двунаправленного вектора движения biFMV. biFMV используется для компенсации движения обычным образом (см. [6]) путём получения блока-прогноза tPb из опорных кадров.where Norm is the minimization criterion (or similarity function), for example, GradNorm or WSAD; biFMV r1 , biFMV r2 is the adjusted bidirectional motion vector; biRt (mv r1 , mv r2 ) - the half-sum of the patterns from the reference frame r1 801, and the reference frame r2 802; Et is the pattern of the encoded block 804 in the encoded frame 803; Rt r1 (mv r1 ) and Rt r2 (mv r2 ) are patterns 805 and 806 from the reference frame r1 and the reference frame r2, which are indicated by the candidate vectors mv r1 , mv r2 807, 808; SA r1 , SA r2 are the small reference regions 809, 810 in the reference frame r1 and the reference frame r2 with centers in the coordinates indicated by the vectors FMV r1 , FMV r2 811, 812. A pair (biFMV r1 , biFMV r2 ) is selected with the best minimization criterion of all possible pairs (r1, r2) as the final bidirectional motion vector biFMV. biFMV is used to compensate for motion in the usual way (see [6]) by obtaining the tPb prediction block from the reference frames.

Важно, чтобы критерий минимизации для biFMV и критерий минимизации для однонаправленного вектора движения FMV были одинаковыми. Тогда имеется возможность выбрать наилучший вектор движения из biFMV и FMV.It is important that the minimization criterion for biFMV and the minimization criterion for the unidirectional motion vector FMV are the same. Then it is possible to choose the best motion vector from biFMV and FMV.

Вышеупомянутый способ достаточно просто обобщается на случай многонаправленной схемы [8] компенсации движения. Так как векторы движения и индексы опорных кадров не передаются в потоке (следовательно, битовая скорость кодирования не увеличивается), можно найти векторы движения для каждого имеющегося опорного кадра. Более того, появляются широкие возможности использования взвешенных блоков-прогнозов вместо усреднения, которое производится в [8]. Например, можно использовать весовые коэффициенты W=exp(-С·Norm), где C - это предопределенная константа больше 0, a Norm - значение критерия минимизации (функции сходства) для вектора, который указывает на блок-прогноз, найденный с помощью метода сопоставления шаблонов.The above method is quite simply generalized to the case of a multidirectional motion compensation circuit [8]. Since motion vectors and indices of reference frames are not transmitted in the stream (therefore, the coding bit rate does not increase), it is possible to find motion vectors for each available reference frame. Moreover, there are wide possibilities for using weighted forecast blocks instead of averaging, which is performed in [8]. For example, you can use weighting factors W = exp (-С · Norm), where C is a predefined constant greater than 0, and Norm is the value of the minimization criterion (similarity function) for a vector that indicates a block forecast found using the matching method templates.

Сочетание прогноза из опорных кадров и прогноза из синтезированного кодируемого кадра представляет особый интерес.The combination of the prediction from the reference frames and the forecast from the synthesized encoded frame is of particular interest.

Этот подход включает в себя формирование блока-прогноза из синтезированного кодируемого кадра; такой блок-прогноз обозначается как синтезированный блок-прогноз. Часто между кодируемым блоком и соответствующим ему блоком в синтезированном кодируемом кадре присутствует небольшой вектор-смещение Disp. Причина тому - уже упомянутые специфические искажения в синтезированном кодируемом кадре. Чтобы не увеличивать сжатый поток, кодируя этот вектор-смещение, имеет смысл выводить это смещение на стороне кодера и стороне декодера идентичным образом на основе уже восстановленной информации. Для этого также предполагается использовать метод сопоставления шаблонов:This approach includes the formation of a prediction block from a synthesized encoded frame; such a block forecast is referred to as a synthesized block forecast. Often, between the encoded block and the corresponding block in the synthesized encoded frame, there is a small Disp displacement vector. The reason for this is the specific distortions already mentioned in the synthesized encoded frame. In order not to increase the compressed stream by encoding this offset vector, it makes sense to output this offset on the encoder side and the decoder side in the same way based on the information already restored. For this, it is also supposed to use the pattern matching method:

- Сопоставление шаблонов выполняется, как показано на Фиг.9. Шаблон кодируемого блока 901 выбирают около координат [i,j] - 902, которые определяют положение кодируемого блока в кодируемом кадре 906. Шаблоны-кандидаты выбирают в синтезированном кодируемом кадре 907 вокруг координат [i,j] - 903. Наилучший вектор-смещение Disp 904 определяют с помощью критерия минимизации для шаблона кодируемого блока в кодируемом кадре 906 и шаблона в синтезированном кодируемом кадре 907. Определение наилучшего вектора-смещения Disp 904 осуществляют в опорной области 905 с центром с координатами [i,j] - 903. Размеры опорной области 905 составляют несколько четверть-пикселей по каждой оси.- Pattern matching is performed as shown in FIG. 9. The template of the encoded block 901 is chosen near the coordinates [i, j] - 902, which determine the position of the encoded block in the encoded frame 906. Candidate patterns are selected in the synthesized encoded frame 907 around the coordinates [i, j] - 903. The best displacement vector Disp 904 determined using the minimization criterion for the template of the encoded block in the encoded frame 906 and the template in the synthesized encoded frame 907. The best displacement vector Disp 904 is determined in the reference region 905 with the center with coordinates [i, j] - 903. The dimensions of the reference region 905 are t a few quarter-pixels on each axis.

- Синтезированный блок-прогноз sPb формируется с помощью найденного вектора-смещения Disp. Поскольку между видеопоследовательностями разных ракурсов имеются различия, такие как разная яркость или контраст, предлагается корректировать эти различия, используя линейную модель для вычисления скорректированного синтезированного блока-прогноза sPbcorr:- The synthesized block prediction sPb is formed using the found displacement vector Disp. Since there are differences between video sequences from different angles, such as different brightness or contrast, it is proposed to correct these differences using a linear model to calculate the adjusted synthesized prediction block sPb corr :

sPbcorr=α·(sPb-MeanEs)+MeanEtsPb corr = α (sPb-MeanEs) + MeanEt

Для того чтобы получить параметры α, MeanEt, MeanEs, предлагается использовать шаблон кодируемого блока Et[m,n], содержащий восстановленные значения пикселей, и шаблон Es[m+rmvx, n+rmvy] синтезированного блока-прогноза в синтезированном кодируемом кадре:In order to obtain the parameters α, MeanEt, MeanEs, it is proposed to use the template of the encoded block Et [m, n] containing the restored pixel values, and the template Es [m + rmvx, n + rmvy] of the synthesized prediction block in the synthesized encoded frame:

Figure 00000018
Figure 00000018

Figure 00000019
Figure 00000019

Figure 00000020
Figure 00000020

|Template| - количество пикселей в шаблоне.| Template | - the number of pixels in the template.

В некоторых случаях целесообразно применять простую аддитивную модель, когда α=1.In some cases, it is advisable to use a simple additive model when α = 1.

На первом шаге могут использоваться различные критерии минимизации. Предлагается использовать WMRSAD: сумму взвешенных модулей разностей для сигналов с нулевым средним. WMRSAD описывается следующим уравнением:In the first step, various minimization criteria may be used. It is proposed to use WMRSAD: the sum of the weighted difference modules for signals with zero mean. WMRSAD is described by the following equation:

Figure 00000021
Figure 00000021

Весовые коэффициенты w(m,n) вычисляются так же, как это описано в определении WSAD.The weights w (m, n) are calculated as described in the WSAD definition.

В результате имеется скорректированный синтезированный блок-прогноз sPbcorr, полученный из синтезированного кодируемого кадра. Кроме того, можно получить блок-прогноз tPb из опорных кадров с помощью ранее описанного способа. Одна из реализации заявляемого способа предусматривает формирование блок-прогноза для кодируемого блока путём взвешенного суммирования блоков-прогнозов sPbcorr и tPb:As a result, there is a corrected synthesized block prediction sPb corr obtained from the synthesized encoded frame. In addition, it is possible to obtain a block prediction of tPb from the reference frames using the previously described method. One of the implementation of the proposed method involves the formation of a block forecast for the encoded block by weighted summation of the forecast blocks sPb corr and tPb:

Figure 00000022
Figure 00000022

Весовые коэффициенты wt и ws представляют собой значения функции сходства, которые вычисляются с помощью шаблона кодируемого блока и шаблонов, на которые указывали полученные векторы движения и вектор-смещение, указывающие на блоки-прогнозы sPbcorr и tPb соответственно. wt определяется шаблоном, относящимся к sPbcorr, a ws определяется шаблоном, относящимся к tPb.The weighting factors wt and ws are the similarity function values, which are calculated using the encoded block pattern and patterns indicated by the obtained motion vectors and the displacement vector indicating the predicted blocks sPb corr and tPb, respectively. wt is defined by the pattern related to sPb corr , and ws is defined by the pattern related to tPb.

Применение подхода, основанного на заявляемом способе, обеспечивает возможность уменьшения объема служебной информации в области сжатия MVD видео. Заявляемый способ может быть интегрирован в существующие и перспективные системы сжатия, такие как кодеки MVC, HEVC 3D. Заявляемый способ применим в MVC-совместимом режиме для различных схем построения прогноза. Дополнительная вычислительная нагрузка на декодер может быть скомпенсирована вычислительно-быстрыми способами оценки векторов движения. Кроме того, заявляемый способ и, практически, любой вариант его реализации, могут быть объединены с другими способами, применяемыми для дополнительного повышения эффективности сжатия MVD видео.The application of the approach based on the claimed method provides the ability to reduce the amount of overhead information in the field of MVD video compression. The inventive method can be integrated into existing and promising compression systems, such as codecs MVC, HEVC 3D. The inventive method is applicable in MVC-compatible mode for various forecasting schemes. Additional computational load on the decoder can be compensated by computationally fast methods for estimating motion vectors. In addition, the inventive method and, practically, any variant of its implementation, can be combined with other methods used to further increase the efficiency of MVD video compression.

СсылкиReferences

1. ITU-T Rec. H.264. Advanced video coding for generic audiovisual services. 2010.1. ITU-T Rec. H.264. Advanced video coding for generic audiovisual services. 2010.

2. Y. Suzuki, C.S. Boon, and Т. К. Tan. Inter frame coding with template matching averaging. In Proc. IEEE Int. Conf. on Image Processing ICIP '07, San Antonio. TX, USA, Sept. 2007, pp.III-409-III-412.2. Y. Suzuki, C.S. Boon, and T.K. Tan. Inter frame coding with template matching averaging. In Proc. IEEE Int. Conf. on Image Processing ICIP '07, San Antonio. TX, USA, Sept. 2007, pp. III-409-III-412.

3. S.Kamp and M.Wien. Decoder-side motion vector derivation for hybrid video inter coding. Proceedings of the IEEE International Conference on Multimedia and Expo, Singapore, pp.1277-1280 , July 2010.3. S. Kamp and M. Vienna. Decoder-side motion vector derivation for hybrid video inter coding. Proceedings of the IEEE International Conference on Multimedia and Expo, Singapore, pp. 1277-1280, July 2010.

4. H.Yang, Y. Chang, and J.Huo. Fine-granular motion matching for inter-view motion skip mode in multiview video coding. IEEE Trans. Circuits Syst. Video Tech. vol. 19 (№6):887-892, 20094. H. Yang, Y. Chang, and J. Huo. Fine-granular motion matching for inter-view motion skip mode in multiview video coding. IEEE Trans. Circuits Syst. Video Tech. vol. 19 (No. 6): 887-892, 2009

5. S.Shimizu and H.Kimata. Improved view synthesis prediction using decoder-side motion derivation for multiview video coding. Proc. IEEE 3DTV Conference, Tampere, Finland, June 2010.5. S. Shimizu and H. Kimata. Improved view synthesis prediction using decoder-side motion derivation for multiview video coding. Proc. IEEE 3DTV Conference, Tampere, Finland, June 2010.

6. Richardson I.E. The H.264 Advanced Video Compression Standard. Second Edition. 2010.6. Richardson I.E. The H.264 Advanced Video Compression Standard. Second Edition. 2010.

7. F.Tombari, L.Di Stefano, S.Mattoccia and A.Galanti. Performance evaluation of robust matching measures. In: Proc. 3rd International Conference on Computer Vision Theory and Applications (VISAPP 2008), pp.473-478, 2008.7. F. Tombari, L. Di Stefano, S. Mattoccia and A. Galanti. Performance evaluation of robust matching measures. In: Proc. 3rd International Conference on Computer Vision Theory and Applications (VISAPP 2008), pp. 473-478, 2008.

8. S.Kamp, J.Ball'e, and M.Wien. Multihypothesis Prediction using Decoder Side Motion Vector Derivation in Inter Frame Video Coding. In Proc. of SPIE Visual Communications and Image Processing VCIP '09, (San Jose, CA, USA), SPIE, Bellingham, Jan. 2009.8. S. Kamp, J. Ball'e, and M. Wien. Multihypothesis Prediction using Decoder Side Motion Vector Derivation in Inter Frame Video Coding. In Proc. of SPIE Visual Communications and Image Processing VCIP '09, (San Jose, CA, USA), SPIE, Bellingham, Jan. 2009.

9. US Patent Application 2010/0208814 A1. Inter-Frame Prediction Coding Method and Device. August, 2010.9. US Patent Application 2010/0208814 A1. Inter-Frame Prediction Coding Method and Device. August 2010.

10. US Patent Application 2010/0272183 A1. Inter-Frame Prediction Coding Method, Device and System. October, 2010.10. US Patent Application 2010/0272183 A1. Inter-Frame Prediction Coding Method, Device and System. October 2010.

11. US Patent Application 2011/0188579 A1. Method, Apparatus and System for Rapid Motion Search Applied in Template Switching. August, 2011.11. US Patent Application 2011/0188579 A1. Method, Apparatus and System for Rapid Motion Search Applied in Template Switching. August, 2011.

12. US Patent Application 2011/0002388 A1. Template Matching for Video Coding. January, 2011.12. US Patent Application 2011/0002388 A1. Template Matching for Video Coding. January 2011.

13. US Patent 6,289,052 B1. Method and Apparatus for Motion Estimation Using Causal Templates. September, 2001.13. US Patent 6,289,052 B1. Method and Apparatus for Motion Estimation Using Causal Templates. September 2001.

14. US Patent Application 2008/0170618 A1. Method and Apparatus for Encoding and Decoding Multi-View Images. July, 2008.14. US Patent Application 2008/0170618 A1. Method and Apparatus for Encoding and Decoding Multi-View Images. July 2008.

15. Han-Suh Koo, Yong-Joon Jeon, Byeong-Moon Jeon. CE11: MVC Motion Skip Mode. ITU-T and ISO/IEC JTC1, JVT-V069, Marrakech, Morocco, January 2007.15. Han-Suh Koo, Yong-Joon Jeon, Byeong-Moon Jeon. CE11: MVC Motion Skip Mode. ITU-T and ISO / IEC JTC1, JVT-V069, Marrakech, Morocco, January 2007.

Claims (9)

1. Способ межкадрового прогнозирования для кодирования многоракурсной видеопоследовательности, в котором кодируемый кадр из видеопоследовательности кодируемого ракурса представляют как набор блоков, определяют, по меньшей мере, один восстановленный кадр из видеопоследовательности кодируемого ракурса, обозначаемый как опорный кадр, генерируют синтезированные кадры, соответствующие кодируемому кадру и каждому из опорных кадров, используя восстановленные карты глубин и восстановленные кадры видеопоследовательности из, по меньшей мере, одного другого ракурса, отличающийся тем, что выполняют следующие дополнительные операции:
- определяют в синтезированном кодируемом кадре синтезированный текущий блок, который соответствует кодируемому блоку;
- получают, по меньшей мере, один вектор движения для синтезированного текущего блока с помощью синтезированных опорных кадров, полученный вектор движения далее обозначается как «синтезированный вектор движения»;
- выводят, по меньшей мере, один вектор движения для кодируемого блока с использованием метода сопоставления шаблонов, с использованием шаблона кодируемого блока, с использованием опорных кадров и с использованием полученного синтезированного вектора движения, выведенный вектор движения далее обозначается как «уточненный вектор движения»;
- вычисляют блок-прогноз для кодируемого блока с использованием уточненных векторов движения.
1. An inter-frame prediction method for encoding a multi-angle video sequence in which the encoded frame from the video sequence of the encoded angle is represented as a set of blocks, at least one reconstructed frame from the video sequence of the encoded angle, designated as the reference frame, is determined, synthesized frames corresponding to the encoded frame are generated and to each of the reference frames, using reconstructed depth maps and reconstructed frames of a video sequence from at least re, of one other angle, characterized in that the following additional operations are performed:
- determine in the synthesized encoded frame the synthesized current block, which corresponds to the encoded block;
- get at least one motion vector for the synthesized current block using the synthesized reference frames, the resulting motion vector is hereinafter referred to as "synthesized motion vector";
- deriving at least one motion vector for the encoded block using the pattern matching method, using the encoded block template, using reference frames, and using the obtained synthesized motion vector, the derived motion vector is hereinafter referred to as an “updated motion vector”;
- calculate the prediction block for the encoded block using the specified motion vectors.
2. Способ по п.1, отличающийся тем, что размеры синтезированного текущего блока равны или превышают размеры кодируемого блока, и координаты синтезированного текущего блока определяют как один из следующих вариантов:
- координаты центра синтезированного текущего блока равны координатам центра кодируемого блока;
- координаты синтезированного текущего блока задают смещением, которое передают в декодер в сжатом потоке;
- координаты синтезированного текущего блока задают смещением, которое выводят с помощью метода сопоставления шаблонов, и это смещение идентичным образом выводят в декодере без передачи в сжатом потоке.
2. The method according to claim 1, characterized in that the dimensions of the synthesized current block are equal to or greater than the sizes of the encoded block, and the coordinates of the synthesized current block are determined as one of the following options:
- the coordinates of the center of the synthesized current block are equal to the coordinates of the center of the encoded block;
- the coordinates of the synthesized current block are set by the offset, which is transmitted to the decoder in a compressed stream;
- the coordinates of the synthesized current block are set by the offset, which is derived using the template matching method, and this offset is identically output in the decoder without transmission in the compressed stream.
3. Способ по п.1, отличающийся тем, что выполняют выведение, по меньшей мере, одного вектора движения для кодируемого блока с использованием метода сопоставления шаблонов, причем проводят поиск уточненного вектора движения методом сопоставления шаблонов в окрестности координат, которые задает синтезированный вектор движения в соответствующем опорном кадре.3. The method according to claim 1, characterized in that the derivation of at least one motion vector for the encoded block using the pattern matching method, and search for a refined motion vector by matching patterns in a neighborhood of coordinates that defines the synthesized motion vector in corresponding reference frame. 4. Способ по п.3, отличающийся тем, что поиск уточненного вектора движения методом сопоставления шаблонов предусматривает выполнение следующих операций:
- вычисляют функцию сходства между шаблоном кодируемого блока и шаблоном, на который указывает уточненный вектор движения, и вычисляют функцию сходства между шаблоном кодируемого блока и шаблоном, на который указывает нулевой вектор движения в том же опорном кадре, на который указывает уточненный вектор движения;
- обнуляют уточненный вектор движения в случае, когда вычисленная функция сходства для нулевого вектора движения показывает большее сходство, чем вычисленная функция сходства для уточненного вектора движения.
4. The method according to claim 3, characterized in that the search for an updated motion vector by pattern matching involves the following operations:
- calculating the similarity function between the template of the encoded block and the template pointed to by the specified motion vector, and calculating the similarity function between the template of the encoded block and the template indicated by the zero motion vector in the same reference frame indicated by the specified motion vector;
- reset the specified motion vector in the case when the calculated similarity function for the zero motion vector shows greater similarity than the calculated similarity function for the specified motion vector.
5. Способ по п.3, отличающийся тем, что поиск уточненного вектора движения методом сопоставления шаблонов включает в себя вычисление критерия минимизации между двумя шаблонами в виде суммы квадратов разности локальных вертикальных и горизонтальных градиентов, при этом:
- выполняют для каждого пикселя первого шаблона вычисление локального вертикального градиента и вычисление локального горизонтального градиента;
- выполняют для каждого пикселя второго шаблона вычисление локального вертикального градиента и вычисление локального горизонтального градиента;
- выполняют для каждого пикселя обоих шаблонов вычисление вертикальной разности между локальным вертикальным градиентом в первом шаблоне и локальным вертикальным градиентом во втором шаблоне;
- выполняют для каждого пикселя обоих шаблонов вычисление горизонтальной разности между локальным горизонтальным градиентом в первом шаблоне и локальным горизонтальным градиентом во втором шаблоне;
- для каждой разности выполняют попиксельно вычисление квадрата разности;
- выполняют вычисление суммы всех квадратов разностей.
5. The method according to claim 3, characterized in that the search for a refined motion vector by a pattern matching method includes calculating a minimization criterion between two patterns in the form of the sum of the squares of the difference of local vertical and horizontal gradients, wherein:
- perform for each pixel of the first pattern, the calculation of the local vertical gradient and the calculation of the local horizontal gradient;
- perform for each pixel of the second pattern, the calculation of the local vertical gradient and the calculation of the local horizontal gradient;
- perform, for each pixel of both patterns, the calculation of the vertical difference between the local vertical gradient in the first pattern and the local vertical gradient in the second pattern;
- perform, for each pixel of both patterns, the calculation of the horizontal difference between the local horizontal gradient in the first pattern and the local horizontal gradient in the second pattern;
- for each difference, pixel-by-square calculation of the difference is performed;
- perform the calculation of the sum of all squares of the differences.
6. Способ по п.3, отличающийся тем, что в случае выведения, по меньшей мере, двух уточненных векторов движения процедура выведения, по меньшей мере, одного вектора движения для кодируемого блока включает поиск набора векторов движения для многонаправленного прогноза методом сопоставления шаблонов в областях с центрами, имеющими координаты, которые задаются уточненными векторами движения или синтезированными векторами движения в соответствующих опорных кадрах, причем векторы движения, используемые для многонаправленного прогноза, обозначаются как гипотезы, а несколько гипотез, используемых совместно для формирования блока-прогноза, обозначаются как набор гипотез.6. The method according to claim 3, characterized in that in the case of deriving at least two refined motion vectors, the procedure for deriving at least one motion vector for the encoded block includes searching for a set of motion vectors for multidirectional forecasting by matching patterns in areas with centers having coordinates that are specified by refined motion vectors or synthesized motion vectors in the corresponding reference frames, the motion vectors used for multidirectional forecast start as hypotheses, and several hypotheses used together to form a forecast block are denoted as a set of hypotheses. 7. Способ по п.6, отличающийся тем, что поиск набора гипотез включает в себя определение наилучшего набора гипотез среди возможных наборов-кандидатов и предусматривает, что:
- выполняют формирование опорного шаблона с помощью шаблонов, на которые указывают гипотезы набора-кандидата, при этом вычисление значения каждого пикселя опорного шаблона включает в себя усреднение всех соответствующих пикселей шаблонов, на которые указывают гипотезы набора-кандидата;
- выполняют вычисление критерия минимизации между опорным шаблоном и шаблоном кодируемого блока; значения критериев минимизации используют далее для определения наилучшего набора гипотез.
7. The method according to claim 6, characterized in that the search for a set of hypotheses includes determining the best set of hypotheses among possible sets of candidates and provides that:
- perform the formation of the reference template using patterns that are indicated by the hypotheses of the candidate set, while calculating the value of each pixel of the reference template includes averaging all the corresponding pixels of the patterns that are indicated by the hypotheses of the candidate set;
- perform the calculation of the minimization criterion between the reference pattern and the pattern of the encoded block; the values of minimization criteria are then used to determine the best set of hypotheses.
8. Способ по п.6, отличающийся тем, что вычисление блока-прогноза для кодируемого блока для многонаправленного прогноза включает в себя следующие этапы:
- вычисляют весовые коэффициенты для каждого блока-прогноза, на который указывает соответствующая гипотеза в соответствующем опорном кадре, как функции от значения функции сходства, при этом функцию сходства вычисляют между шаблоном кодируемого блока и шаблоном, на который указывает гипотеза;
- вычисляют блок-прогноз для кодируемого блока на основе блоков-прогнозов, на которые указывают гипотезы из набора гипотез, и с использованием вычисленных весовых коэффициентов.
8. The method according to claim 6, characterized in that the calculation of the prediction block for the encoded block for the multidirectional forecast includes the following steps:
- weighting coefficients are calculated for each prediction block indicated by the corresponding hypothesis in the corresponding reference frame as a function of the value of the similarity function, while the similarity function is calculated between the template of the encoded block and the template indicated by the hypothesis;
- calculate the forecast block for the encoded block based on the forecast blocks indicated by the hypotheses from the set of hypotheses, and using the calculated weight coefficients.
9. Способ по п.8, отличающийся тем, что одна из гипотез указывает в синтезированный кодируемый кадр, причем процесс вычисления весовых коэффициентов предусматривает выполнение следующих операций:
- выполняют коррекцию яркости шаблона, на который указывает гипотеза, указывающая на синтезированный кодируемый кадр; причем шаблон далее обозначается как скорректированный шаблон;
- вычисляют весовой коэффициент для блока-прогноза, на который указывает гипотеза, указывающая на синтезированный кодируемый кадр, как функции от значения функции сходства между шаблоном кодируемого блока и скорректированным шаблоном;
причем процесс вычисления блока-прогноза для кодируемого блока включает в себя следующие этапы:
- выполняют коррекцию яркости блока-прогноза, на который указывает гипотеза, указывающая на синтезированный кодируемый кадр;
- вычисляют блок-прогноз для кодируемого блока с участием скорректированного блока-прогноза и с использованием вычисленного весового коэффициента для скорректированного блока-прогноза.
9. The method according to claim 8, characterized in that one of the hypotheses indicates a synthesized encoded frame, and the process of calculating weight coefficients involves the following operations:
- carry out the correction of the brightness of the template, which indicates a hypothesis indicating a synthesized encoded frame; wherein the pattern is hereinafter referred to as the adjusted pattern;
- calculate the weight coefficient for the prediction block, which is indicated by a hypothesis indicating a synthesized encoded frame, as a function of the value of the similarity function between the encoded block pattern and the adjusted pattern;
moreover, the calculation process of the prediction block for the encoded block includes the following steps:
- perform the correction of the brightness of the prediction block, which indicates a hypothesis indicating a synthesized encoded frame;
- calculate the prediction block for the encoded block with the participation of the adjusted prediction block and using the calculated weight coefficient for the adjusted prediction block.
RU2012123519/08A 2012-06-07 2012-06-07 Method for interframe prediction for multiview video sequence coding RU2506712C1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
RU2012123519/08A RU2506712C1 (en) 2012-06-07 2012-06-07 Method for interframe prediction for multiview video sequence coding
KR1020130064832A KR20130137558A (en) 2012-06-07 2013-06-05 Method of performing prediction for multiview video processing
US13/911,517 US20130329800A1 (en) 2012-06-07 2013-06-06 Method of performing prediction for multiview video processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2012123519/08A RU2506712C1 (en) 2012-06-07 2012-06-07 Method for interframe prediction for multiview video sequence coding

Publications (2)

Publication Number Publication Date
RU2012123519A RU2012123519A (en) 2013-12-20
RU2506712C1 true RU2506712C1 (en) 2014-02-10

Family

ID=49784376

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2012123519/08A RU2506712C1 (en) 2012-06-07 2012-06-07 Method for interframe prediction for multiview video sequence coding

Country Status (2)

Country Link
KR (1) KR20130137558A (en)
RU (1) RU2506712C1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019203517A1 (en) * 2018-04-15 2019-10-24 엘지전자 주식회사 Method and device for deriving motion information in image coding system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100008422A1 (en) * 2006-10-30 2010-01-14 Nippon Telegraph And Telephone Corporation Video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media which store the programs
US20100284466A1 (en) * 2008-01-11 2010-11-11 Thomson Licensing Video and depth coding
US20100322311A1 (en) * 2006-03-21 2010-12-23 Anthony Vetro Method and System for Decoding Multiview Videos with Prediction Dependencies
RU2413386C1 (en) * 2009-06-04 2011-02-27 Закрытое акционерное общество "МНИТИ"(Московский научно- исследовательский телевизионный институт) System of multiangle television
WO2011059856A2 (en) * 2009-11-06 2011-05-19 Sony Corporation Dynamic reference frame reordering for frame sequential stereoscopic video encoding
US20110317766A1 (en) * 2010-06-25 2011-12-29 Gwangju Institute Of Science And Technology Apparatus and method of depth coding using prediction mode

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100322311A1 (en) * 2006-03-21 2010-12-23 Anthony Vetro Method and System for Decoding Multiview Videos with Prediction Dependencies
US20100008422A1 (en) * 2006-10-30 2010-01-14 Nippon Telegraph And Telephone Corporation Video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media which store the programs
US20100284466A1 (en) * 2008-01-11 2010-11-11 Thomson Licensing Video and depth coding
RU2413386C1 (en) * 2009-06-04 2011-02-27 Закрытое акционерное общество "МНИТИ"(Московский научно- исследовательский телевизионный институт) System of multiangle television
WO2011059856A2 (en) * 2009-11-06 2011-05-19 Sony Corporation Dynamic reference frame reordering for frame sequential stereoscopic video encoding
US20110317766A1 (en) * 2010-06-25 2011-12-29 Gwangju Institute Of Science And Technology Apparatus and method of depth coding using prediction mode

Also Published As

Publication number Publication date
KR20130137558A (en) 2013-12-17
RU2012123519A (en) 2013-12-20

Similar Documents

Publication Publication Date Title
TWI731363B (en) Efficient affine merge motion vector derivation
KR101623062B1 (en) Motion vector estimation method, multiview image encoding method, multiview image decoding method, motion vector estimation device, multiview image encoding device, multiview image decoding device, motion vector estimation program, multiview image encoding program and multiview image decoding program
KR101653118B1 (en) Method for processing one or more videos of a 3d-scene
RU2480941C2 (en) Method of adaptive frame prediction for multiview video sequence coding
KR101403343B1 (en) Method and apparatus for inter prediction encoding/decoding using sub-pixel motion estimation
Tzovaras et al. Evaluation of multiresolution block matching techniques for motion and disparity estimation
JP5970609B2 (en) Method and apparatus for unified disparity vector derivation in 3D video coding
US20130329800A1 (en) Method of performing prediction for multiview video processing
TW201739252A (en) Method and apparatus of video coding with affine motion compensation
JP2007180981A (en) Device, method, and program for encoding image
JP6307152B2 (en) Image encoding apparatus and method, image decoding apparatus and method, and program thereof
KR20120009648A (en) Rate-Distortion Optimization Apparatus and Method for depth-image encoding
KR20150085027A (en) Image encoding method, image decoding method, image encoding device, image decoding device, image encoding program, and image decoding program
Shen et al. Low complexity depth coding assisted by coding information from color video
JP2007180982A (en) Device, method, and program for decoding image
Wang et al. Complexity reduction and performance improvement for geometry partitioning in video coding
Lee et al. Depth-based texture coding in AVC-compatible 3D video coding
Kamp et al. Fast decoder side motion vector derivation for inter frame video coding
RU2506712C1 (en) Method for interframe prediction for multiview video sequence coding
KR101005382B1 (en) Method for performing motion estimation using adaptive search range based on full search block matching algorithm
Salmistraro et al. Distributed multi-hypothesis coding of depth maps using texture motion information and optical flow
Kim et al. MPEG-4 compatible stereoscopic sequence codec for stereo broadcasting
Kadri et al. Stereoscopic image coding performance using disparity-compensated block matching algorithm
Suliman et al. Video compression using variable block size motion compensation with selective subpixel accuracy in redundant wavelet transform
Sohn et al. Efficient stereoscopic video coding using joint disparity-motion estimation