RU2325783C2 - Adaptive weighing of reference images during video signal coding - Google Patents

Adaptive weighing of reference images during video signal coding Download PDF

Info

Publication number
RU2325783C2
RU2325783C2 RU2005103829/09A RU2005103829A RU2325783C2 RU 2325783 C2 RU2325783 C2 RU 2325783C2 RU 2005103829/09 A RU2005103829/09 A RU 2005103829/09A RU 2005103829 A RU2005103829 A RU 2005103829A RU 2325783 C2 RU2325783 C2 RU 2325783C2
Authority
RU
Russia
Prior art keywords
reference image
motion
image
compensated
image block
Prior art date
Application number
RU2005103829/09A
Other languages
Russian (ru)
Other versions
RU2005103829A (en
Inventor
Джилл МакДональд БОЙС (US)
Джилл МакДональд БОЙС
Original Assignee
Томсон Лайсенсинг С.А.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Томсон Лайсенсинг С.А. filed Critical Томсон Лайсенсинг С.А.
Publication of RU2005103829A publication Critical patent/RU2005103829A/en
Application granted granted Critical
Publication of RU2325783C2 publication Critical patent/RU2325783C2/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/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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals

Abstract

FIELD: physics.
SUBSTANCE: said utility invention relates to video encoders and, in particular, to the use of adaptive weighing of reference images in video encoders. A video encoder and a method of video signal data processing for an image block and the specific reference image index for predicting this image block are proposed, which use the adaptive weighing of reference images to increase the video signal compression, the encoder having a reference image weighting factor assigning module for the assignment of the weighting factor corresponding to the said specific reference image index.
EFFECT: increased efficiency of reference image predicting.
8 cl, 7 dwg

Description

Перекрестная ссылка на родственные заявкиCross reference to related applications

По этой заявке испрашивается приоритет предварительной заявки на патент США с регистрационным номером 60/395.843 (номер реестра поверенного PU020340), озаглавленной "Adaptive Weighting Of Reference Pictures In Video CODEC" и поданной 15 июля 2002 г., которая полностью включена в материалы этой заявки посредством ссылки. Дополнительно, по этой заявке испрашивается приоритет предварительной заявки на патент США с регистрационным номером 60/395.874 (номер реестра поверенного PU020339), озаглавленной "Motion Estimation With Weighting Prediction" и поданной также 15 июля 2002 г., которая полностью включена в материалы этой заявки посредством ссылки.This application claims the priority of a provisional US patent application with registration number 60 / 395.843 (attorney registry number PU020340) entitled "Adaptive Weighting Of Reference Pictures In Video CODEC" and filed July 15, 2002, which is fully incorporated by reference in this application links. Additionally, this application claims the priority of a provisional US patent application with registration number 60 / 395.874 (attorney's registry number PU020339), entitled "Motion Estimation With Weighting Prediction" and filed July 15, 2002, which is fully incorporated in the materials of this application by links.

Область техники, к которой относится изобретениеFIELD OF THE INVENTION

Настоящее изобретение относится к видеокодерам и, в частности, к использованию адаптивного взвешивания эталонных изображений в видеокодерах.The present invention relates to video encoders and, in particular, to the use of adaptive weighting of reference images in video encoders.

Предшествующий уровень техникиState of the art

В основном, видеоинформация обрабатывается и передается в виде потоков битов. Обычные декодеры и кодеры сжатия видеосигнала ("КОДЕК"и) достигают наибольшей эффективности осуществляемого ими сжатия посредством формирования предсказания эталонного изображения для изображения, которое должно быть кодировано, и кодирования разности между текущим изображением и предсказанием. Чем сильнее корреляция предсказания с текущим изображением, тем меньшее количество битов требуется для сжатия этого изображения, вследствие чего повышается эффективность процесса. Соответственно, является предпочтительным формировать лучшее возможное предсказание эталонного изображения.Basically, video information is processed and transmitted in the form of bit streams. Conventional decoders and video compression encoders ("CODEC" and) achieve the greatest efficiency of their compression by generating a prediction of the reference image for the image to be encoded and encoding the difference between the current image and the prediction. The stronger the correlation of the prediction with the current image, the fewer bits are required to compress this image, thereby increasing the efficiency of the process. Accordingly, it is preferable to generate the best possible prediction of the reference image.

Во многих стандартах сжатия видеосигнала, включая стандарты Экспертной группы по вопросам движущегося изображения MPEG-1, MPEG-2 и MPEG-4, в качестве предсказания для текущего изображения используется скомпенсированный по движению вариант предыдущего эталонного изображения и кодируется только разность между текущим изображением и предсказанием. Когда используется одно предсказание изображения ("P"-изображение), эталонное изображение не масштабируется при формировании скомпенсированного по движению предсказания. Когда используются двунаправленные предсказания изображений ("В"-изображения), формируются промежуточные предсказания из двух различных изображений, и затем два промежуточных предсказания усредняются с использованием равных весовых коэффициентов в (1/2, 1/2) для каждого, для формирования одного усредненного предсказания. В упомянутых стандартах MPEG, из двух эталонных изображений для B-изображений, одно всегда соответствует направлению вперед и одно - направлению назад.Many video compression standards, including the standards of the MPEG-1, MPEG-2, and MPEG-4 Moving Image Expert Group, use the motion-compensated version of the previous reference image as the prediction for the current image and only the difference between the current image and the prediction is encoded. When a single image prediction (“P” image) is used, the reference image is not scaled to form a motion-compensated prediction. When bidirectional image predictions ("B" images) are used, intermediate predictions are formed from two different images, and then two intermediate predictions are averaged using equal weights in (1/2, 1/2) for each, to generate one averaged prediction . In the mentioned MPEG standards, of the two reference images for B-images, one always corresponds to the forward direction and one to the backward direction.

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

Упомянутые и другие отрицательные стороны и недостатки предшествующего уровня техники устраняются посредством системы и способа адаптивного взвешивания эталонных изображений в видеокодерах и видеодекодерах.Mentioned and other negative aspects and disadvantages of the prior art are eliminated by means of a system and method for adaptive weighting of reference images in video encoders and video decoders.

Раскрыты видеокодер и соответствующие способы обработки данных видеосигнала для блока изображения и индекса конкретного эталонного изображения для предсказания этого блока изображения, которые используют адаптивное взвешивание эталонных изображений для усиления сжатия видеосигнала. Кодер содержит модуль назначения весового коэффициента эталонного изображения для назначения весового коэффициента упомянутому индексу конкретного эталонного изображения.A video encoder and corresponding methods for processing video signal data for an image block and an index of a specific reference image for predicting this image block are disclosed, which use adaptive weighting of the reference images to enhance video compression. The encoder comprises a module for assigning a weight coefficient to a reference image for assigning a weight coefficient to said index of a specific reference image.

Соответствующий способ кодирования данных видеосигнала для блока изображения включает в себя прием по существу несжатого блока изображения и назначение весового коэффициента для блока изображения, соответствующего конкретному эталонному изображению, имеющему соответствующий индекс. Вычисляются векторы движения, соответствующие разности между блоком изображения и конкретным эталонным изображением. В соответствии с векторами движения осуществляется компенсация движения конкретного эталонного изображения, и скомпенсированное по движению эталонное изображение изменяется посредством назначенного весового коэффициента для формирования взвешенного скомпенсированного по движению эталонного изображения. По существу несжатый блок изображения сравнивается с взвешенным скомпенсированным по движению эталонным изображением, и сигнал, указывающий разность между по существу несжатым блоком изображения и взвешенным скомпенсированным по движению эталонным изображением, совместно с соответствующим индексом конкретного эталонного изображения, кодируется.A suitable encoding method for video signal data for an image block includes receiving a substantially uncompressed image block and assigning a weight coefficient to the image block corresponding to a particular reference image having a corresponding index. The motion vectors corresponding to the difference between the image block and the specific reference image are calculated. In accordance with the motion vectors, the motion compensation of the specific reference image is performed, and the motion-compensated reference image is changed by the assigned weight coefficient to form a weighted motion-compensated reference image. A substantially uncompressed image block is compared with a weighted motion-compensated reference image, and a signal indicating the difference between a substantially uncompressed image block and a weighted motion-compensated reference image, together with the corresponding index of the specific reference image, is encoded.

ПЕРЕЧЕНЬ ЧЕРТЕЖЕЙLIST OF DRAWINGS

Адаптивное взвешивание эталонных изображений в видеокодерах и видеодекодерах в соответствии с принципами настоящего изобретения иллюстрируется следующими показательными чертежами:Adaptive weighting of reference images in video encoders and video decoders in accordance with the principles of the present invention is illustrated by the following illustrative drawings:

Фиг.1 - блочная диаграмма для стандартного видеодекодера.Figure 1 is a block diagram for a standard video decoder.

Фиг.2 - блочная диаграмма для видеодекодера с адаптивным двойным предсказанием.2 is a block diagram for an adaptive dual prediction video decoder.

Фиг.3 - блочная диаграмма для видеодекодера с взвешиванием эталонного изображения в соответствии с принципами настоящего изобретения.Figure 3 is a block diagram for a video decoder with weighting a reference image in accordance with the principles of the present invention.

Фиг.4 - блочная диаграмма для стандартного видеокодера.4 is a block diagram for a standard video encoder.

Фиг.5 - блочная диаграмма для видеокодера с взвешиванием эталонного изображения в соответствии с принципами настоящего изобретения.5 is a block diagram for a video encoder with weighting a reference image in accordance with the principles of the present invention.

Фиг.6 - блок-схема последовательности операций процесса декодирования в соответствии с принципами настоящего изобретения.6 is a flowchart of a decoding process in accordance with the principles of the present invention.

Фиг.7 - блок-схема последовательности операций процесса кодирования в соответствии с принципами настоящего изобретения.7 is a flowchart of an encoding process in accordance with the principles of the present invention.

ПОДРОБНОЕ ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯDETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Настоящее изобретение представляет устройство и способ для оценки вектора движения и адаптивного назначения весового коэффициента эталонного изображения. В некоторых видеопоследовательностях, в частности видеопоследовательностях с замиранием, текущее изображение или блок изображения, который должен быть кодирован, более сильно коррелирует с эталонным изображением, масштабированным весовым коэффициентом, чем непосредственно с эталонным изображением. Видеокодеки без применения весовых коэффициентов к эталонным изображениям для кодирования последовательностей с замиранием очень неэффективны. При использовании весовых коэффициентов в кодировании видеокодер должен определять и весовые коэффициенты, и векторы движения, но лучший выбор для каждого из них зависит от другого, с оценкой движения, обычно являющейся в вычислительном отношении наиболее интенсивной частью цифрового кодера сжатия видеосигнала.The present invention provides an apparatus and method for estimating a motion vector and adaptive weighting of a reference image. In some video sequences, in particular fading video sequences, the current image or image block to be encoded is more strongly correlated with the reference image, the scaled weight coefficient, than directly with the reference image. Video codecs without weighting reference images for coding fading sequences are very inefficient. When using weighting coefficients in coding, a video encoder should determine both weighting coefficients and motion vectors, but the best choice for each of them depends on the other, with motion estimation, which is usually the most intensive part of a digital video compression encoder in computational terms.

В предложенном стандарте сжатия видеосигнала Объединенной группы по видеосигналам (JVT), каждое P-изображение может использовать несколько эталонных изображений для формирования предсказания изображения, но каждый отдельный блок движения, или область 8×8 макроблока, использует только одно эталонное изображение для предсказания. Дополнительно к кодированию и передаче векторов движения, для каждого блока движения, или области 8×8, передается индекс эталонного изображения, указывающий, какое эталонное изображение используется. В кодере и в декодере хранится ограниченный набор возможных эталонных изображений и передается количество допустимых эталонных изображений.In the proposed Video Compression Standard of the Joint Video Signal Group (JVT), each P-image can use several reference images to generate image prediction, but each individual motion block, or 8 × 8 macroblock area, uses only one reference image for prediction. In addition to encoding and transmitting motion vectors, for each motion block, or 8 × 8 region, a reference image index is transmitted indicating which reference image is being used. A limited set of possible reference images is stored in the encoder and decoder and the number of valid reference images is transmitted.

В стандарте JVT для изображений с двойным предсказанием (также называемых B-изображений), для каждого блока движения, или области 8×8, формируются два предсказателя, каждый из которых может быть из отдельного эталонного изображения, и эти два предсказателя усредняются для формирования одного усредненного предсказателя. Для блоков движения, кодированных с двойным предсказанием, оба эталонных изображения могут соответствовать направлению вперед, оба могут соответствовать направлению назад или одно - направлению вперед и одно - направлению назад. Поддерживаются два списка доступных эталонных изображений, которые могут использоваться для предсказания. Два эталонных изображения определены как предсказатели списка 0 и списка 1. Для каждого эталонного изображения кодируется и передается индекс ref_idx_I0 и ref_idx_I1 для эталонных изображений списка 0 и списка 1, соответственно. Изображения с двойным предсказанием, или В-изображения, Объединенной группы по видеосигналам (JVT) обеспечивают возможность адаптивного взвешивания двух предсказаний, т.е.In the JVT standard for dual-predicted images (also called B-images), two predictors are formed for each motion block, or 8 × 8 region, each of which can be from a separate reference image, and these two predictors are averaged to form one averaged the predictor. For motion blocks encoded with double prediction, both reference images may correspond to the forward direction, both may correspond to the backward direction or one to the forward direction and one to the backward direction. Two lists of available reference images that can be used for prediction are supported. Two reference images are defined as predictors of list 0 and list 1. For each reference image, the index ref_idx_I0 and ref_idx_I1 are encoded and transmitted for the reference images of list 0 and list 1, respectively. Dual Prediction Images, or B-Images, of the Combined Video Signal Group (JVT) enable adaptive weighting of two predictions, i.e.

Pred = [(P0)(Pred0)] + [(P1)(Pred1)] + D,Pred = [(P0) (Pred0)] + [(P1) (Pred1)] + D,

где P0 и P1 - весовые коэффициенты, Pred0 и Pred1 - предсказания эталонного изображения для списка 0 и списка 1, соответственно, а D - смещение.where P0 and P1 are weights, Pred0 and Pred1 are the predictions of the reference image for list 0 and list 1, respectively, and D is the offset.

Были предложены два способа для указания весовых коэффициентов. В первом весовые коэффициенты определяются направлениями, которые используются для эталонных изображений. В этом способе, если индекс ref_idx_I0 не превышает ref_idx_I1, то используются весовые коэффициенты (1/2, 1/2), иначе используются коэффициенты (2, -1).Two methods have been proposed for indicating weights. In the first, weights are determined by the directions that are used for the reference images. In this method, if the index ref_idx_I0 does not exceed ref_idx_I1, then the weighting coefficients (1/2, 1/2) are used, otherwise the coefficients (2, -1) are used.

Во втором предложенном способе передается произвольное количество весовых коэффициентов для каждого раздела. Затем передается индекс весового коэффициента для каждого блока движения, или области 8×8 макроблока, который использует двунаправленное предсказание. Декодер использует принятый индекс весового коэффициента для выбора соответствующего весового коэффициента, из переданного набора, для использования при декодировании блока движения, или области 8×8. Например, если на уровне раздела были переданы три весовых коэффициента, они должны соответствовать индексам 0, 1 и 2 весовых коэффициентов, соответственно.In the second proposed method, an arbitrary number of weights for each section is transmitted. A weighting index is then transmitted for each motion block, or 8 × 8 macroblock region, which uses bidirectional prediction. The decoder uses the received weighting index to select the appropriate weighting factor from the transmitted set, for use in decoding a motion block, or 8 × 8 area. For example, if three weights were transmitted at the partition level, they must correspond to indices 0, 1, and 2 weights, respectively.

Последующее описание только иллюстрирует принципы изобретения. Соответственно, будет ясно, что специалисты в данной области техники смогут изобрести различные средства, которые, хотя не описаны и не представлены здесь явно, воплощают принципы изобретения и включены в его объем. Кроме того, все возможные варианты и условный язык, изложенные здесь, в основном предназначены специально для целей обучения, чтобы облегчить понимание принципов изобретения и концепций, внесенных изобретателем в развитие техники, и не должны рассматриваться как возможные варианты и условия, накладывающие ограничения. Кроме того, все описания изложенных здесь принципов, аспектов и вариантов осуществления изобретения, а также их конкретные возможные варианты предназначены для охвата их структурных и функциональных эквивалентов. Дополнительно, подразумевается, что такие эквиваленты включают в себя эквиваленты, известные в настоящее время, а также эквиваленты, которые будут разработаны в будущем, т.е. любые разработанные элементы, которые выполняют идентичную функцию независимо от структуры.The following description only illustrates the principles of the invention. Accordingly, it will be clear that those skilled in the art will be able to invent various means that, although not described and not explicitly presented here, embody the principles of the invention and are included in its scope. In addition, all possible options and a conditional language set forth here are mainly intended specifically for educational purposes, in order to facilitate understanding of the principles of the invention and concepts introduced by the inventor in the development of technology, and should not be construed as possible options and conditions imposing restrictions. In addition, all descriptions of the principles, aspects, and embodiments of the invention set forth herein, as well as their specific possible options, are intended to cover their structural and functional equivalents. Additionally, it is understood that such equivalents include those currently known and those that will be developed in the future, i.e. any designed elements that perform an identical function regardless of structure.

Так, например, для специалистов в данной области техники должно быть понятно, что блочные диаграммы здесь представляют концептуальные виды иллюстративных схем, воплощающих принципы изобретения. Аналогично, ясно, что любые блок-схемы последовательностей операций, схемы алгоритмов, диаграммы переходов между состояниями, псевдокод и т.д. представляют различные процессы, которые, по существу, могут быть представлены в машиночитаемом носителе, а также исполняться компьютером или процессором, вне зависимости от того, изображен ли такой компьютер или процессор явно.So, for example, it should be understood by those skilled in the art that block diagrams here represent conceptual views of illustrative diagrams embodying the principles of the invention. Similarly, it is clear that any flowcharts, algorithms, state transition diagrams, pseudo-code, etc. represent various processes that, in essence, can be represented in a computer-readable medium, as well as executed by a computer or processor, regardless of whether such a computer or processor is explicitly depicted.

Функции различных элементов, изображенных на чертежах, могут быть обеспечены посредством использования специализированных аппаратных средств, а также аппаратных средств, которые могут выполнять программное обеспечение, совместно с соответствующим программным обеспечением. При обеспечении процессором, функции могут обеспечиваться одним специализированным процессором, одним совместно используемым процессором или несколькими отдельными процессорами, некоторые из которых могут использоваться совместно. Кроме того, явное использование термина "процессор" или "контроллер" не должно рассматриваться как ссылка исключительно на аппаратные средства, которые могут выполнять программное обеспечение, и может неявно включать в себя, но не в ограничительном смысле, аппаратные средства цифрового процессора сигналов (ЦПС, DSP), постоянное запоминающее устройство (ПЗУ, ROM) для хранения программного обеспечения, оперативное запоминающее устройство (ОЗУ, RAM) и энергонезависимую память. Могут также быть включены другие аппаратные средства, стандартные и/или заказные. Аналогично, любые переключатели, изображенные на чертежах, только концептуальны. Их функция может выполняться посредством операции программных логических средств, специализированных логических средств, взаимодействия программного управления и специализированных логических средств, или даже вручную, конкретный способ может быть выбран средством реализующей стороной, как более определенно понятно из контекста.The functions of the various elements depicted in the drawings can be provided through the use of specialized hardware, as well as hardware that can run the software, together with the corresponding software. When provided with a processor, functions can be provided by one specialized processor, one shared processor, or several separate processors, some of which can be shared. In addition, the explicit use of the term “processor” or “controller” should not be construed as a reference solely to hardware that can run software, and may implicitly include, but not in a limiting sense, the hardware of a digital signal processor (DSP, DSP), read-only memory (ROM) for storing software, random access memory (RAM, RAM) and non-volatile memory. Other hardware, standard and / or custom, may also be included. Similarly, any switches shown in the drawings are only conceptual. Their function can be performed through the operation of software logic tools, specialized logic tools, the interaction of software control and specialized logic tools, or even manually, a specific method can be selected by the means of the implementing party, as is more specifically understood from the context.

В формуле изобретения любой элемент, выступающий в качестве средства выполнения конкретной функции, предназначен для охвата любого средства выполнения этой функции, включая, например, a) комбинацию элементов схемы, выполняющую указанную функцию или b) программное обеспечение в любом виде для выполнения функции, включая, следовательно, встроенное программное обеспечение, микрокод и т.д., объединенное с соответствующими схемами для выполнения этого программного обеспечения. Изобретению, как оно определено упомянутой формулой изобретения, фактически свойственно, что функциональные возможности, обеспеченные различными описанными средствами, объединяются и соединяются вместе, как того требует формула изобретения. Соответственно, заявитель рассматривает любые средства, которые могут обеспечивать упомянутые функциональные возможности в виде эквивалента представленным здесь функциональным возможностям.In the claims, any element that acts as a means of performing a specific function is intended to encompass any means of performing that function, including, for example, a) a combination of circuit elements performing the specified function or b) any form of software to perform the function, including, therefore, firmware, microcode, etc., combined with appropriate circuits for executing this software. The invention, as defined by the aforementioned claims, is in fact intrinsic to the extent that the functionality provided by the various described means is combined and connected together as required by the claims. Accordingly, the applicant considers any means that can provide the mentioned functionality in the form of an equivalent to the functionality presented here.

Согласно фиг.1 стандартный видеодекодер обозначен в общем ссылочной позицией 100. Видеодекодер 100 содержит декодер 110 полей переменной длины (VLD), соединенный с возможностью обмена сигналами с обратным квантователем 120. Обратный квантователь 120 соединен с возможностью обмена сигналами с обратным преобразователем 130. Обратный преобразователь 130 соединен с возможностью обмена сигналами с первым входом сумматора, или суммирующего соединения 140, при этом выход суммирующего соединения 140 обеспечивает выход видеодекодера 100. Выход суммирующего соединения 140 соединен с возможностью обмена сигналами с хранилищем 150 эталонных изображений. Хранилище 150 эталонных изображений соединено с возможностью обмена сигналами с компенсатором 160 движения, который соединен с возможностью обмена сигналами с вторым входом суммирующего соединения 140.Referring to FIG. 1, a standard video decoder is denoted by a reference numeral 100. Video decoder 100 comprises a variable length field (VLD) decoder 110 coupled to exchange signals with inverse quantizer 120. Inverse quantizer 120 is coupled to exchange signals with inverse converter 130. Inverse converter 130 is connected with the possibility of exchanging signals with the first input of the adder, or summing connection 140, while the output of the summing connection 140 provides the output of the video decoder 100. The output of the summing with Units 140 are coupled to a repository of 150 reference images. The repository 150 of reference images is connected with the possibility of exchanging signals with a compensator 160 movement, which is connected with the possibility of exchanging signals with the second input of the summing connection 140.

Согласно фиг.2 видеодекодер с адаптивным двойным предсказанием обозначен в общем ссылочной позицией 200. Видеодекодер 200 содержит VLD 210, соединенный с возможностью обмена сигналами с обратным квантователем 220. Обратный квантователь 220 соединен с возможностью обмена сигналами с обратным преобразователем 230. Обратный преобразователь 230 соединен с возможностью обмена сигналами с первым входом суммирующего соединения 240, при этом выход суммирующего соединения 240 обеспечивает выход видеодекодера 200. Выход суммирующего соединения 240 соединен с возможностью обмена сигналами с хранилищем 250 эталонных изображений. Хранилище 250 эталонных изображений соединено с возможностью обмена сигналами с компенсатором 260 движения, который соединен с возможностью обмена сигналами с первым входом умножителя 270.2, an adaptive dual-predicted video decoder is generally designated 200. Video decoder 200 comprises a VLD 210 coupled to a signal quantizer 220. A quantizer 220 is coupled to a signal converter 230. A converter 230 is coupled to the ability to exchange signals with the first input of the summing connection 240, while the output of the summing connection 240 provides the output of the video decoder 200. The output of the summing connection 240 is connected to zmozhnostyu signal communication with reference picture store 250. The storage 250 of reference images is connected with the possibility of exchanging signals with a compensator 260 movement, which is connected with the possibility of exchanging signals with the first input of the multiplier 270.

VLD 210 дополнительно соединен с возможностью обмена сигналами со средством 280 поиска весового коэффициента эталонного изображения для предоставления средству 280 поиска индекса коэффициента адаптивного двойного предсказания (АДП, ABP). Первый выход средства 280 поиска предназначен для предоставления весового коэффициента и соединен с возможностью обмена сигналами с вторым входом умножителя 270. Выход 270 умножителя соединен с возможностью обмена сигналами с первым входом суммирующего соединения 290. Второй выход средства 280 поиска предназначен для предоставления смещения и соединен с возможностью обмена сигналами с вторым входом суммирующего соединения 290. Выход суммирующего соединения 290 соединен с возможностью обмена сигналами с вторым входом суммирующего соединения 240.The VLD 210 is further coupled with a signal exchange means to a weighting means search tool 280 for providing a reference image to provide an adaptive dual prediction coefficient (ADP) index search means 280. The first output of the search tool 280 is designed to provide a weighting factor and is connected with the possibility of exchanging signals with the second input of the multiplier 270. The output of the multiplier 270 is connected with the possibility of exchanging signals with the first input of the summing connection 290. The second output of the search tool 280 is designed to provide bias and is connected with the possibility of signal exchange with the second input of the summing connection 290. The output of the summing connection 290 is connected with the possibility of exchanging signals with the second input of the summing connection 24 0.

Согласно фиг.3 видеодекодер с взвешиванием эталонного изображения обозначен в общем ссылочной позицией 300. Видеодекодер 300 содержит VLD 310, соединенный с возможностью обмена сигналами с обратным квантователем 320. Обратный квантователь 320 соединен с возможностью обмена сигналами с обратным преобразователем 330. Обратный преобразователь 330 соединен с возможностью обмена сигналами с первым входом суммирующего соединения 340, при этом выход суммирующего соединения 340 обеспечивает выход видеодекодера 300. Выход суммирующего соединения 340 соединен с возможностью обмена сигналами с хранилищем 350 эталонных изображений. Хранилище 350 эталонных изображений соединено с возможностью обмена сигналами с компенсатором 360 движения, который соединен с возможностью обмена сигналами с первым входом умножителя 370.3, a video decoder with reference image weighting is generally designated 300. Video decoder 300 includes a VLD 310 that is coupled to the inverse quantizer 320. The inverse quantizer 320 is coupled to the inverter 330. The inverter 330 is connected to the ability to exchange signals with the first input of the summing connection 340, while the output of the summing connection 340 provides the output of the video decoder 300. The output of the summing connection 340 is connected with the ability to exchange signals with a repository of 350 reference images. The storage 350 of reference images is connected with the possibility of exchanging signals with a compensator 360 motion, which is connected with the possibility of exchanging signals with the first input of the multiplier 370.

VLD 310 дополнительно соединен с возможностью обмена сигналами со средством 380 поиска весового коэффициента эталонного изображения для предоставления средству 380 поиска индекса эталонного изображения. Первый выход средства 380 поиска предназначен для предоставления весового коэффициента и соединен с возможностью обмена сигналами с вторым входом умножителя 370. Выход умножителя 370 соединен с возможностью обмена сигналами с первым входом суммирующего соединения 390. Второй выход средства 380 поиска предназначен для предоставления смещения и соединен с возможностью обмена сигналами со вторым входом суммирующего соединения 390. Выход суммирующего соединения 390 соединен с возможностью обмена сигналами со вторым входом суммирующего соединения 340.The VLD 310 is further coupled to a signal exchange with a weighting means search tool 380 for providing a reference image to provide a means for index search tool 380. The first output of the search means 380 is designed to provide a weighting factor and is connected with the possibility of exchanging signals with the second input of the multiplier 370. The output of the multiplier 370 is connected with the possibility of exchanging signals with the first input of the summing connection 390. The second output of the search means 380 is designed to provide bias and is connected with the possibility of signal exchange with the second input of the summing connection 390. The output of the summing connection 390 is connected with the possibility of exchanging signals with the second input of the summing connection 390 340.

Согласно фиг.4 стандартный видеокодер обозначен в общем ссылочной позицией 400. Вход в кодер 400 соединен с возможностью обмена сигналами с неинвертирующим входом суммирующего соединения 410. Выход суммирующего соединения 410 соединен с возможностью обмена сигналами с преобразователем 420 блоков. Преобразователь 420 соединен с возможностью обмена сигналами с квантователем 430. Выход квантователя 430 соединен с возможностью обмена сигналами с кодером полей переменной длины (VLC) 440, где выход VLC 440 является выходом кодера 400, доступным извне.4, a standard video encoder is generally designated 400. The input to the encoder 400 is interconnected with a non-inverting input of the summing connection 410. The output of the summing connection 410 is signal-exchanged with the block converter 420. A converter 420 is coupled to a quantizer 430. The output of a quantizer 430 is coupled to a variable length field encoder (VLC) 440, where the output of the VLC 440 is an encoder 400 that is accessible from the outside.

Выход квантователя 430 дополнительно соединен с возможностью обмена сигналами с обратным квантователем 450. Обратный квантователь 450 соединен с возможностью обмена сигналами с обратным преобразователем 460 блоков, который, в свою очередь, соединен с возможностью обмена сигналами с хранилищем 470 эталонных изображений. Первый выход хранилища 470 эталонных изображений соединен с возможностью обмена сигналами с первым входом модуля 480 оценки движения. Вход в кодер 400 дополнительно соединен с возможностью обмена сигналами с вторым входом модуля 480 оценки движения. Выход модуля 480 оценки движения соединен с возможностью обмена сигналами с первым входом компенсатора 490 движения. Второй выход хранилища 470 эталонных изображений соединен с возможностью обмена сигналами с вторым входом компенсатора 490 движения. Выход компенсатора 490 движения соединен с возможностью обмена сигналами с инвертирующим входом суммирующего соединения 410.The output of the quantizer 430 is additionally connected with the possibility of exchanging signals with the inverse quantizer 450. The inverse quantizer 450 is connected with the possibility of exchanging signals with the inverse transformer 460 of the blocks, which, in turn, is connected with the possibility of exchanging signals with the storage 470 of reference images. The first output of the storage 470 reference images is connected with the possibility of exchanging signals with the first input of the module 480 motion estimation. The input to the encoder 400 is further coupled to the second input of the motion estimation module 480. The output of motion estimation module 480 is coupled to a signal exchange with a first input of motion compensator 490. The second output of the storage 470 reference images is connected with the possibility of exchanging signals with the second input of the compensator 490 motion. The output of the motion compensator 490 is connected to exchange signals with an inverting input of the summing connection 410.

Согласно фиг.5 видеокодер с взвешиванием эталонного изображения обозначен в общем ссылочной позицией 500. Вход в кодер 500 соединен с возможностью обмена сигналами с неинвертирующим входом суммирующего соединения 510. Выход суммирующего соединения 510 соединен с возможностью обмена сигналами с преобразователем 520 блоков. Преобразователь 520 соединен с возможностью обмена сигналами с квантователем 530. Выход квантователя 530 соединен с возможностью обмена сигналами с VLC 540, где выход VLC 440 является выходом кодера 500, доступным извне.5, a video encoder with reference image weighting is indicated generally at 500. The input to the encoder 500 is interconnected with a non-inverting input of the summing connection 510. The output of the summing connection 510 is signal-exchanged with the block converter 520. A converter 520 is coupled to a quantizer 530. The output of a quantizer 530 is coupled to a VLC 540, where the output of the VLC 440 is an output of the encoder 500, accessible from the outside.

Выход квантователя 530 дополнительно соединен с возможностью обмена сигналами с обратным квантователем 550. Обратный квантователь 550 соединен с возможностью обмена сигналами с обратным преобразователем 560 блоков, который, в свою очередь, соединен с возможностью обмена сигналами с хранилищем 570 эталонных изображений. Первый выход хранилища 570 эталонных изображений соединен с возможностью обмена сигналами с первым входом модуля 572 назначения весового коэффициента эталонного изображения. Вход в кодер 500 дополнительно соединен с возможностью обмена сигналами с вторым входом модуля 572 назначения весового коэффициента эталонного изображения. Выход модуля 572 назначения весового коэффициента эталонного изображения, указывающий весовой коэффициент, соединен с возможностью обмена сигналами с первым входом модуля 580 оценки движения. Второй выход хранилища 570 эталонных изображений соединен с возможностью обмена сигналами с вторым входом модуля 580 оценки движения.The output of the quantizer 530 is additionally connected with the possibility of exchanging signals with the inverse quantizer 550. The inverse quantizer 550 is connected with the possibility of exchanging signals with the inverse converter 560 of the blocks, which, in turn, is connected with the possibility of exchanging signals with the storage 570 of reference images. The first output of the storage 570 reference images is connected with the possibility of exchanging signals with the first input of module 572 for assigning the weight coefficient of the reference image. The input to the encoder 500 is additionally connected with the possibility of exchanging signals with the second input of the module 572 assigning the weight coefficient of the reference image. The output of the reference image weight assignment module 572 indicating the weight is connected to exchange signals with a first input of the motion estimation module 580. The second output of the storage 570 reference images is connected with the possibility of exchanging signals with the second input of the module 580 motion estimation.

Вход в кодер 500 дополнительно соединен с возможностью обмена сигналами с третьим входом модуля 580 оценки движения. Выход модуля 580 оценки движения, указывающий векторы движения, соединен с возможностью обмена сигналами с первым входом компенсатора 590 движения. Третий выход хранилища 570 эталонных изображений соединен с возможностью обмена сигналами с вторым входом компенсатора 590 движения. Выход компенсатора 590 движения, указывающий эталонное изображение, скомпенсированное по движению, соединен с возможностью обмена сигналами с первым входом умножителя 592. Выход модуля 572 назначения весового коэффициента эталонного изображения, указывающий весовой коэффициент, соединен с возможностью обмена сигналами с вторым входом умножителя 592. Выход умножителя 592 соединен с возможностью обмена сигналами с инвертирующим входом суммирующего соединения 510.The input to the encoder 500 is additionally connected with the possibility of exchanging signals with the third input of the motion estimation module 580. The output of the motion estimation module 580 indicating the motion vectors is coupled to the signal exchange with the first input of the motion compensator 590. The third output of the storage 570 reference images is connected with the possibility of exchanging signals with the second input of the compensator 590 motion. The output of the motion compensator 590 indicating a motion-compensated reference image is connected for signal exchange with the first input of the multiplier 592. The output of the reference image weight assignment module 572 indicating the weight coefficient is connected for signal exchange with the second input of the multiplier 592. Multiplier output 592 is interconnected with an inverting input of a summing connection 510.

Согласно фиг.6 иллюстративный процесс декодирования данных видеосигнала для блока изображения обозначен в общем ссылочной позицией 600. Процесс включает в себя этап 610 начала, на котором передают управление этапу 612 ввода. На этапе 612 ввода принимают данные сжатого блока изображения и передают управление этапу 614 ввода. На этапе 614 ввода принимают по меньшей мере один индекс эталонного изображения с данными для блока изображения, при этом каждый индекс эталонного изображения соответствует конкретному эталонному изображению. На этапе 614 ввода передают управление функциональному этапу 616, на котором определяют весовой коэффициент, соответствующий каждому из принятых индексов эталонного изображения, и передают управление необязательному функциональному этапу 617. На необязательном функциональном этапе 617 определяют смещение, соответствующее каждому из принятых индексов эталонных изображений, и передают управление функциональному этапу 618. На функциональном этапе 618 извлекают эталонное изображение, соответствующее каждому из принятых индексов эталонных изображений, и передают управление функциональному этапу 620. На функциональном этапе 620, в свою очередь, выполняют компенсацию движения извлеченного эталонного изображения и передают управление функциональному этапу 622. На функциональном этапе 622 умножают скомпенсированное по движению эталонное изображение на соответствующий весовой коэффициент и передают управление необязательному функциональному этапу 623. На необязательном функциональном этапе 623 суммируют скомпенсированное по движению эталонное изображение с соответствующим смещением и передают управление функциональному этапу 624. На функциональном этапе 624, в свою очередь, формируют взвешенное скомпенсированное по движению эталонное изображение и передают управление этапу 626 завершения.6, an exemplary video signal decoding process for an image block is generally designated 600. The process includes a start block 610, where control is passed to the input block 612. At input step 612, data of the compressed image block is received and control is transferred to input step 614. At input step 614, at least one reference image index with data for the image block is received, with each reference image index corresponding to a specific reference image. At input step 614, control is transferred to functional step 616, in which a weight coefficient corresponding to each of the received reference image indices is determined, and control is transferred to optional functional step 617. At optional functional step 617, an offset corresponding to each of the received reference image indices is determined, and transmitted control of functional step 618. At functional step 618, a reference image corresponding to each of the received indices of reference images, and transfer control to the functional step 620. At the functional step 620, in turn, the motion compensation of the extracted reference image is performed and control is transferred to the functional step 622. At the functional step 622, the motion-compensated reference image is multiplied by the corresponding weight coefficient and the control is transferred to the optional functional step 623. At an optional functional step 623, a motion-compensated reference image is summed with the corresponding offset it and passes control to a function block 624. The function block 624, in turn, form a weighted motion compensated reference picture, and passes control to step 626 is complete.

Согласно фиг.7 иллюстративный процесс кодирования данных видеосигнала для блока изображения обозначен в общем ссылочной позицией 700. Процесс включает в себя этап 710 начала, на котором передают управление этапу 712 ввода. На этапе 712 ввода принимают, по существу, данные несжатого блока изображения и передают управление функциональному этапу 714. На функциональном этапе 714 назначают весовой коэффициент для блока изображения, соответствующий конкретному эталонному изображению, имеющему соответствующий индекс. На функциональном этапе 714 передают управление необязательному функциональному этапу 715. На необязательном функциональном этапе 715 назначают смещение для блока изображения, соответствующее конкретному эталонному изображению, имеющему соответствующий индекс. На необязательном функциональном этапе 715 передают управление функциональному этапу 716, на котором вычисляют векторы движения, соответствующие разности между блоком изображения и конкретным эталонным изображением, и передают управление функциональному этапу 718. На функциональном этапе 718, в соответствии с векторами движения, выполняют компенсацию движения конкретного эталонного изображения и передают управление функциональному этапу 720. На функциональном этапе 720, в свою очередь, умножают скомпенсированное по движению эталонное изображение на назначенный весовой коэффициент для формирования взвешенного скомпенсированного по движению эталонного изображения и передают управление необязательному функциональному этапу 721. На необязательном функциональном этапе 721, в свою очередь, суммируют скомпенсированное по движению эталонное изображение с назначенным смещением для формирования взвешенного скомпенсированного по движению эталонного изображения и передают управление функциональному этапу 722. На функциональном этапе 722 вычитают взвешенное скомпенсированное по движению эталонное изображение из, по существу, несжатого блока изображения и передают управление функциональному этапу 724. На функциональном этапе 724, в свою очередь, кодируют сигнал с разностью между, по существу, несжатым блоком изображения и взвешенным скомпенсированным по движению эталонным изображением вместе с соответствующим индексом конкретного эталонного изображения и передают управление этапу 726 завершения.7, an illustrative encoding process of video signal data for an image block is generally designated 700. The process includes a start block 710, where control is passed to the input block 712. At input step 712, essentially, the data of the uncompressed image block is received and control is transferred to functional step 714. At functional step 714, a weight coefficient is assigned to the image block corresponding to a particular reference image having a corresponding index. At a functional step 714, control is transferred to an optional functional step 715. At an optional functional step 715, an offset for an image block corresponding to a particular reference image having a corresponding index is assigned. In optional functional step 715, control is transferred to functional step 716, in which motion vectors corresponding to the difference between the image block and the specific reference image are calculated, and control is transferred to functional step 718. At functional step 718, in accordance with the motion vectors, the motion compensation of the specific reference images and transfer control to the functional step 720. At the functional step 720, in turn, the motion-compensated reference image is multiplied click on the assigned weight coefficient to form a weighted motion-compensated reference image and control is transferred to the optional functional step 721. At the optional functional step 721, in turn, the motion-compensated reference image with the assigned offset is summed to form the weighted motion-compensated reference image and transmitted control of functional step 722. At functional step 722, the weighted compensated by move the reference image from the essentially uncompressed image block and transfer control to functional step 724. At functional step 724, in turn, a signal is encoded with the difference between the essentially uncompressed image block and the weighted motion-compensated reference image along with the corresponding index specific reference image and transfer control to step 726 completion.

В представленном возможном варианте осуществления, для каждого кодированного изображения или раздела, каждому допустимому эталонному изображению, в отношении которого могут быть кодированы блоки текущего изображения, сопоставлен весовой коэффициент. При кодировании или декодировании каждого отдельного блока в текущем изображении, для формирования взвешенного предсказателя, к эталонному предсказанию применяются весовой коэффициент(ы) и смещение(я), соответствующие его индексам эталонных изображений. Все блоки в разделе, которые кодируются относительно одинакового эталонного изображения, применяют к предсказанию эталонного изображения одинаковый весовой коэффициент.In the presented possible embodiment, for each encoded image or section, for each valid reference image, in relation to which blocks of the current image can be encoded, a weight coefficient is compared. When encoding or decoding each individual block in the current image, to form a weighted predictor, the weighting coefficient (s) and the offset (s) corresponding to its reference image indices are applied to the reference prediction. All blocks in a section that are encoded with respect to the same reference image apply the same weight to the prediction of the reference image.

Следует ли использовать адаптивное взвешивание при кодировании изображения или нет, может быть указано в наборе параметров изображения или наборе параметров последовательности или в заголовке изображения или раздела. Для каждого раздела или изображения, использующего адаптивное взвешивание, может передаваться весовой коэффициент для каждого из допустимых эталонных изображений, которые могут использоваться для кодирования этого раздела или изображения. Количество допустимых эталонных изображений передается в заголовке раздела. Например, если для кодирования текущего раздела могут использоваться три эталонных изображения, то передается до трех весовых коэффициентов, и они сопоставляются эталонному изображению с идентичным индексом.Whether adaptive weighting should be used when encoding an image or not can be indicated in the image parameter set or sequence parameter set or in the image or section header. For each section or image using adaptive weighting, a weight coefficient can be transmitted for each of the valid reference images that can be used to encode that section or image. The number of valid reference images is transmitted in the section header. For example, if three reference images can be used to encode the current section, then up to three weights are transmitted, and they are matched against the reference image with the same index.

Если не передается ни одного весового коэффициента, то используются веса, заданные по умолчанию. В одном варианте осуществления настоящего изобретения, когда не передается ни одного весового коэффициента, то используются веса, заданные по умолчанию (1/2, 1/2). Весовые коэффициенты могут передаваться с использованием кодов фиксированной или переменной длины.If no weights are transmitted, then the default weights are used. In one embodiment of the present invention, when no weight is transmitted, the default weights are used (1/2, 1/2). Weights can be transmitted using fixed or variable length codes.

В отличие от стандартных систем, каждый весовой коэффициент, который передается с каждым разделом, блоком или изображением, соответствует конкретному индексу эталонного изображения. Ранее, любой набор весовых коэффициентов, передаваемый с каждым разделом или изображением, не был сопоставлен какому-либо конкретному эталонному изображению. Вместо этого, для каждого блока движения, или области 8×8, передавался индекс адаптивного взвешивания двойного предсказания, для выбора, какой из весовых коэффициентов из передаваемого набора должен применяться для этого конкретного блока движения, или области 8×8.Unlike standard systems, each weighting factor that is transmitted with each section, block or image corresponds to a specific index of the reference image. Previously, any set of weights transmitted with each section or image has not been matched to any particular reference image. Instead, an adaptive double prediction index was transmitted for each motion block, or 8 × 8 region, to select which of the weights from the transmitted set should be applied to that particular motion block, or 8 × 8 region.

В представленном варианте осуществления индекс весового коэффициента для каждого блока движения, или области 8×8, не передается явно. Вместо этого используется весовой коэффициент, сопоставленный передаваемому индексу эталонного изображения. Это существенно уменьшает объем непроизводительной служебной информации в передаваемом потоке битов для обеспечения возможности адаптивного взвешивания эталонных изображений.In the present embodiment, the weighting index for each motion block, or 8 × 8 area, is not explicitly transmitted. Instead, a weighting coefficient associated with the transmitted index of the reference image is used. This significantly reduces the amount of unproductive overhead in the transmitted bit stream to enable adaptive weighting of reference images.

Упомянутые система и методика могут применяться к P-изображениям с предсказанием, которые кодируются одним предсказателем, или к B-изображениям с двойным предсказанием, которые кодируются двумя предсказателями. Ниже описаны процессы декодирования для случаев P- и B-изображений, которые имеют место и в кодере, и в декодерах. В качестве альтернативы, упомянутая методика может применяться также к системам кодирования, использующим концепции, подобные I, B и P-изображениям.The aforementioned system and methodology can be applied to prediction P-pictures that are encoded by one predictor, or to dual-predicted B-pictures that are encoded by two predictors. The decoding processes for the cases of P- and B-images, which take place both in the encoder and in the decoders, are described below. Alternatively, the technique may also be applied to coding systems using concepts like I, B and P-images.

Для однонаправленного предсказания в B-изображениях и для двунаправленного предсказания в B-изображениях могут использоваться идентичные весовые коэффициенты. Когда для макроблока используется один предсказатель, в P-изображениях или для однонаправленного предсказания в B-изображениях, для этого блока передается один индекс эталонного изображения. После того как в процессе декодирования на этапе компенсации движения создают предсказатель, к этому предсказателю применяют весовой коэффициент. Затем взвешенный предсказатель суммируют с кодированным остатком и в отношении результата суммирования выполняют отсечение по границам области, для формирования декодированного изображения. При использовании для блоков в P-изображениях или для блоков в B-изображениях, которые используют только предсказание списка 0, взвешенный предсказатель формируют в видеFor unidirectional prediction in B-images and for bi-directional prediction in B-images, identical weights can be used. When a single predictor is used for a macroblock, in P-images or for unidirectional prediction in B-images, one index of the reference image is transmitted for this block. After the predictor is created in the motion compensation step in the decoding process, a weight factor is applied to this predictor. Then, the weighted predictor is summed with the encoded remainder and, with respect to the summation result, clipping along the boundaries of the region is performed to form a decoded image. When used for blocks in P-images or for blocks in B-images that use only list 0 prediction, a weighted predictor is formed as

Pred=W0*Pred0+D0 (1),Pred = W0 * Pred0 + D0 (1),

где W0 - весовой коэффициент, сопоставленный эталонному изображению списка 0, D0 - смещение, сопоставленное эталонному изображению списка 0, и Pred0 - блок скомпенсированного по движению предсказания из эталонного изображения списка 0.where W0 is the weighting coefficient mapped to the reference image of list 0, D0 is the offset mapped to the reference image of list 0, and Pred0 is the motion-compensated prediction block from the reference image of list 0.

Для использования для блоков в B-изображениях, которые используют только предсказание списка 0, взвешенный предсказатель формируют в видеFor use for blocks in B-images that use only list 0 prediction, a weighted predictor is formed as

Pred=W1*Pred1+D1 (2),Pred = W1 * Pred1 + D1 (2),

где W1 - весовой коэффициент, сопоставленный эталонному изображению списка 1, D0 - смещение, сопоставленное эталонному изображению списка 1, и Pred1 - блок скомпенсированного по движению предсказания из эталонного изображения списка 1.where W1 is the weighting coefficient mapped to the reference image of list 1, D0 is the offset mapped to the reference image of list 1, and Pred1 is the motion-compensated prediction block from the reference image of list 1.

Для гарантии того, что результирующие значения будут находиться внутри допустимого диапазона значений пикселей, обычно от 0 до 255, может осуществляться отсечение по границам области в отношении взвешенных предсказателей. Точность умножения в формулах взвешивания может быть ограничена любым предварительно определенным количеством битов разрешения.To ensure that the resulting values are within an acceptable range of pixel values, typically from 0 to 255, clipping along the boundaries of the region with respect to weighted predictors can be performed. The accuracy of the multiplication in the weighting formulas can be limited by any predetermined number of resolution bits.

В случае с двойным предсказанием передаются индексы эталонного изображения для каждого из двух предсказателей. Для формирования двух предсказателей выполняется компенсация движения. Для формирования двух взвешенных предсказателей каждый предсказатель использует весовой коэффициент, сопоставленный со своим индексом эталонного изображения. Затем два взвешенных предсказателя усредняются вместе для формирования усредненного предсказателя, который затем складывается с кодированным остатком.In the case of dual prediction, reference image indices are transmitted for each of the two predictors. To form two predictors, motion compensation is performed. To form two weighted predictors, each predictor uses a weight coefficient mapped to its reference image index. Then, two weighted predictors are averaged together to form an averaged predictor, which is then added to the encoded remainder.

Для использования для блоков в B-изображениях, которые используют предсказатели списка 0 и списка 1, взвешенный предсказатель формируют в видеFor use for blocks in B-images that use the predictors of list 0 and list 1, a weighted predictor is formed as

Pred=(P0*Pred0+D0+P1*Pred1+D1)/2 (3)Pred = (P0 * Pred0 + D0 + P1 * Pred1 + D1) / 2 (3)

Для гарантии того, что результирующие значения будут находиться внутри допустимого диапазона значений пикселей, обычно от 0 до 255, к взвешенному предсказателю или любому из промежуточных значений в вычислении взвешенного предсказателя может быть применено отсечение по границам области.To ensure that the resulting values are within an acceptable range of pixel values, typically from 0 to 255, clipping along the boundaries of the region can be applied to the weighted predictor or any of the intermediate values in the calculation of the weighted predictor.

Соответственно, к предсказанию эталонного изображения декодера и кодера сжатия видеосигнала, которые используют несколько эталонных изображений, применяется весовой коэффициент. Весовой коэффициент адаптируется для отдельных блоков движения внутри изображения на основе индекса эталонного изображения, которое используется для этого блока движения. Так как индекс эталонного изображения уже передается в потоке битов сжатого видеосигнала, существенно уменьшается объем дополнительной непроизводительной служебной информации для адаптации весового коэффициента на основе блока движения. Все блоки движения, кодированные относительно одинакового эталонного изображения, применяют к предсказанию эталонного изображения одинаковый весовой коэффициент.Accordingly, a weighting factor is applied to the prediction of the reference image of the decoder and the video compression encoder that use several reference images. The weight coefficient is adapted for individual motion blocks within the image based on the index of the reference image that is used for this motion block. Since the index of the reference image is already transmitted in the bit stream of the compressed video signal, the amount of additional overhead service information for adapting the weight coefficient based on the motion block is significantly reduced. All motion blocks encoded with respect to the same reference image apply the same weight to the prediction of the reference image.

Специалисты в данной области техники на основе приведенных здесь принципов могут легко обнаружить указанные и другие признаки и преимущества настоящего изобретения. Понятно, что принципы настоящего изобретения могут быть реализованы в различных видах аппаратных средств, программного обеспечения, программно-аппаратных средств, специализированных процессоров или в их комбинациях.Those skilled in the art, based on the principles set forth herein, can readily discover these and other features and advantages of the present invention. It is understood that the principles of the present invention can be implemented in various types of hardware, software, firmware, specialized processors, or combinations thereof.

Наиболее предпочтительна реализация принципов настоящего изобретения в виде комбинации аппаратных средств и программного обеспечения. Кроме того, программное обеспечение, предпочтительно, реализуется в виде прикладной программы, физически реализованной в блоке памяти для хранения программ. Прикладная программа может быть загружена в вычислительное устройство, имеющее любую соответствующую архитектуру, и выполняться на нем. Предпочтительно, вычислительное устройство реализовано на платформе компьютера, имеющей такие аппаратные средства, как один или большее количество центральных процессоров (CPU), оперативное запоминающее устройство (RAM) и интерфейсы ввода/вывода (I/O). Платформа компьютера может включать в себя также код микрокоманд и операционную систему. Различные процессы и функции, описанные здесь, могут являться частью кода микрокоманд или частью прикладной программы, или любой их комбинацией, которая может выполняться CPU. Дополнительно к платформе компьютера могут быть подсоединены разные другие периферийные устройства, такие как дополнительный блок памяти для хранения данных и печатающее устройство.Most preferred is the implementation of the principles of the present invention as a combination of hardware and software. In addition, the software is preferably implemented as an application program physically implemented in a memory unit for storing programs. An application program may be downloaded to and executed on a computing device having any appropriate architecture. Preferably, the computing device is implemented on a computer platform having hardware such as one or more central processing units (CPUs), random access memory (RAM), and input / output (I / O) interfaces. A computer platform may also include micro-command code and an operating system. The various processes and functions described herein may be part of the micro-command code or part of an application program, or any combination of them that can be executed by the CPU. In addition to the computer platform, various other peripheral devices can be connected, such as an additional memory unit for storing data and a printing device.

Также следует понимать, что, так как некоторые из составляющих систему компонентов и способов, изображенных на приложенных чертежах, предпочтительно, реализованы в программном обеспечении, фактические связи между компонентами системы или функциональными блоками процесса могут варьироваться в зависимости от того, как запрограммировано настоящее изобретение. При наличии приведенных здесь принципов специалист в данной области техники может предусмотреть указанные и подобные реализации или конфигурации настоящего изобретения.It should also be understood that, since some of the components of the system and methods depicted in the attached drawings are preferably implemented in software, the actual relationships between system components or process function blocks may vary depending on how the present invention is programmed. In the presence of the principles set forth herein, one skilled in the art may envision these and similar implementations or configurations of the present invention.

Хотя здесь, согласно приложенным чертежам, были описаны иллюстративные варианты осуществления, понятно, что настоящее изобретение не ограничивается именно этими вариантами осуществления и что специалист в данной области техники, не удаляясь от сути и не выходя за рамки объема настоящего изобретения, может внести различные изменения и модификации. Подразумевается, что все такие изменения и модификации включены в объем настоящего изобретения, определяемый приложенной формулой изобретения.Although illustrative embodiments have been described herein, according to the attached drawings, it is understood that the present invention is not limited to just these embodiments and that a person skilled in the art can make various changes without departing from the gist and without departing from the scope of the present invention and modifications. It is intended that all such changes and modifications be included within the scope of the present invention as defined by the appended claims.

Claims (8)

1. Видеокодер для кодирования данных видеосигнала для блока изображения и индекса конкретного эталонного изображения, содержащий1. A video encoder for encoding video signal data for an image block and an index of a specific reference image, comprising модуль приема для приема, по существу, несжатого блока изображения,a receiving module for receiving a substantially uncompressed image block, модуль назначения весового коэффициента для назначения для этого блока изображения весового коэффициента, соответствующего первому конкретному эталонному изображению, имеющему соответствующий индекс,a weighting coefficient assigning unit for assigning a weighting factor for this image block corresponding to the first specific reference image having a corresponding index, средство вычисления для вычисления векторов движения, соответствующих разности между упомянутым блоком изображения и первым конкретным эталонным изображением,calculation means for calculating motion vectors corresponding to a difference between said image block and a first specific reference image, модуль компенсации движения для выполнения компенсации движения в отношении первого конкретного эталонного изображения в соответствии с упомянутыми векторами движения,a motion compensation module for performing motion compensation with respect to the first specific reference image in accordance with said motion vectors, модуль умножения для умножения скомпенсированного по движению первого конкретного эталонного изображения на назначенный весовой коэффициент с целью формирования взвешенного скомпенсированного по движению первого эталонного изображения,a multiplication module for multiplying a motion-compensated first specific reference image by an assigned weight coefficient in order to generate a weighted motion-compensated first reference image, второй модуль назначения весового коэффициента для назначения для упомянутого блока изображения весового коэффициента, соответствующего второму конкретному эталонному изображению, имеющему второй соответствующий индекс,a second weight assignment module for assigning, for said image block, a weight corresponding to a second specific reference image having a second corresponding index, средство вычисления для вычисления векторов движения, соответствующих разности между упомянутым блоком изображения и вторым конкретным эталонным изображением,calculation means for calculating motion vectors corresponding to the difference between said image block and a second specific reference image, модуль компенсации движения для выполнения компенсации движения в отношении второго конкретного эталонного изображения в соответствии с упомянутыми векторами движения,a motion compensation module for performing motion compensation with respect to the second specific reference image in accordance with said motion vectors, модуль умножения для умножения скомпенсированного по движению второго конкретного эталонного изображения на назначенный весовой коэффициент с целью формирования взвешенного скомпенсированного по движению эталонного изображения,a multiplication module for multiplying a motion-compensated second specific reference image by an assigned weight coefficient in order to generate a weighted motion-compensated reference image, средство объединения для объединения взвешенного скомпенсированного по движению первого эталонного изображения с взвешенным скомпенсированным по движению вторым эталонным изображением для формирования скомпенсированного по движению результирующего эталонного изображения,combining means for combining a weighted motion-compensated first reference image with a weighted motion-compensated second reference image to form a motion-compensated resulting reference image, модуль вычитания для вычитания скомпенсированного по движению результирующего эталонного изображения из упомянутого по существу несжатого блока изображения, иa subtraction module for subtracting the motion-compensated resulting reference image from said substantially uncompressed image block, and модуль кодирования для кодирования сигнала, указывающего разность между упомянутым, по существу, несжатым блоком изображения и скомпенсированным по движению результирующим эталонным изображением, совместно с соответствующими индексами упомянутых двух конкретных эталонных изображений, использованных для формирования скомпенсированного по движению результирующего эталонного изображения.an encoding module for encoding a signal indicating a difference between said substantially uncompressed image block and a motion-compensated resulting reference image, together with corresponding indices of said two specific reference images used to form a motion-compensated resulting reference image. 2. Видеокодер по п.1, дополнительно содержащий хранилища эталонных изображений, связанные с возможностью обмена сигналами с упомянутыми модулями назначения весового коэффициента эталонного изображения, для предоставления эталонных изображений, соответствующих индексам упомянутых конкретных эталонных изображений.2. The video encoder according to claim 1, further comprising storages of reference images associated with the ability to exchange signals with said modules for assigning a weight coefficient of a reference image to provide reference images corresponding to the indices of said specific reference images. 3. Видеокодер по п.1, используемый с предсказателями изображения с двойным предсказанием и дополнительно содержащий средство предсказания для формирования первого и второго предсказателей из двух различных эталонных изображений.3. The video encoder according to claim 1, used with dual predictive image predictors and further comprising prediction means for generating the first and second predictors from two different reference images. 4. Видеокодер по п.3, в котором оба из упомянутых двух различных эталонных изображений соответствуют одному направлению относительно упомянутого блока изображения.4. The video encoder according to claim 3, in which both of said two different reference images correspond to one direction relative to said image block. 5. Способ кодирования данных видеосигнала для блока изображения, включающий в себя этапы, на которых5. A method of encoding video data for an image block, comprising the steps of: принимают, по существу, несжатый блок изображения,receive a substantially uncompressed image block, назначают для этого блока изображения весовой коэффициент, соответствующий первому конкретному эталонному изображению, имеющему соответствующий индекс,assign a weighting factor for this image block corresponding to the first particular reference image having a corresponding index, вычисляют векторы движения, соответствующие разности между упомянутым блоком изображения и первым конкретным эталонным изображением,calculating motion vectors corresponding to the difference between said image block and the first specific reference image, выполняют компенсацию движения в отношении первого конкретного эталонного изображения в соответствии с упомянутыми векторами движения,performing motion compensation with respect to the first specific reference image in accordance with said motion vectors, умножают скомпенсированное по движению первое конкретное эталонное изображение на назначенный весовой коэффициент для формирования взвешенного скомпенсированного по движению первого эталонного изображения,multiplying the motion-compensated first specific reference image by an assigned weight coefficient to form a weighted motion-compensated first reference image, назначают для упомянутого блока изображения весовой коэффициент, соответствующий второму конкретному эталонному изображению, имеющему соответствующий индекс,a weighting factor corresponding to the second specific reference image having a corresponding index is assigned to said image block, вычисляют векторы движения, соответствующие разности между упомянутым блоком изображения и вторым конкретным эталонным изображением,calculating motion vectors corresponding to the difference between said image block and a second specific reference image, выполняют компенсацию движения в отношении второго конкретного эталонного изображения в соответствии с упомянутыми векторами движения,performing motion compensation with respect to the second specific reference image in accordance with said motion vectors, умножают скомпенсированное по движению второе конкретное эталонное изображение на назначенный весовой коэффициент для формирования взвешенного скомпенсированного по движению второго эталонного изображения,multiplying the motion-compensated second specific reference image by an assigned weight coefficient to form a weighted motion-compensated second reference image, объединяют взвешенное скомпенсированное по движению первое эталонного изображение со взвешенным скомпенсированным по движению вторым эталонным изображением для формирования скомпенсированного по движению результирующего эталонного изображения,combining a weighted motion-compensated first reference image with a weighted motion-compensated second reference image to form a motion-compensated resulting reference image, вычитают скомпенсированное по движению результирующее эталонное изображение из упомянутого по существу несжатого блока изображения, иsubtracting the motion-compensated resulting reference image from said substantially uncompressed image block, and кодируют сигнал, указывающий разность между упомянутым по существу несжатым блоком изображения и скомпенсированным по движению результирующим эталонным изображением, совместно с соответствующими индексами упомянутых двух конкретных эталонных изображений, использованных для формирования скомпенсированного по движению результирующего эталонного изображения.encode a signal indicating the difference between said substantially uncompressed image block and a motion-compensated resulting reference image, together with corresponding indices of said two specific reference images used to form a motion-compensated resulting reference image. 6. Способ по п.5, в котором вычисление векторов движения включает в себя этапы, на которых выполняют проверку внутри области поиска на предмет любого перемещения внутри предварительно определенного диапазона смещений относительно упомянутого блока изображения, вычисляют по меньшей мере одно из суммы абсолютных разностей и среднеквадратической ошибки каждого пикселя в упомянутом блоке изображения с скомпенсированным по движению эталонным изображением, и выбирают смещение с наименьшей суммой абсолютных разностей или среднеквадратической ошибкой в качестве вектора движения.6. The method according to claim 5, in which the calculation of the motion vectors includes the steps of checking inside the search area for any movement within a predetermined range of displacements relative to the image block, at least one of the sum of the absolute differences and the mean square errors of each pixel in said image block with a motion-compensated reference image, and the offset with the smallest sum of absolute differences or rms is selected by mistake as a motion vector. 7. Способ по п.5, в котором оба из упомянутых двух различных эталонных изображений соответствуют одному направлению относительно упомянутого блока изображения.7. The method according to claim 5, in which both of said two different reference images correspond to one direction relative to said image block. 8. Способ по п.5, в котором вычисление векторов движения включает в себя этапы, на которых выполняют проверку внутри области поиска на предмет любого перемещения внутри предварительно определенного диапазона смещений относительно упомянутого блока изображения, вычисляют по меньшей мере одно из суммы абсолютных разностей и среднеквадратической ошибки каждого пикселя в упомянутом блоке изображения с первым скомпенсированным по движению эталонным изображением, соответствующим первому предсказателю, выбирают смещение с наименьшей суммой абсолютных разностей или среднеквадратической ошибкой в качестве вектора движения для первого предсказателя, вычисляют по меньшей мере одно из суммы абсолютных разностей и среднеквадратической ошибки каждого пикселя в блоке изображения со вторым скомпенсированным по движению эталонным изображением, соответствующим второму предсказателю, и выбирают смещение с наименьшей суммой абсолютных разностей или среднеквадратической ошибкой в качестве вектора движения для второго предсказателя.8. The method according to claim 5, in which the calculation of the motion vectors includes the steps of checking inside the search area for any movement within a predetermined range of displacements relative to the image block, at least one of the sum of the absolute differences and the mean square the errors of each pixel in the said image block with the first motion-compensated reference image corresponding to the first predictor select the offset with the smallest sum of the absolute differences or the standard error as the motion vector for the first predictor, calculate at least one of the sum of the absolute differences and the standard error of each pixel in the image block with the second motion-compensated reference image corresponding to the second predictor, and select the offset with the smallest sum of absolute differences or standard error as the motion vector for the second predictor.
RU2005103829/09A 2002-07-15 2003-07-14 Adaptive weighing of reference images during video signal coding RU2325783C2 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US39587402P 2002-07-15 2002-07-15
US39584302P 2002-07-15 2002-07-15
US60/395,874 2002-07-15
US60/395,843 2002-07-15
US10/410,456 2003-04-09

Publications (2)

Publication Number Publication Date
RU2005103829A RU2005103829A (en) 2005-07-20
RU2325783C2 true RU2325783C2 (en) 2008-05-27

Family

ID=35842357

Family Applications (2)

Application Number Title Priority Date Filing Date
RU2005103829/09A RU2325783C2 (en) 2002-07-15 2003-07-14 Adaptive weighing of reference images during video signal coding
RU2005103830/09A RU2333615C2 (en) 2002-07-15 2003-07-14 Adaptive weighing of master images when decoding video signal

Family Applications After (1)

Application Number Title Priority Date Filing Date
RU2005103830/09A RU2333615C2 (en) 2002-07-15 2003-07-14 Adaptive weighing of master images when decoding video signal

Country Status (1)

Country Link
RU (2) RU2325783C2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2699253C2 (en) * 2010-09-03 2019-09-04 Гуандун Оппо Мобайл Телекоммьюникейшнз Корп., Лтд. Method and system for compensation of illumination and transition when encoding and processing video signal
PL409214A1 (en) * 2011-11-08 2015-07-20 Kt Corporation Method and the device for scanning coefficients on the basis of the prediction unit division mode
ES2864591T3 (en) * 2011-12-21 2021-10-14 Sun Patent Trust Context selection for entropy coding of transform coefficients

Also Published As

Publication number Publication date
RU2005103829A (en) 2005-07-20
RU2333615C2 (en) 2008-09-10
RU2005103830A (en) 2005-07-20

Similar Documents

Publication Publication Date Title
JP6496056B2 (en) Adaptive weighting of reference pictures in video coding
RU2342803C2 (en) Implicit weighing of basic images in video coder
JP6370359B2 (en) Adaptive weighting of reference pictures in video decoding
JP4533841B2 (en) Motion estimation by weighted prediction
RU2325783C2 (en) Adaptive weighing of reference images during video signal coding

Legal Events

Date Code Title Description
PD4A Correction of name of patent owner
PC41 Official registration of the transfer of exclusive right

Effective date: 20191111