RU2533852C2 - Method of encoding/decoding multiview video sequence based on adaptive compensation of local illumination mismatches with interframe prediction (versions) - Google Patents
Method of encoding/decoding multiview video sequence based on adaptive compensation of local illumination mismatches with interframe prediction (versions) Download PDFInfo
- Publication number
- RU2533852C2 RU2533852C2 RU2012157008/08A RU2012157008A RU2533852C2 RU 2533852 C2 RU2533852 C2 RU 2533852C2 RU 2012157008/08 A RU2012157008/08 A RU 2012157008/08A RU 2012157008 A RU2012157008 A RU 2012157008A RU 2533852 C2 RU2533852 C2 RU 2533852C2
- Authority
- RU
- Russia
- Prior art keywords
- block
- pixels
- reference block
- encoded
- current
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/186—Methods 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 a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods 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/196—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
Abstract
Description
Изобретение относится к технологиям обработки цифровых сигналов в компьютерной системе, а более конкретно - к способам коррекции различий в яркости, которые могут возникать между кадрами многоракурсной видеопоследовательности. В частности, настоящее изобретение может быть использовано при кодировании и декодировании многоракурсных видеопоследовательностей.The invention relates to technologies for processing digital signals in a computer system, and more particularly to methods for correcting differences in brightness that may occur between frames of a multi-angle video sequence. In particular, the present invention can be used in the encoding and decoding of multi-angle video sequences.
Один из известных из уровня техники способов, применяемых для кодирования многоракурсных видеопоследовательностей, заключается в использовании кадров, принадлежащих соседним видам (ракурсам), а также кадров, синтезированных с помощью кадров соседних видов (ракурсов) и карт глубин. Такие кадры выступают в качестве опорных кадров при проведении кодирования с предсказанием [1]. При этом производится устранение возможного смещения объекта в текущем кадре относительно одного из опорных кадров. Под смещением может пониматься движение объекта или различие в положении объекта между текущим кодируемым кадром и кадрами, принадлежащими соседним видам (ракурсам), или синтезированным кадром. Цель устранения указанного смещения заключается в минимизации межкадровой разности. Полученная межкадровая разность затем кодируется (например, путем применения декоррелирующего преобразования, квантования и энтропийного кодирования) и помещается в выходной - битовый поток.One of the methods known from the prior art used for coding multi-angle video sequences is to use frames belonging to neighboring views (angles), as well as frames synthesized using frames of neighboring views (angles) and depth maps. Such frames act as reference frames during prediction coding [1]. This eliminates the possible displacement of the object in the current frame relative to one of the reference frames. Under the displacement can be understood the movement of the object or the difference in the position of the object between the current encoded frame and frames belonging to neighboring views (angles), or a synthesized frame. The purpose of eliminating this bias is to minimize the inter-frame difference. The resulting inter-frame difference is then encoded (for example, by applying decorrelation transform, quantization, and entropy coding) and placed in the output bitstream.
Возможные различия в параметрах камер, используемых для съемки многоракурсных видеопоследовательностей, а также различие в световом потоке, поступающем от объектов съемки к камерам, приводят к локальным различиям яркости между кадрами, принадлежащими разным ракурсам. Указанные различия в яркости также влияют на характеристики синтезированных кадров. Это может приводить к увеличению абсолютных значений межкадровой разности, что негативно сказывается на эффективности кодирования.Possible differences in the parameters of the cameras used for shooting multi-angle video sequences, as well as the difference in the luminous flux coming from the objects to the cameras, lead to local differences in brightness between frames belonging to different angles. The indicated differences in brightness also affect the characteristics of the synthesized frames. This can lead to an increase in the absolute values of the interframe difference, which negatively affects the coding efficiency.
Для решения указанной выше проблемы в стандарте Н.264 [2] используется взвешенный прогноз, изначально предназначенный для эффективного кодирования одновидовых (одноракурсных) видеопоследовательностей, в которых встречаются эффекты плавного введения и выведения изображения, мерцания или смены сцены. Взвешенный прогноз позволяет устранять различие в яркости между кодируемым кадром и опорными кадрами на уровне макроблоков. При этом используются одни и те же значения весовых коэффициентов для всех макроблоков, принадлежащих одному и тому же слою. Весовые коэффициенты могут определяться в процессе кодирования и сохраняться в выходном битовом потоке («явный» взвешенный прогноз) или вычисляться в процессе кодирования/декодирования («неявный» взвешенный прогноз). Однако в случае многоракурсных последовательностей, где могут наблюдаться локальные изменения яркости и/или контрастности, такой способ может оказаться неэффективным.To solve the above problem, the H.264 standard [2] uses a weighted forecast, which was originally intended for efficient coding of single-species (single-view) video sequences in which there are effects of smooth input and output of images, flicker or scene change. Weighted prediction eliminates the difference in brightness between the encoded frame and reference frames at the macroblock level. In this case, the same values of the weighting coefficients are used for all macroblocks belonging to the same layer. Weights can be determined during the encoding process and stored in the output bitstream (“explicit” weighted forecast) or calculated in the encoding / decoding process (“implicit” weighted forecast). However, in the case of multi-angle sequences, where local changes in brightness and / or contrast can be observed, this method may be ineffective.
Другим подходом к решению указанной проблемы является адаптивная поблочная коррекция различия в яркости [3]. Одним из способов, реализующих указанный подход, является способ одношаговой аффинной коррекции яркости для многоракурсных видеопоследовательностей (Multiview One-Step Affine Illumination Compensation - MOSAIC) [4, 5]. Указанный способ предполагает комбинацию поблочной коррекции различия в яркости с описанными в [2] режимами межкадрового предсказания. В процессе такого кодирования для каждого макроблока вычисляют средние значения пикселей текущего кодируемого блока и опорного блока-кандидата. Для указанных блоков формируют модифицированные блоки путем вычитания среднего значения для каждого пикселя блока. Затем для полученных блоков вычисляют сумму абсолютных разностей (Mean-Removed Sum of Absolute Difference - MRSAD). Результатом межкадрового предсказания являются относительные координаты опорного блока (вектор смещения), которые дают минимальное значение стоимости кодирования, а также разность между модифицированным кодируемым блоком и модифицированным опорным блоком. При этом вычисление стоимости кодирования основывается на вычисленном значении MRSAD и оценке битовых затрат на передачу дополнительной информации, необходимой для последующего декодирования. Помимо вектора смещения дополнительная информация включает в себя разность между средними значениями текущего и опорного блоков. Эта разность обозначается как DVIC (Difference Value of Illumination Compensation) и является параметром коррекции яркости. Значение DVIC подвергается дифференциальному кодированию и помещается в выходной битовый поток. Необходимо отметить, что в случае режима "Р Skip" значение DVIC определяется на основании значений DVIC соседних макроблоков, которые уже были закодированы на момент кодирования текущего макроблока. Таким образом, приведенный способ не позволяет полностью устранить необходимость явной передачи дополнительной информации, необходимой для последующего декодирования.Another approach to solving this problem is adaptive block correction of differences in brightness [3]. One of the methods that implements this approach is the method of one-step affine brightness correction for multi-angle video sequences (Multiview One-Step Affine Illumination Compensation - MOSAIC) [4, 5]. The specified method involves a combination of block correction of differences in brightness with the interframe prediction modes described in [2]. In the process of such coding, for each macroblock, the average pixel values of the current encoded block and the candidate reference block are calculated. For these blocks, modified blocks are formed by subtracting the average value for each pixel of the block. Then, for the obtained blocks, the Mean-Removed Sum of Absolute Difference (MRSAD) is calculated. The result of inter-frame prediction is the relative coordinates of the reference block (offset vector), which give the minimum value of the encoding, as well as the difference between the modified encoded block and the modified reference block. In this case, the calculation of the encoding cost is based on the calculated MRSAD value and an estimate of the bit cost of transmitting additional information necessary for subsequent decoding. In addition to the displacement vector, additional information includes the difference between the average values of the current and reference blocks. This difference is referred to as DVIC (Difference Value of Illumination Compensation) and is a brightness correction parameter. The DVIC value is differential encoded and placed in the output bitstream. It should be noted that in the case of the "P Skip" mode, the DVIC value is determined based on the DVIC values of neighboring macroblocks that were already encoded at the time of encoding the current macroblock. Thus, the above method does not completely eliminate the need for explicit transmission of additional information necessary for subsequent decoding.
Параметры, необходимые для коррекции различия яркости могут быть получены путем анализа восстановленных (закодированных, а затем декодированных) областей кадров. Это позволяет уменьшить количество дополнительной информации, которая должна быть закодирована в выходном битовом потоке. Указанный подход был реализован в способе взвешенного предсказания с использованием соседних пикселей (WPNP - Weighted Prediction using Neighboring Pixels) [6]. Этот способ использует значения пикселей кодируемого кадра, соседних с текущим кодируемым блоком, и значения пикселей опорного кадра, соседних с опорным блоком, для попиксельной оценки изменения яркости. При этом изменения яркости для выбираемых двух соседних пикселей умножаются на весовые коэффициенты и складываются, образуя оценку изменения яркости и контрастности между отдельными пикселями текущего и опорного блоков. Необходимо отметить, что весовые коэффициенты вычисляются отдельно для каждого положения пикселя кодируемого блока. Значения весовых коэффициентов определяются исходя из взаимного расстояния между пикселем кодируемого блока и выбранными соседними пикселями. На точность производимой оценки оказывает влияние то, что изменение яркости пикселей, соседних по отношению к кодируемому и опорному блокам, может отличаться от изменения яркости пикселей, принадлежащих непосредственно кодируемому и опорному блокам, а также то, что метод согласно [6], учитывает только взаимное пространственное положение пикселей, но не учитывает соотношения интенсивностей корректируемого пикселя и пикселя из окрестности.The parameters necessary for correcting the difference in brightness can be obtained by analyzing the reconstructed (encoded and then decoded) frame regions. This reduces the amount of additional information that must be encoded in the output bitstream. The indicated approach was implemented in the method of weighted prediction using neighboring pixels (WPNP - Weighted Prediction using Neighboring Pixels) [6]. This method uses the pixel values of the encoded frame adjacent to the current encoded block and the pixel values of the reference frame adjacent to the reference block for pixel-by-pixel estimation of brightness changes. In this case, the brightness changes for the selected two neighboring pixels are multiplied by weighting factors and added up, forming an estimate of the brightness and contrast changes between the individual pixels of the current and reference blocks. It should be noted that weights are calculated separately for each pixel position of the encoded block. The values of the weighting coefficients are determined based on the mutual distance between the pixel of the encoded block and the selected neighboring pixels. The accuracy of the estimation is influenced by the fact that a change in the brightness of pixels adjacent to the encoded and reference blocks may differ from a change in the brightness of pixels belonging directly to the encoded and reference blocks, and also that the method according to [6] takes into account only the mutual spatial position of pixels, but does not take into account the ratio of intensities of the adjusted pixel and the pixel from the neighborhood.
Другой вариант, реализующий подход, связанный с оценкой параметров изменения яркости и контрастности путем анализа восстановленных (закодированных, а затем декодированных) областей кадров, описан в патентной заявке США 2011/0286678 [7]. Описываемый в заявке способ кодирования многоракурсных видеопоследовательностей включает в себя коррекцию различия яркости в процессе кодирования с предсказанием. Параметры коррекции яркости оценивают исходя из оценки изменения яркости областей, соседних по отношению к кодируемому и опорному блокам областей. Так как указанные области доступны как на этапе кодирования, так и на этапе декодирования, отпадает необходимость явной передачи параметров коррекции в выходном битовом потоке. Получаемые параметры применяются для коррекции опорного блока. Надежность оценки параметров изменения яркости определяется путем коррекции яркости для области опорного кадра, смежной с опорным блоком, и сравнения полученной скорректированной области с восстановленной (закодированной и затем декодированной) областью кодируемого кадра, смежной с текущим кодируемым блоком. Недостаток указанного способа заключается в том, расчет параметров коррекции выполняется на основе всех пикселей выбранных смежных областей, при этом не предусматривается исключение из рассмотрения отдельных пикселей, которые могут негативно влиять на получаемые параметры коррекции, а лишь производится оценка надежности коррекции в целом, на основе которой затем принимается решение о том, имеет ли смысл выполнять коррекцию или нет. Это может приводить к исключению этапа коррекции в целом, либо к ошибочной коррекции, тем самым снижая эффективность межкадрового кодирования.Another option that implements the approach associated with assessing the parameters of changing the brightness and contrast by analyzing the reconstructed (encoded, and then decoded) areas of the frames is described in US patent application 2011/0286678 [7]. The encoding method for multi-angle video sequences described in the application includes the correction of the brightness difference in the prediction encoding process. The brightness correction parameters are estimated based on the assessment of changes in the brightness of areas adjacent to the coded and reference blocks of the areas. Since these areas are available both at the coding stage and at the decoding stage, there is no need to explicitly transmit correction parameters in the output bitstream. The resulting parameters are used to correct the reference block. The reliability of the estimation of brightness variation parameters is determined by adjusting the brightness for the region of the reference frame adjacent to the reference block, and comparing the obtained corrected region with the reconstructed (encoded and then decoded) region of the encoded frame adjacent to the current encoded block. The disadvantage of this method is that the calculation of the correction parameters is performed on the basis of all the pixels of the selected adjacent areas, while it does not exclude from consideration individual pixels that can adversely affect the obtained correction parameters, but only estimates the reliability of the correction as a whole, based on which then a decision is made on whether it makes sense to perform the correction or not. This can lead to the elimination of the correction stage as a whole, or to erroneous correction, thereby reducing the efficiency of inter-frame coding.
Наиболее близким к заявляемому изобретению является способ, описанный в патентной заявке США 2008/0304760 [8]. Указанный способ реализуется компьютерной системой и направлен на коррекции изменения яркости и контрастности для опорного блока. При этом данный способ включает в себя следующие этапы: получение восстановленных значений пикселей, соседних по отношению к текущему кодируемому блоку, и восстановленных значений пикселей, соседних по отношению к опорному блоку, в качестве входной информации; предсказание средних значений для текущего кодируемого и опорного блоков на основании восстановленных значений пикселей, соседних по отношению к текущему кодируемому блоку, и восстановленных значений пикселей, соседних по отношению к опорному блоку; определение параметров коррекции яркости для опорного блока на основе предсказанного среднего значения пикселей текущего кодируемого блока, предсказанного среднего значения опорного блока и значений пикселей текущего кодируемого блока и опорного блока; и выполнение коррекции яркости для опорного блока, используя ранее определенный параметр коррекции яркости.Closest to the claimed invention is the method described in US patent application 2008/0304760 [8]. The specified method is implemented by a computer system and is aimed at correcting changes in brightness and contrast for the reference block. Moreover, this method includes the following steps: obtaining the restored pixel values adjacent to the current block being encoded, and the restored pixel values adjacent to the reference block, as input information; predicting average values for the current encoded and reference blocks based on the restored pixel values adjacent to the current encoded block and the restored pixel values adjacent to the reference block; determining brightness correction parameters for the reference block based on the predicted average pixel value of the current encoded block, the predicted average value of the reference block and pixel values of the current encoded block and the reference block; and performing luminance correction for the reference block using a previously determined luminance correction parameter.
Недостаток прототипа [8] заключается в следующем. Восстановленные значения пикселей, соседних по отношению к текущему кодируемому блоку и опорному блоку, используются исключительно для предсказания средних значений. Это ограничение не позволяет использовать информацию, которая содержится в соседних пикселях. Кроме того, отсутствует анализ соотношений между значениями пикселей опорного блока и значениями пикселей, соседних по отношению к опорному блоку. Таким образом, не принимаются во внимание возможные различия в параметрах коррекции изменения яркости между рассматриваемыми блоками и областями, соседними по отношению к рассматриваемым блокам. Это может приводить к снижению надежности процедуры коррекции различия в яркости и контрастности, что негативным образом будет сказываться на эффективности кодирования. Помимо этого, способ не позволяет учесть наличие пикселей в смежных областях, значения которых в силу различных причин, например из-за внесенных искажений при сжатии с потерями, оказываются сильно отличающимися от общей совокупности пикселей в смежных областях. Ввиду этого точность финальной оценки параметров коррекции яркости может быть существенно снижена. Также недостатком прототипа является то, что параметры коррекции всегда передаются в выходном битовом потоке, что, в целом, может ухудшать эффективность компрессии.The disadvantage of the prototype [8] is as follows. The reconstructed values of pixels adjacent to the current encoded block and the reference block are used solely to predict average values. This restriction does not allow the use of information contained in neighboring pixels. In addition, there is no analysis of the relationship between the pixel values of the reference block and the values of pixels adjacent to the reference block. Thus, possible differences in the brightness correction correction parameters between the blocks under consideration and the regions adjacent to the blocks under consideration are not taken into account. This can lead to a decrease in the reliability of the procedure for correcting differences in brightness and contrast, which will negatively affect the encoding efficiency. In addition, the method does not allow to take into account the presence of pixels in adjacent areas, the values of which for various reasons, for example, due to introduced distortions during compression with losses, turn out to be very different from the total set of pixels in adjacent areas. In view of this, the accuracy of the final estimation of the brightness correction parameters can be significantly reduced. Another disadvantage of the prototype is that the correction parameters are always transmitted in the output bitstream, which, in general, can degrade the compression efficiency.
Задача, на решение которой направлено заявляемое изобретение, заключается в том, чтобы разработать реализуемый компьютерной системой способ, позволяющий повысить эффективность межкадрового предсказания при кодировании многоракурсной видеопоследовательности в сравнении с прототипом [8].The problem to which the claimed invention is directed is to develop a method implemented by a computer system that can improve the efficiency of inter-frame prediction when encoding a multi-angle video sequence in comparison with the prototype [8].
Технический результат достигается за счет разработки группы объединенных единым замыслом способов компьютерной обработки цифровых сигналов, основанных на усовершенствованном способе адаптивной локальной компенсации различий яркости между опорным блоком и текущим кодируемым блоком на основе пикселей из окрестностей опорного и кодируемого блоков, значения которых оцениваются как достоверные. При этом способ адаптивной локальной компенсации включает в себя выполнение следующих операций:The technical result is achieved by developing a group of methods for computer processing digital signals united by a single concept, based on an improved method of adaptive local compensation of brightness differences between the reference block and the current encoded block based on pixels from the neighborhoods of the reference and encoded blocks, the values of which are estimated as reliable. The method of adaptive local compensation includes the following operations:
- получают значения пикселей текущего кодируемого блока, принадлежащего кодируемому кадру, и значения пикселей опорного блока, принадлежащего опорному кадру;- get the pixel values of the current encoded block belonging to the encoded frame, and the pixel values of the reference block belonging to the reference frame;
- получают восстановленные (закодированные и затем декодированные) значения пикселей, соседних по отношению к текущему блоку кодируемого кадра, и значения пикселей, соседних по отношению к опорному блоку опорного кадра; при этом получаемые пиксели выбирают из одной или более пространственных областей, называемых также окрестностью, каждая из которых характеризуется наперед заданной пространственной близостью по отношению к текущему блоку кодируемого кадра и текущему опорному блоку опорного кадра; области, являющиеся смежными по отношению к текущему блоку кодируемого кадра и текущему опорному блоку опорного кадра, выбирают, исходя из типа и размера пространственного преобразования, применяемого впоследствии для кодирования остаточного сигнала, исходя из размеров уже закодированных соседних блоков, а также их логических связей с текущим кодируемым блоком;- receive the restored (encoded and then decoded) pixel values adjacent to the current block of the encoded frame, and pixel values adjacent to the reference block of the reference frame; wherein the resulting pixels are selected from one or more spatial areas, also called neighborhoods, each of which is characterized by a predetermined spatial proximity with respect to the current block of the encoded frame and the current reference block of the reference frame; areas that are adjacent to the current block of the encoded frame and the current reference block of the reference frame are selected based on the type and size of the spatial transform used subsequently to encode the residual signal, based on the sizes of neighboring blocks already encoded, as well as their logical connections with the current coded block;
- исключают из рассмотрения пиксели, принадлежащие как окрестности текущего кодируемого блока, так и окрестности опорного блока опорного кадра, которые оценивают как недостоверные для расчета параметров изменения яркости по заранее заданному, по меньшей мере, одному критерию;- exclude from consideration pixels belonging to both the vicinity of the current encoded block and the vicinity of the reference block of the reference frame, which are estimated as invalid for calculating the parameters of the brightness change according to a predetermined at least one criterion;
- определяют числовые соотношения между пикселями опорного блока, достоверными пикселями из окрестности текущего кодируемого блока и достоверными пикселями из окрестности опорного блока;- determine the numerical relationship between the pixels of the reference block, valid pixels from the vicinity of the current encoded block and reliable pixels from the neighborhood of the reference block;
- вычисляют значения параметров коррекции яркости на основе найденных числовых соотношений, учитывая начальные значения;- calculate the values of the brightness correction parameters based on the found numerical relationships, taking into account the initial values;
- оценивают изменения значений пикселей опорного блока; в случае, если изменение оценено как существенное, выполняют коррекцию значений пикселей опорного блока, используя найденные параметры коррекции.- evaluate changes in the pixel values of the reference block; if the change is estimated as significant, the correction of the pixel values of the reference block is performed using the found correction parameters.
В данном контексте под логическими связями понимаются определенные объективно существующие зависимости между текущим блоком и соседними блоками, задаваемые, например, методом кодирования. В этом случае подобной связью может быть объединение соседних блоков и текущего кодируемого блока вместе в единый элемент кодирования, для которого задан общий вектор смещения. Дополнительно рассчитывают оценку подобия совокупности пикселей, соседних по отношению к кодируемому блоку, и совокупности пикселей, соседних по отношению к опорному блоку. Значение рассчитанной оценки подобия пикселей может использоваться как дополнительное условие при принятии решения о целесообразности компенсации различий яркости пикселей опорного блока.In this context, logical relationships are understood as certain objectively existing dependencies between the current block and neighboring blocks, specified, for example, by the encoding method. In this case, such a connection can be the union of neighboring blocks and the current encoded block together into a single coding element for which a common displacement vector is specified. In addition, an estimate of the similarity of a plurality of pixels adjacent to the encoded block and a plurality of pixels adjacent to the reference block is calculated. The value of the calculated pixel similarity score can be used as an additional condition when deciding whether to compensate for differences in the brightness of the pixels of the reference block.
Таким образом, заявляемое изобретение заключается в применении более надежной процедуры оценки параметров компенсации различий яркости между опорным и кодируемым блоками, процедуры коррекции значений пикселей опорного блока, а также в использовании эффективного режима кодирования блока, основанного на малом наборе дополнительных служебных данных, необходимых для реализации. А более конкретно, существо заявляемого изобретения состоит в использовании большего количества данных для оценки параметров изменения яркости, а также учете существующих связей между значениями пикселей опорного блока, восстановленными значениями пикселей, соседних с опорным блоком, и восстановленными значениями пикселей, соседними с кодируемым блоком. Помимо этого, предусматривается использование критериев сходства областей для детектирования случаев, когда коррекция может быть малоэффективной, предложены новые способы выявления пикселей, сильно отличающихся от совокупности пикселей в смежных областях, на основе которых выполняется оценка параметров, а также предложены методы исключения сильно отличающихся значений пикселей из дальнейшего рассмотрения.Thus, the claimed invention consists in the application of a more reliable procedure for evaluating the compensation parameters for brightness differences between the reference and encoded blocks, the procedure for correcting the pixel values of the reference block, as well as in the use of an effective block encoding mode based on a small set of additional service data necessary for implementation. More specifically, the essence of the claimed invention consists in using more data to estimate the brightness variation parameters, as well as taking into account existing relationships between the pixel values of the reference block, the restored pixel values adjacent to the reference block, and the restored pixel values adjacent to the encoded block. In addition, it is planned to use the criteria for similarity of areas for detecting cases when the correction may be ineffective, new methods for identifying pixels that are very different from the set of pixels in adjacent areas, on the basis of which the parameters are estimated, and methods for eliminating very different pixel values from further consideration.
В частности, в одной из реализаций заявляемого способа проводится анализ соотношений между значениями пикселей опорного блока и значениями пикселей, соседних по отношению к опорному блоку, а также соотношений между восстановленными значениями пикселей, соседних по отношению к текущему кодируемому блоку, и значениями пикселей, соседних по отношению к опорному блоку.In particular, in one of the implementations of the proposed method, an analysis is made of the relationships between the pixel values of the reference block and the pixel values adjacent to the reference block, as well as the ratios between the restored pixel values adjacent to the current encoded block and pixel values adjacent to in relation to the support block.
При реализации способа также предусмотрено применение усовершенствованных способов кодирования и декодирования многоракурсных видеопоследовательностей, причем такие способы основаны на использовании компенсации яркости, что позволяет повысить эффективность сжатия благодаря тому, что при оценке изменения яркости используются значения пикселей, которые доступны как при кодировании, так и при декодировании. В этом случае параметры коррекции яркости могут быть точно восстановлены без необходимости передачи каких-либо дополнительных данных в выходном битовом потоке.When implementing the method, it is also envisaged to use improved methods of encoding and decoding multi-angle video sequences, and such methods are based on the use of brightness compensation, which allows to increase the compression efficiency due to the fact that when evaluating changes in brightness, pixel values are used that are available both for encoding and decoding . In this case, the brightness correction parameters can be accurately restored without the need to transmit any additional data in the output bitstream.
В другой реализации заявляемого способа при вычислении оценки параметров изменения яркости предлагается исключать из рассмотрения пиксели, которые принадлежат уже декодированным и восстановленным областям опорного и кодируемого кадров и взаимные отличия которых, рассчитанные численно, превышают отличия пикселей соответствующих смежных областей по заранее заданному критерию. Такие пиксели в дальнейшем обозначаются как недостоверные.In another implementation of the proposed method, when calculating an estimate of the brightness variation parameters, it is proposed to exclude from consideration pixels that belong to already decoded and reconstructed regions of the reference and encoded frames and whose mutual differences, calculated numerically, exceed the pixel differences of the corresponding adjacent regions according to a predetermined criterion. Such pixels are hereinafter referred to as invalid.
В одном из вариантов реализации заявляемого изобретения предлагается модификация упомянутого выше способа, заключающаяся в том, что процесс определения соотношений между пикселями текущего кодируемого кадра и опорного кадра, а также определения параметров коррекции яркости включает в себя выполнение следующих операций:In one embodiment of the claimed invention, a modification of the above method is proposed, which consists in the fact that the process of determining the relationship between the pixels of the current encoded frame and the reference frame, as well as determining the brightness correction parameters, includes the following operations:
- вычисляют статистические характеристики для восстановленных значений пикселей, соседних по отношению к текущему кодируемому блоку, статистических характеристик для пикселей опорного блока и статистических характеристик для пикселей, соседних по отношению к опорному блоку;- calculate the statistical characteristics for the restored values of pixels adjacent to the current encoded block, the statistical characteristics for the pixels of the reference block and the statistical characteristics for pixels adjacent to the reference block;
- определяют соотношения между статистическими характеристиками для пикселей опорного блока и статистическими характеристиками для восстановленных значений пикселей, соседних по отношению к опорному блоку;- determine the relationship between the statistical characteristics for the pixels of the reference block and the statistical characteristics for the restored values of pixels adjacent to the reference block;
- вычисляют оценку значения статистической характеристики для текущего кодируемого блока на основе вычисленных статистических характеристик и соотношений между ними производят:- calculate the value of the statistical characteristics for the current encoded block based on the calculated statistical characteristics and the relationships between them produce:
- определение параметра коррекции изменения яркости для компенсации различий яркости между опорным и текущим кодируемым блоками на основе найденной оценки статистической характеристики для текущего блока и статистической характеристики опорного блока.- determining a brightness correction correction parameter to compensate for brightness differences between the reference and the current encoded blocks based on the found estimate of the statistical characteristic for the current block and the statistical characteristic of the reference block.
Еще одна модификация заявляемого изобретения состоит в том, что способ коррекции яркости опорного блока в процессе кодирования многоракурсной видеопоследовательности, включает в себя:Another modification of the claimed invention is that the method for correcting the brightness of the reference block in the process of coding a multi-angle video sequence includes:
- получение значений пикселей текущего блока кодируемого кадра и значений пикселей опорного блока опорного кадра;- obtaining pixel values of the current block of the encoded frame and pixel values of the reference block of the reference frame;
- получение восстановленных (закодированных и затем декодированных) значений пикселей, соседних по отношению к текущему кодируемому блоку, и значений пикселей, соседних по отношению к опорному блоку;- obtaining restored (encoded and then decoded) pixel values adjacent to the current block being encoded, and pixel values adjacent to the reference block;
- вычисление первой оценки estDi,j для каждого положения (i, j) пикселя в опорном блоке; причем первая оценка estDi,j является линейной комбинацией восстановленных значений пикселей, соседних по отношению к текущему кодируемому блоку, k=0, …, N-1, N - число пикселей, соседних по отношению к текущему кодируемому и опорному блокам;- calculating a first estimate estD i, j for each position (i, j) of the pixel in the reference block; moreover, the first estimate estD i, j is a linear combination of the restored values pixels adjacent to the current encoded block, k = 0, ..., N-1, N is the number of pixels adjacent to the current encoded and reference blocks;
- вычисление второй оценки estRi,j для каждого положения (i, j) пикселя в опорном блоке; причем вторая оценка estRi,j является линейной комбинацией значений пикселей, соседних по отношению к опорному блоку, k=0, …, N-1;- calculating a second estimate estR i, j for each position (i, j) of the pixel in the reference block; moreover, the second estimate estR i, j is a linear combination of values pixels adjacent to the reference block, k = 0, ..., N-1;
- определение параметров коррекции изменения яркости для коррекции каждого пикселя в опорном блоке; при этом определение этих параметров основывается на значении первой оценки estDi,j значении второй оценки estRi,j, а также на значениях Ri,j пикселей опорного блока;- determination of the correction parameters of the brightness change for the correction of each pixel in the reference block; wherein the determination of these parameters is based on the value of the first estimate estD i, j, the value of the second estimate estR i, j , and also on the values of R i, j pixels of the reference block;
- выполнение коррекции изменения яркости для каждого пикселя в опорном блоке, используя найденные на предыдущем шаге параметры коррекции изменения яркости и контрастности.- performing correction of brightness changes for each pixel in the reference block, using the brightness and contrast correction parameters found in the previous step.
Согласно другой модификации заявляемого изобретения способ предусматривает, что вычисление первой и второй оценок для каждого положения пикселя в опорном блоке и определение параметров коррекции изменения яркости для каждого положения пикселя в опорном блоке включает в себя:According to another modification of the claimed invention, the method provides that the calculation of the first and second estimates for each pixel position in the reference block and determination of brightness correction parameters for each pixel position in the reference block includes:
- вычисление первой оценки estDi,j как- calculation of the first estimate estD i, j as
, ,
- вычисление второй оценки estRi,j как- calculation of the second estimate estR i, j as
, ,
где Wk(i, j), k=0, …, N-1 - весовые коэффициенты, зависящие от интенсивности пикселя опорного блока в позиции (i, j) и интенсивности пикселя с индексом k=0, …, N-1 из заранее заданной близлежащей окрестности опорного блока, , k=0, …, N-1, восстановленные значения пикселей, соседних по отношению к текущему кодируемому блоку, , k=0, …, N-1 - значения пикселей, соседних по отношению к опорному блоку, N - это число пикселей, соседних по отношению к текущему кодируемому и опорному блокам; начальное значение BaseR для первой оценки и начальное значение BaseD для второй оценки заданы таким образом, что BaseR и BaseD либо оба неотрицательные, либо оба неположительные числа;where W k (i, j), k = 0, ..., N-1 - weighting coefficients depending on the intensity of the pixel of the reference block at position (i, j) and the intensity of the pixel with index k = 0, ..., N-1 from a predetermined nearby neighborhood of the support block, , k = 0, ..., N-1, restored values of pixels adjacent to the current block being encoded, , k = 0, ..., N-1 are the values of pixels adjacent to the reference block, N is the number of pixels adjacent to the current encoded and reference blocks; the initial BaseR value for the first evaluation and the initial BaseD value for the second evaluation are set such that BaseR and BaseD are either both non-negative or both non-positive numbers;
- определение параметров коррекции изменения яркости для каждого положения (i, j) пикселя в опорном блоке; этот параметр определяется как , если вторая оценка estRi,j не равна нулю. В противном случае αi,j полагается равным 1;- determination of correction parameters for brightness changes for each position (i, j) of the pixel in the reference block; this parameter is defined as if the second estimate estR i, j is not equal to zero. Otherwise, α i, j is set equal to 1;
- выполнение коррекции изменения яркости для опорного блока путем умножения значения каждого пикселя опорного блока Ri,j на соответствующий ему параметр коррекции αi,j.- performing correction of the brightness change for the reference block by multiplying the value of each pixel of the reference block R i, j by the corresponding correction parameter α i, j .
Также заявляемое изобретение предусматривает, что вычисление первой и второй оценок для каждого положения пикселя в опорном блоке и определение параметров коррекции изменения яркости для каждого положения пикселя в опорном блоке включает в себя:The claimed invention also provides that the calculation of the first and second estimates for each pixel position in the reference block and determination of brightness correction parameters for each pixel position in the reference block includes:
- вычисление первой оценки estDl,j как- calculation of the first estimate estD l, j as
, ,
где Wk(i, j), k=0, …, N-1 и LK(i, j), k=0…N-1 - два набора весовых коэффициентов, LK(i, j), k=0…N-1 зависит от позиции (i, j) пикселя в опорном блоке и индекса k=0, …, N-1 и , k=0, …, N-1 восстановленные значения пикселей, соседних по отношению к текущему кодируемому блоку, N - это число пикселей, соседних по отношению к текущему кодируемому и опорному блокам;where W k (i, j), k = 0, ..., N-1 and L K (i, j), k = 0 ... N-1 are two sets of weights, L K (i, j), k = 0 ... N-1 depends on the position (i, j) of the pixel in the reference block and the index k = 0, ..., N-1 and , k = 0, ..., N-1 restored values of pixels adjacent to the current encoded block, N is the number of pixels adjacent to the current encoded and reference blocks;
- вычисление второй оценки как- calculation of the second estimate as
, ,
где Wk(i, j), k=0, …, N-1 и LK(i, j), k=0…N-1 - два набора весовых коэффициентов, LK(i, j),k=0…N-1 зависит от позиции (i, j) пикселя в опорном блоке и индекса k=0, …, N-1 и , k=0, …, N-1 - значения пикселей, соседних по отношению к опорному блоку; начальное значение BaseR для первой оценки и начальное значение BaseD для второй оценки заданы таким образом, что BaseR и BaseD либо оба неотрицательные, либо оба неположительные числа;where W k (i, j), k = 0, ..., N-1 and L K (i, j), k = 0 ... N-1 are two sets of weights, L K (i, j), k = 0 ... N-1 depends on the position (i, j) of the pixel in the reference block and the index k = 0, ..., N-1 and , k = 0, ..., N-1 are the values of pixels adjacent to the reference block; the initial BaseR value for the first evaluation and the initial BaseD value for the second evaluation are set such that BaseR and BaseD are either both non-negative or both non-positive numbers;
- определение параметров коррекции изменения яркости для каждого положения (i, j) пикселя в опорном блоке; этот параметр определяется как , если вторая оценка estRi,j не равна нулю. В противном случае αi,j и полагается равным 1;- determination of correction parameters for brightness changes for each position (i, j) of the pixel in the reference block; this parameter is defined as if the second estimate estR i, j is not equal to zero. Otherwise, α i, j and is set equal to 1;
- выполнение коррекции изменения яркости для опорного блока путем умножения значения каждого пикселя опорного блока Ri,j на соответствующий ему параметр коррекции αi,j.- performing correction of the brightness change for the reference block by multiplying the value of each pixel of the reference block R i, j by the corresponding correction parameter α i, j .
Еще одна модификация заявляемого изобретения предусматривает, что вычисление первой и второй оценок для каждого положения пикселя в опорном блоке включает в себя:Another modification of the claimed invention provides that the calculation of the first and second estimates for each pixel position in the reference block includes:
- вычисление весовых коэффициентов Wk(i, j) , k=0, …, N-1 для первой оценки estDi,j и второй оценки estRi,j; для каждого положения (i, j) пикселя в опорном блоке весовой коэффициент Wk(i, j) равен невозрастающей функции абсолютной разности:- calculation of weighting factors Wk(i, j) , k = 0, ...N-1 for the first estD scorei, j and second estR scorei, j; for each position (i, j) of the pixel in the reference block, the weight coefficient Wk(i, j) is equal to the non-increasing function of the absolute difference:
, ,
что обеспечивает обратно пропорциональное увеличение/уменьшение значения Wk(i, j) в зависимости от уменьшения/увеличения абсолютной разности. Здесь Ri,j - это значение пикселя опорного блока; - значение пикселя, соседнего по отношению к опорному блоку; N - число пикселей, соседних по отношению к текущему кодируемому и опорному блокам.which provides an inversely proportional increase / decrease in the value of W k (i, j) depending on the decrease / increase in the absolute difference. Here R i, j is the pixel value of the reference block; - value of a pixel adjacent to the reference block; N is the number of pixels adjacent to the current encoded and reference blocks.
Также другой вариант модификации заявляемого изобретения предусматривает, что вычисление первой и второй оценок для каждого положения пикселя в опорном блоке включает в себя:Also, another variant of the modification of the claimed invention provides that the calculation of the first and second estimates for each position of the pixel in the reference block includes:
- вычисление весовых коэффициентов LK(i, j), k=0, …, N-1 для первой оценки и второй оценки для каждого положения (i, j) пикселя в опорном блоке так, что весовой коэффициент LK(i, j) равен невозрастающей функции f расстояния между пикселями : - calculation of the weighting coefficients L K (i, j), k = 0, ..., N-1 for the first estimate and the second estimate for each position (i, j) of the pixel in the reference block so that the weighting coefficient L K (i, j ) is equal to the non-increasing function f of the distance between pixels :
что обеспечивает обратно пропорциональное увеличение/уменьшение значения LK(i, j) в зависимости от приближения или удаления пикселя от корректируемого пикселя Ri,j. Здесь это значение пикселя опорного блока; - значение пикселя, соседнего по отношению к опорному блоку; N - число пикселей, соседних по отношению к текущему кодируемому и опорному блокам.which provides an inversely proportional increase / decrease in the value of L K (i, j) depending on the approximation or removal of a pixel from the corrected pixel R i, j . Here is the pixel value of the reference block; - value of a pixel adjacent to the reference block; N is the number of pixels adjacent to the current encoded and reference blocks.
В другом варианте реализации заявляемого изобретения предлагается модификация упомянутого выше метода, которая предусматривает, что вычисление первой и второй оценок для каждого положения пикселя в опорном блоке включает в себя:In another embodiment of the claimed invention, a modification of the above method is proposed, which provides that the calculation of the first and second estimates for each pixel position in the reference block includes:
- вычисление весовых коэффициентов LK(i, j), k=0, …, N-1 для первой оценки estDi,j и второй оценки estRi,j; для каждого положения (i, j) пикселя в опорном блоке весовой коэффициент равен невозрастающей функции абсолютной разности:- calculation of weight coefficients L K (i, j), k = 0, ..., N-1 for the first estimate estD i, j and the second estimate estR i, j ; for each position (i, j) of the pixel in the reference block, the weight coefficient is equal to a non-increasing function of the absolute difference:
, ,
что обеспечивает обратно пропорциональное увеличение/уменьшение значения Wk(i, j) в зависимости от уменьшения/увеличения абсолютной разности в случае , где Thr - предопределенное пороговое значение; иначе wk(i, j). Здесь Ri,j - значение пикселя опорного блока; - значение пикселя, соседнего по отношению к опорному блоку; N - число пикселей, соседних по отношению к текущему кодируемому и опорному блокам.which provides an inversely proportional increase / decrease in the value of W k (i, j) depending on the decrease / increase in the absolute difference in the case where Thr is a predetermined threshold value; otherwise w k (i, j). Here R i, j is the pixel value of the reference block; - value of a pixel adjacent to the reference block; N is the number of pixels adjacent to the current encoded and reference blocks.
При реализации заявляемого изобретения имеет смысл применить еще одну модификацию упомянутого выше метода, которая предусматривает, что вычисление первой и второй оценок для каждого положения пикселя в опорном блоке включает в себя:When implementing the claimed invention, it makes sense to apply another modification of the above method, which provides that the calculation of the first and second estimates for each pixel position in the reference block includes:
- вычисление весовых коэффициентов Wk(i, j), k=0, …, N-1 для первой оценки estDi,j и второй оценки estRi,j; для каждого положения (i, j) пикселя в опорном блоке весовой коэффициент Wk(i, j) равен невозрастающей функции абсолютной разности:- calculation of weighting factors W k (i, j), k = 0, ..., N-1 for the first estimate estD i, j and the second estimate estR i, j ; for each position (i, j) of the pixel in the reference block, the weight coefficient W k (i, j) is equal to a non-increasing function of the absolute difference:
, ,
что обеспечивает обратно пропорциональное увеличение/уменьшение значения Wk(i, j) в зависимости от уменьшения/увеличения абсолютной разности; при этом вычисление весовых коэффициентов подобным образом производится только для пикселей и , которые оценены как надежные путем проверки условия , где - значение пикселя, соседнего по отношению к текущему кодируемому блоку, Thr1 - первый предопределенный порог; кроме того, вычисление весовых коэффициентов подобным образом выполняется, если , где thr2 - второй предопределенный порог; иначе Wk(i, j)=0. Здесь Ri,j - значение пикселя опорного блока; - значение пикселя, соседнего по отношению к опорному блоку; N - число пикселей, соседних по отношению к текущему кодируемому и опорному блокам.which provides an inversely proportional increase / decrease in the value of W k (i, j) depending on the decrease / increase in the absolute difference; however, the calculation of weights in a similar way is done only for pixels and that are rated as reliable by checking the conditions where - the value of a pixel adjacent to the current encoded block, Thr1 is the first predetermined threshold; in addition, the calculation of weights in a similar manner is performed if where thr2 is the second predetermined threshold; otherwise, W k (i, j) = 0. Here R i, j is the pixel value of the reference block; - value of a pixel adjacent to the reference block; N is the number of pixels adjacent to the current encoded and reference blocks.
Согласно другому варианту реализации заявляемого изобретения предлагается модификация упомянутого выше метода, которая предусматривает, что вычисление первой и второй оценки для каждого положения пикселя в опорном блоке включает в себя:According to another embodiment of the claimed invention, a modification of the above method is proposed, which provides that the calculation of the first and second estimates for each pixel position in the reference block includes:
- вычисление весовых коэффициентов Wk(i, j), k=0, …, N-1 для первой оценки estDi,j и второй оценки estRi,j; для каждого положения пикселя в опорном блоке весовой коэффициент Wk(i, j) определяется как: , где С1, С2, С3 - численные параметры, задающие нелинейную зависимость весового коэффициента от величины Ak(i, j) и Ak(i, j), где определяется как , Ri,j - значение пикселя опорного блока, - значение пикселя, соседнего по отношению к опорному блоку, в случае , где Thr - предопределенный порог; иначе Wk(i, j)=0.- calculation of weighting factors W k (i, j), k = 0, ..., N-1 for the first estimate estD i, j and the second estimate estR i, j ; for each pixel position in the reference block, the weight coefficient W k (i, j) is defined as: , where C1, C2, C3 are numerical parameters defining a nonlinear dependence of the weight coefficient on the quantities A k (i, j) and A k (i, j), where it is defined as , R i, j is the pixel value of the reference block, is the value of a pixel adjacent to the reference block, in the case where Thr is a predetermined threshold; otherwise, W k (i, j) = 0.
Дальнейшее развитие предлагаемого варианта заявляемого изобретения заключается в том, что параметры, определяющие зависимость весовых коэффициентов Wk(i, j), в частности параметры С1, С2 и C3 могут адаптивно изменяться в зависимости от расстояния между пикселем Ri,j в опорном блоке и пикселями , соседними по отношению к опорному блоку. Тем самым может быть учитывается различное влияние пикселей, соседних с текущим блоком и соседних с опорным блоком, и участвующих в вычислении параметров коррекции в зависимости от расстояния до корректируемого пикселя.A further development of the proposed variant of the claimed invention lies in the fact that the parameters determining the dependence of the weight coefficients W k (i, j), in particular, the parameters C1, C2 and C3 can adaptively vary depending on the distance between the pixel R i, j in the reference block and pixels adjacent to the support block. Thus, the different influence of pixels adjacent to the current block and neighboring to the reference block and participating in the calculation of correction parameters depending on the distance to the pixel being corrected can be taken into account.
В качестве альтернативы при реализации заявляемого изобретения предлагается модификация упомянутого выше метода, которая предусматривает, что вычисление первой и второй оценок для каждого положения пикселя в опорном блоке включает в себя:As an alternative to the implementation of the claimed invention, a modification of the above method is proposed, which provides that the calculation of the first and second estimates for each pixel position in the reference block includes:
- вычисление весовых коэффициентов Wk(i, j), k=0, …, N-1 для первой оценки estDi,j и второй оценки estRi,j, для каждого положения Wk(i, j) пикселя в опорном блоке весовой коэффициент wk(i, j) равен , где C1, C2, C3 - численные параметры, задающие нелинейную зависимость весового коэффициента от величины Ak(i, j), которая определяется как , где Ri,j - значение пикселя опорного блока, - значение пикселя, соседнего по отношению к опорному блоку, а вычисление весовых коэффициентов подобным образом производится только для пикселей и , которые оценены как надежные путем проверки условия , где , k=0,…, N-1 - значение пикселя, соседнего по отношению к текущему кодируемому блоку, rhr1 - первый предопределенный порог; кроме того, вычисление весовых коэффициентов подобным образом выполняется, если , где Thr-2 - второй предопределенный порог; иначе Wk(i, j)=0.- calculation of weight coefficients W k (i, j), k = 0, ..., N-1 for the first estimate estD i, j and the second estimate estR i, j , for each position W k (i, j) of the pixel in the reference block weight coefficient w k (i, j) is equal to , where C1, C2, C3 are numerical parameters defining a nonlinear dependence of the weight coefficient on the quantity A k (i, j), which is defined as Where R i, j - pixel value of the reference block, - the value of a pixel adjacent to the reference block, and the calculation of weighting coefficients in this way is performed only for pixels and that are rated as reliable by checking the conditions where , k = 0, ..., N-1 is the value of a pixel adjacent to the current block being encoded, rhr1 is the first predetermined threshold; in addition, the calculation of weights in a similar manner is performed if where Thr-2 is the second predetermined threshold; otherwise, W k (i, j) = 0.
Заявляемое изобретение предусматривает реализацию метода, при которой для уменьшения вычислительных затрат, связанных с компенсаций пикселей опорного блока для выявления случая, когда первая оценка estDi,j и вторая оценка estRi,j таковы, что параметр коррекции αi,j близок к 1, выполняется проверка условия: EstRi,j+Δ1>>Qbits1==EstDi,j+Δ1>>Qbits1, где Qbits1 и Δ1 - неотрицательные целые числа, а обозначает операцию целочисленного округления, и если условие верно, то параметр коррекции задается равным 1.The claimed invention provides for the implementation of a method in which to reduce the computational cost associated with the compensation of the pixels of the reference block to identify cases when the first estimate estDi, j and second estR scorei, j such that the correction parameter αi, j close to 1, the condition is checked: EstRi, j+ Δ1 >> Qbitsone== EstDi, j+ Δ1 >> Qbitsonewhere Qbitsone and Δ1 are non-negative integers, and denotes the operation of integer rounding, and if the condition is true, then the correction parameter is set to 1.
Для повышения точности метода компенсации локальных отличий яркости, при котором достигается снижение вычислительных затрат, связанных с компенсаций пикселей опорного блока в случае, если первая оценка estDi,j и вторая оценка estRi,j таковы, что параметр коррекции αi,j близок к 1, может выполняться проверка условия (|EstDi,j-EstRi,j|+Δ2>>Qbits2==0, где Obits2 и Δ2 - неотрицательные целые числа, а обозначает операцию целочисленного округления, и если условие верно, то параметр коррекции задается равным 1. Также имеет смысл рассмотреть и более общий критерий, позволяющий определять ситуацию близости параметра коррекции к 1, который подразумевает проверку следующего неравенства: Δ3×EstRi,j<EstDi,j<Δ4×EstRi,j, где Δ3, Δ4 - заранее заданные неотрицательные числа, и в случае его выполнения задание параметра коррекции равным 1.To improve the accuracy of the method of compensating for local differences in brightness, at which the computational costs associated with pixel compensation of the reference block are reduced in case the first estimate is estDi, j and second estR scorei, j such that the correction parameter αi, j close to 1, the condition can be checked ( | EstDi, j-EstRi, j| + Δ2 >> Qbits2== 0, where Obits2 and Δ2 are non-negative integers, and denotes the operation of integer rounding, and if the condition is true, then the correction parameter is set to 1. It also makes sense to consider a more general criterion that allows us to determine the situation where the correction parameter is close to 1, which implies checking the following inequality: Δ3 × EstRi, j<EstDi, j<Δ4 × EstRi, j, where Δ3, Δ4 are predefined non-negative numbers, and in case of its execution, the correction parameter is set to 1.
Заявляемое изобретение также предусматривает оценку подобия восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком для принятия возможного решения о применении коррекции в случае сильного подобия. В частности, для оценки подобия восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком, заявляемое изобретение предусматривает:The invention also provides an assessment of the similarity of the restored pixels adjacent to the reference block, and the restored pixels adjacent to the encoded block to make a possible decision on the application of correction in the case of strong similarity. In particular, to assess the similarity of the restored pixels adjacent to the reference block, and the restored pixels adjacent to the encoded block, the claimed invention provides:
- все уже восстановленные пиксели , соседние с опорным блоком, и все уже восстановленные пиксели , k=0, …, N-1, соседние с кодируемым блоком, образуя совместно пары , однозначно задаваемые пространственным положением пикселей и , k=0, …, N-1 в соответствующих областях, которое определяется значением номера пикселя k, группируются в М непересекающихся групп G0…GM-1, таких что пара , k=0…N-1∈{G0∩…G1∩…∩GM-1}. Пары пикселей, принадлежащих группе Gi, обозначаются так же, как ;- all pixels already recoveredadjacent to the reference block, and all pixels already restored, k = 0, ..., N-1, adjacent to the encoded block, forming together pairsuniquely determined by the spatial position of the pixels and, k = 0, ..., N-1 in the corresponding areas, which is determined by the value of the pixel number k, are grouped in M disjoint groups G0 ... GM-1, such that the pair, k = 0 ... N-1∈ {G0∩ ... Gone∩ ... ∩GM-1}. Pairs of pixels belonging to the group Gi are denoted in the same way as;
- для каждой группы Gi рассчитывается метрика, которая основана на учете различий между и и которая не зависит от различий средних значений всех пикселей и средних значений всех пикселей каждой группы Gi;- for each group Gi, a metric is calculated that is based on taking into account the differences between and and which does not depend on differences in the average values of all pixels and average values of all pixels each group Gi;
- для каждой группы Gi рассчитывается метрика, основанная на различиях средних значений всех пикселей и средних значений всех пикселей каждой группы Gi;- for each group Gi, a metric is calculated based on differences in the average values of all pixels and average values of all pixels each group Gi;
- рассчитывается общая метрика, обозначаемая MR_Norm, для групп G0…GM-1, которая основана на учете пиксельных различий пикселей и по каждой из групп и которая не зависит от различий средних значений всех пикселей и средних значений всех пикселей каждой группы Gi;- the general metric, denoted by MR_Norm, is calculated for the groups G0 ... GM-1, which is based on the consideration of pixel differences in pixels and for each of the groups and which does not depend on differences in the average values of all pixels and average values of all pixels each group Gi;
- рассчитывается общая метрика, обозначаемая М_Norm, для групп G0…GM-1, которая основана на учете различия средних значений всех пикселей и средних значений всех пикселей каждой группы Gi;- the general metric, denoted by M_Norm, is calculated for groups G0 ... GM-1, which is based on the difference in the average values of all pixels and average values of all pixels each group Gi;
- производится сравнение значений рассчитанных метрик MR_Norm и M_Norm с наперед заданными пороговыми значениями, и в случае если MR_Norm больше первого заданного порогового значения или M_Norm меньше второго заданного порогового значения, подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком считается слабым; в противном случае подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком считается сильным;- the values of the calculated MR_Norm and M_Norm metrics are compared with the predetermined threshold values, and if MR_Norm is greater than the first specified threshold value or M_Norm is less than the second specified threshold value, the similarity of the restored pixels adjacent to the reference block and the restored pixels adjacent to the encoded block considered weak; otherwise, the similarity of the restored pixels adjacent to the reference block and the restored pixels adjacent to the encoded block is considered strong;
- если подобие восстановленных пикселей, соседних с опорным блоком и восстановленных пикселей, соседних с кодируемым блоком слабое, коррекция может не применяться;- if the similarity of the restored pixels adjacent to the reference block and the restored pixels adjacent to the encoded block is weak, correction may not be applied;
- если подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком сильное, коррекция выполняется безусловно.- if the similarity of the restored pixels adjacent to the reference block and the restored pixels adjacent to the encoded block is strong, the correction is performed unconditionally.
Дальнейшее развитие метода предусматривает следующее:Further development of the method provides for the following:
- для каждой группы Gi рассчитывается метрика MR_Norn(Gl), которая основана на учете пиксельных различий и и которая не зависит от различий средних значений всех пикселей и средних значений всех пикселей каждой группы Gi по формуле: - for each group Gi, the metric MR_Norn (Gl), which is based on pixel differences and and which does not depend on differences in the average values of all pixels and average values of all pixels each Gi group according to the formula:
, ,
где значение степенного показателя Р1 определяется экспериментально;where the value of the power exponent P1 is determined experimentally;
- для каждой группы Gi рассчитывается метрика М_NormGl, основанная на различиях средних значений всех пикселей и средних значений всех пикселей каждой группы Gi по формуле:- for each group Gi, the metric M_NormG l is calculated, based on the differences in the average values of all pixels and average values of all pixels each Gi group according to the formula:
, ,
где значение степенного показателя P2 определяется экспериментально;where the value of the power exponent P2 is determined experimentally;
рассчитывается общая метрика, обозначаемая MR_Norm, для групп G0…GM-1, которая основана на учете пиксельных различий пикселей и по каждой из групп за исключением различий средних значений всех пикселей и средних значений всех пикселей каждой группы Gi по формуле:the general metric, denoted by MR_Norm, is calculated for groups G0 ... GM-1, which is based on the consideration of pixel differences and for each of the groups, with the exception of differences in the average values of all pixels and average values of all pixels each Gi group according to the formula:
; ;
рассчитывается общая метрика, обозначаемая М_Norm, для групп G0…GM-1, которая основана на учете различия средних значений всех пикселей и средних значений всех пикселей каждой группы Gi по формуле:the general metric, denoted by M_Norm, is calculated for groups G0 ... GM-1, which is based on the difference in the average values of all pixels and average values of all pixels each Gi group according to the formula:
; ;
- производится сравнение значений рассчитанных метрик MR_Norm и M_Norm с наперед заданными пороговыми значениями, и в случае если MR_Norm больше первого заданного порогового значения или M_Norm меньше второго заданного порогового значения, подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком считается слабым; в противном случае подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком считается сильным;- the values of the calculated MR_Norm and M_Norm metrics are compared with the predetermined threshold values, and if MR_Norm is greater than the first specified threshold value or M_Norm is less than the second specified threshold value, the similarity of the restored pixels adjacent to the reference block and the restored pixels adjacent to the encoded block considered weak; otherwise, the similarity of the restored pixels adjacent to the reference block and the restored pixels adjacent to the encoded block is considered strong;
- если подобие восстановленных пикселей, соседних с опорным блоком и восстановленных пикселей, соседних с кодируемым блоком слабое, коррекция может не применятся;- if the similarity of the restored pixels adjacent to the reference block and the restored pixels adjacent to the encoded block is weak, the correction may not be applied;
- если подобие восстановленных пикселей, соседних с опорным блоком и восстановленных пикселей, соседних с кодируемым блоком сильное, коррекция применяется обязательно.- if the similarity of the restored pixels adjacent to the reference block and the restored pixels adjacent to the encoded block is strong, correction is required.
Для повышения точности оценки отличия яркости пикселей опорного блока в сравнении с кодируемым блоком, заявляемое изобретение предусматривает, что для исключения из расчетов значений полученных пикселей и , которые принадлежат уже декодированным и восстановленным областям опорного и кодируемого кадров и которые существенно отличаются друг от друга, для каждого k=0…N-1 выполняют проверку условия , где Thr1 неотрицательное пороговое значение, задаваемое наперед.To improve the accuracy of assessing differences in the brightness of the pixels of the reference block in comparison with the encoded block, the claimed invention provides that to exclude from the calculation the values of the received pixels and which belong to the already decoded and reconstructed regions of the reference and encoded frames and which differ significantly from each other, for each k = 0 ... N-1, they check the condition where Thr1 is a non-negative threshold value set in advance.
Развитие метода предполагает, что для дальнейшего повышения точности оценки отличия яркости пикселей опорного блока в сравнении с кодируемым блоком, заявляемое изобретение предусматривает, что для исключения из расчетов значений полученных пикселей и , которые принадлежат уже декодированным и восстановленным областям опорного и кодируемого кадров и которые существенно отличаются от общей выборки (совокупности) пикселей в указанных областях выполняют следующие шаги:The development of the method suggests that in order to further improve the accuracy of assessing the differences in the brightness of the pixels of the reference block in comparison with the encoded block, the claimed invention provides that, to exclude the values of the obtained pixels from the calculations and which belong to the already decoded and reconstructed areas of the reference and encoded frames and which differ significantly from the total sample (set) of pixels in these areas perform the following steps:
- группируют пиксели таким образом, что для всех пикселей , удовлетворяющих условию и , пиксели , которые соответствуют пикселям исходя из их порядкового номера k=0…N-1 и пространственного положения в опорном и кодируемом кадрах, группируются в группы, обозначаемые B(LRi, LRi+1):- group pixels such that for all pixels satisfying the condition and pixels that match the pixels based on their serial number k = 0 ... N-1 and the spatial position in the reference and encoded frames, are grouped into groups denoted by B (LR i , LR i + 1 ):
, ,
- при этом величины LRi, LRi+1 определяют границы диапазона, задающего группу B(LRi, LRi+1) и удовлетворяют условию LRi>-1; LRi+1>Ri. Количество групп B(LRi, LRi+1) NB определяется экспериментально и задает максимально возможное значение индекса i, используемого при нумерации величин (LRi, LRi+1): -1<LR0<LR0<LR0…<LRNB;- in this case, the values LR i , LR i + 1 determine the boundaries of the range defining the group B (LR i , LR i + 1 ) and satisfy the condition LR i >-1; LR i + 1 > R i . The number of groups B (LR i , LR i + 1 ) N B is determined experimentally and sets the maximum possible value of the index i used for numbering the quantities (LR i , LR i + 1 ): -1 <LR 0 <LR 0 <LR 0 ... <LR NB ;
- для каждой группы B(LRi, LRi+1), задаваемой величинами (LRi, LRi+1), рассчитывают следующие величины:- for each group B (LR i , LR i + 1 ) defined by the values (LR i , LR i + 1 ), the following values are calculated:
- для каждого пикселя группы B(LRi, LRi+1) проверяют верность следующих трех условий:- for each pixel Group B (LRi, LRi + 1) verify the following three conditions:
- Условие 1:- Condition 1:
; ;
- Условие 2:- Condition 2:
; ;
- Условие 3:- Condition 3:
; в том случае, если верным является хотя бы одно из проверяемых условий 1…3 для очередного рассматриваемого пикселя группы B(LRi, LRi+1), рассматриваемый пиксель включается в дальнейшие расчеты параметров коррекции яркости опорного блока. ; in the event that at least one of the checked conditions 1 ... 3 is true for the next pixel in question group B (LR i , LR i + 1 ), the pixel in question included in further calculations of the brightness correction parameters of the reference block.
Еще одним вариантом реализации заявляемого изобретения, направленным на повышение точности оценки отличия яркости пикселей опорного блока в сравнении с кодируемым блоком, является следующая модификация.Another embodiment of the claimed invention, aimed at improving the accuracy of assessing differences in the brightness of the pixels of the reference block in comparison with the encoded block, is the following modification.
Для всех вышеопределенных пар пикселей рассматриваются пиксели , так что и и соответствующие им пиксели сгруппируются в логические группы, обозначаемые B(LRi, LRi+1).For all the above pixel pairs pixels are considered , so that and and their corresponding pixels are grouped into logical groups denoted by B (LR i , LR i + 1 ).
, ,
где LRi, LRi+1 определяют границы диапазона, задающего группу B(LRi, LRi+1) и удовлетворяют условию LRf>-1; LRi+1>Ri. Количество групп B(LRi, LRi+1) Nb определяется экспериментально и задает максимально возможное значение индекса i, используемого при нумерации величин (LRi, LRi+1): -1<LR0<LRo<LR0…<LRNB.where LR i , LR i + 1 determine the boundaries of the range defining the group B (LR i , LR i + 1 ) and satisfy the condition LRf>-1; LR i + 1 > R i . The number of groups B (LR i , LR i + 1 ) Nb is determined experimentally and sets the maximum possible value of the index i used for numbering the quantities (LR i , LR i + 1 ): -1 <LR 0 <LRo <LR 0 ... <LR NB .
Для всех пикселей Тк, принадлежащих B(LRi, LRi+1), рассчитываются следующие величины:For all pixels T k belonging to B (LR i , LR i + 1 ), the following values are calculated:
- среднее значение Mean (B(LRi, LRi+1)) по группе B(LRi, LRi+1), определяемо по формуле:- the average value of Mean (B (LR i , LR i + 1 )) for group B (LR i , LR i + 1 ), determined by the formula:
, ,
где | B(LRi, LRi+1)| обозначает количество пикселей в группе B(LRi, LRi+1).where | B (LRi, LRi + 1) | indicates the number of pixels in group B (LRi, LRi + 1)
- медианное значение Med(B(LRi, LRi+1)) по группе B(LRi, LRi+1), определяемое как такое значение пикселя, принадлежащего группе B(LRi, LRi+1), что количество пикселей, принадлежащих группе B(LRi, LRi+1) и не превышающих по своему значению определяемое медианное значение, равно количеству пикселей, принадлежащих группе B(LRi, LRi+1), которые не меньше определяемого медианного значения группы B(LRi, LRi+1);is the median value of Med (B (LR i , LR i + 1 )) for group B (LR i , LR i + 1 ), defined as the value of a pixel belonging to group B (LR i , LR i + 1 ) such that the number pixels belonging to group B (LR i , LR i + 1 ) and not exceeding the determined median value in terms of value is equal to the number of pixels belonging to group B (LR i , LR i + 1 ) that are not less than the determined median value of group B ( LR i , LR i + 1 );
- наиболее вероятное значение Mod(B(LRi, LRi+1))в группе B(LRi, LRi+1);- the most likely value of Mod (B (LR i , LR i + 1 )) in group B (LR i , LR i + 1 );
- среднее отклонение Dev(B(LRi, LRi+1)) значений пикселей в группе B(LRi, LRi+1), которое может быть рассчитано по одной из широко известных формул, позволяющих оценить параметры разброса значений пикселей в группе B(LRi, LRi+1), например в одном из вариантов, величина Dev(B(LRi, LRi+1)) может быть рассчитана по формуле:- the average deviation Dev (B (LR i , LR i + 1 )) of pixel values in group B (LR i , LR i + 1 ), which can be calculated using one of the well-known formulas that allow us to estimate the parameters of the spread of pixel values in the group B (LR i , LR i + 1 ), for example, in one of the options, the value Dev (B (LR i , LR i + 1 )) can be calculated by the formula:
, ,
где |B(LRi, LRi+1)| обозначает количество пикселей в логической группе B(LRi, LRi+1); в другой реализации величина Dev(B(LRi, LRi+1)) может быть рассчитана по формуле:where | B (LR i , LR i + 1 ) | denotes the number of pixels in logical group B (LR i , LR i + 1 ); in another implementation, the value Dev (B (LR i , LR i + 1 )) can be calculated by the formula:
, ,
отличающейся от предыдущей тем, что оценка отклонения получается несмещенной, что особенно важно для случая сравнительно небольшого количества элементов в группе B(LRi, LRi+1); также в целях упрощения может быть применена следующая формула для оценки величины среднего отклонения по группе B(LRi, LRi+1):different from the previous one in that the deviation estimate is unbiased, which is especially important for the case of a relatively small number of elements in group B (LR i , LR i + 1 ); also, for the sake of simplification, the following formula can be applied to estimate the average deviation for group B (LR i , LR i + 1 ):
. .
Эксперты могут также использовать иные способы оценки величины Dev(B(LRi, LRj)), характеризующей, по сути, степень разброса пикселей, принадлежащих группе B(LRi, LRi+1).Experts can also use other methods of estimating the value of Dev (B (LR i , LR j )), which characterizes, in essence, the degree of spread of pixels belonging to group B (LR i , LR i + 1 ).
Для повышения надежности дальнейших оценок предусматривается исключение из дальнейшего рассмотрения тех значений пикселей группы B(LRi, LRj), для которых модуль разности между значением отдельного пикселя и средним значением по группе B(LRi, LRj) и/или медианным значением по группе B(LRi, LRj) и/или наиболее вероятным значением по группе B(LRi, LRj) оказывается больше, чем значение Dev(B(LRi, LRj)), рассчитанное по одной из широко известных формул, умноженное на величину, большую 0, задающее совместно допустимый разброс в группе B(LRi, LRj).To increase the reliability of further estimates, it is intended to exclude from further consideration those pixel values of group B (LR i , LR j ) for which the absolute value of the difference between the value of an individual pixel and the average value of group B (LR i , LR j ) and / or the median value of group B (LR i , LR j ) and / or the most probable value for group B (LR i , LR j ) is greater than the value Dev (B (LR i , LR j )) calculated according to one of the well-known formulas, multiplied by a value greater than 0, which defines the jointly permissible spread in group B (LR i , LR j ).
Согласно другому варианту реализации заявляемого изобретения предлагается модификация упомянутого выше метода, в которой предусматривается, что позиции восстановленных значений пикселей, соседних по отношению к текущему кодируемому блоку, и позиции значений пикселей, соседних по отношению к опорному блоку определяются адаптивно вместо соответствующих пикселей с наперед заданными позициями.According to another embodiment of the claimed invention, a modification of the aforementioned method is proposed in which it is provided that the positions of the restored pixel values adjacent to the current encoded block and the positions of the pixel values adjacent to the reference block are adaptively determined instead of the corresponding pixels with the predetermined positions .
Согласно другому варианту реализации заявляемого изобретения, предлагается модификация упомянутого выше метода, в которой предусматривается, что при получении восстановленных значений пикселей из окрестностей текущего и опорного блоков выполняют прореживание по заранее заданному шаблону. Под шаблоном подразумевается множество пространственных позиций пикселей, которые определяются по заданным правилам внутри окрестностей текущего и опорного блоков. При этом выбираются не все пиксели указанных окрестностей, а только их часть. Значения выбранных пикселей позволяют получить представление о значениях интенсивностей всех пикселей (об их возможных значениях, распределении и т.п.) рассматриваемых областей с заданной точностью, сокращая при этом количество обрабатываемой информации. Например, осуществляют прореживание окрестности текущего и опорного блоков путем исключения пикселей, хотя бы одна из координат которых четна, что соответствует прореживанию в два раза по вертикали и горизонтали. Приведенный пример носит иллюстративный характер и не ограничивает множество возможных способов формирования шаблона.According to another embodiment of the claimed invention, a modification of the aforementioned method is proposed, which provides that, when retrieving the restored pixel values from the vicinity of the current and reference blocks, thinning is performed according to a predetermined pattern. By a template we mean a lot of spatial positions of pixels, which are determined by the given rules inside the neighborhood of the current and reference blocks. At the same time, not all pixels of the specified neighborhoods are selected, but only a part of them. The values of the selected pixels provide an idea of the values of the intensities of all the pixels (their possible values, distribution, etc.) of the regions under consideration with a given accuracy, while reducing the amount of processed information. For example, thinning out the neighborhood of the current and reference blocks is performed by eliminating pixels, at least one of the coordinates of which is even, which corresponds to thinning twice vertically and horizontally. The above example is illustrative and does not limit the many possible ways of forming a template.
В группу связанных единым замыслом изобретений входит также оригинальный способ кодирования многоракурсных видеопоследовательностей, основанный на адаптивной компенсации локальных различий яркости при межкадровом предсказании кадров, в котором кодируемый кадр представляется совокупностью неперекрывающихся областей пикселей, называемых единицами кодирования.The group of inventions related by a single concept also includes an original method of coding multi-angle video sequences, based on adaptive compensation of local differences in brightness during inter-frame prediction of frames, in which the encoded frame is represented by a set of non-overlapping pixel areas called coding units.
Этот способ включает в себя выполнение следующих операций:This method includes the following operations:
- выбор текущего кодируемого блока, принадлежащего текущей единице кодирования;- selection of the current encoded block belonging to the current encoding unit;
- определение как минимум одного опорного блока, который используется для формирования блока-предсказания для текущего кодируемого блока и пиксели которого уже полностью закодированы и декодированы;- determination of at least one reference block, which is used to form a prediction block for the current block being encoded and whose pixels are already fully encoded and decoded;
- определение параметров коррекции яркости опорного блока;- determination of brightness correction parameters of the reference block;
- коррекция яркости, которая заключается в коррекции значений всех пикселей опорного блока на основе определенных параметров коррекции яркости;- brightness correction, which consists in correcting the values of all the pixels of the reference block based on certain brightness correction parameters;
- формирование блока-предсказания для текущего кодируемого блока, используя скорректированный опорный блок;- the formation of the prediction block for the current encoded block using the adjusted reference block;
- кодирование текущего блока с помощью сформированного блока-предсказания;- encoding the current block using the generated prediction block;
при этом определение параметров коррекции яркости и выполнения коррекции яркости включает в себя:wherein the determination of brightness correction parameters and performing brightness correction includes:
- получение восстановленных (закодированных и затем декодированных) значений пикселей, соседних по отношению к текущему блоку кодируемого кадра, и значений пикселей, соседних по отношению к опорному блоку опорного кадра; при этом получаемые пиксели могут выбираться из одной или более пространственных областей, каждая из которых характеризуется наперед заданной пространственной близостью по отношению к текущему блоку кодируемого кадра и текущему опорному блоку опорного кадра; выбор указанных областей, являющихся смежными по отношению к текущему блоку кодируемого кадра и текущему опорному блоку опорного кадра, может производиться исходя из типа и размера пространственного преобразования, применяемого впоследствии для кодирования межкадровой разности, уже декодированных пикселей, исходя из размеров уже закодированных соседних блоков, а также их логических связей с текущим кодируемым блоком (под логическими связями понимаются определенные объективно существующие зависимости между текущим блоком и соседними блоками, задаваемые, например, методом кодирования). В этом случае подобной связью может быть объединение соседних блоков и текущего кодируемого блока вместе в единый элемент кодирования, для которого задан общий вектор смещения. Дополнительно рассчитывается оценка подобия совокупности пикселей, соседних по отношению к кодируемому блоку, и совокупности пикселей, соседних по отношению к опорному блоку.- obtaining the restored (encoded and then decoded) pixel values adjacent to the current block of the encoded frame, and pixel values adjacent to the reference block of the reference frame; while the resulting pixels can be selected from one or more spatial regions, each of which is characterized by a predetermined spatial proximity with respect to the current block of the encoded frame and the current reference block of the reference frame; the selection of these regions that are adjacent to the current block of the encoded frame and the current reference block of the reference frame can be made based on the type and size of the spatial transform used subsequently to encode the interframe difference, already decoded pixels, based on the sizes of neighboring blocks already encoded, and also their logical connections with the current block being encoded (logical connections are understood as certain objectively existing dependencies between the current block and neighboring and blocks asked, for example, the encoding method). In this case, such a connection can be the union of neighboring blocks and the current encoded block together into a single coding element for which a common displacement vector is specified. Additionally, a similarity score is calculated for the set of pixels adjacent to the block being encoded and the set of pixels neighboring for the reference block.
Значение рассчитанной оценки подобия пикселей может использоваться как дополнительное условие при принятии решения об использовании коррекции яркости пикселей опорного блока;The value of the calculated pixel similarity score can be used as an additional condition when deciding on the use of pixel brightness correction of the reference block;
- исключение из рассмотрения при определении параметров изменения яркости недостоверных пикселей, которые принадлежат уже декодированным и восстановленным областям опорного и кодируемого кадров и которые отличаются от общей выборки (совокупности) пикселей в указанных областях по заранее заданному критерию, который основан на анализе распределения значений пикселей в указанных областях, расчете статистических характеристик, а также сравнении значений всех проверяемых пикселей и статистических характеристик в указанных областях;- an exception from consideration when determining the parameters for changing the brightness of unreliable pixels that belong to already decoded and reconstructed areas of the reference and encoded frames and which differ from the total sample (set) of pixels in these areas according to a predetermined criterion, which is based on an analysis of the distribution of pixel values in the specified areas, calculation of statistical characteristics, as well as a comparison of the values of all tested pixels and statistical characteristics in these areas;
- определение числовых соотношений между пикселями опорного блока, достоверными пикселями из окрестности текущего декодируемого блока и достоверными пикселями из окрестности опорного блока;- determination of the numerical relationships between the pixels of the reference block, valid pixels from the vicinity of the current decoded block and reliable pixels from the vicinity of the reference block;
- вычисление значений параметров коррекции яркости на основе найденных числовых соотношений с учетом начальных значений параметров коррекции;- calculation of the values of the brightness correction parameters based on the found numerical relationships taking into account the initial values of the correction parameters;
- оценка изменения значений пикселей опорного блока; в случае если изменение оценивается как существенное, выполняют коррекцию значений пикселей опорного блока, используя найденные параметры коррекции.- assessment of changes in the pixel values of the reference block; if the change is assessed as significant, correct the pixel values of the reference block using the found correction parameters.
В рамках единого изобретательского замысла предусматривается также использование оригинального способа декодирования многоракурсных видеопоследовательностей, основанного на адаптивной компенсации локальных различий яркости при межкадровом предсказании кадров, в котором декодируемый кадр представляется совокупностью неперекрывающихся областей пикселей, называемых единицами кодирования. Этот способ включает в себя:Within the framework of a single inventive concept, it is also envisaged to use an original method for decoding multi-angle video sequences, based on adaptive compensation of local differences in brightness during inter-frame prediction of frames, in which the decoded frame is a set of non-overlapping areas of pixels called coding units. This method includes:
- выбор текущего декодируемого блока, принадлежащего текущей единице кодирования;- selection of the current decoded block belonging to the current coding unit;
- определение опорного блока для текущего декодируемого блока;- determination of the reference block for the current decoded block;
- определение параметров коррекции изменения для коррекции яркости найденного опорного блока;- determination of correction correction parameters for brightness correction of the found reference block;
- коррекция яркости, которая заключается в коррекции значений всех пикселей опорного блока на основе определенных параметров коррекции яркости;- brightness correction, which consists in correcting the values of all the pixels of the reference block based on certain brightness correction parameters;
- формирование блока-предсказания для текущего декодируемого блока, используя скорректированный опорный блок;- generating a prediction block for the current decoded block using the adjusted reference block;
- декодирование текущего блока с помощью сформированного блока-предсказания;- decoding the current block using the generated prediction block;
при этом определение параметров коррекции яркости и выполнения коррекции яркости включает в себя:wherein the determination of brightness correction parameters and performing brightness correction includes:
- получение восстановленных (закодированных и затем декодированных) значений пикселей, соседних по отношению к текущему блоку кодируемого кадра, и значений пикселей, соседних по отношению к опорному блоку опорного кадра; при этом получаемые пиксели могут выбираться из одной или более пространственных областей, каждая из которых характеризуется наперед заданной пространственной близостью по отношению к текущему блоку кодируемого кадра и текущему опорному блоку опорного кадра; выбор указанных областей, являющихся смежными по отношению к текущему блоку кодируемого кадра и текущему опорному блоку опорного кадра, может производиться исходя из типа и размера пространственного преобразования, применяемого впоследствии для кодирования межкадровой разности, уже декодированных пикселей, исходя из размеров уже закодированных соседних блоков, а также их логических связей с текущим кодируемым блоком (под логическими связями понимаются определенные объективно существующие зависимости между текущим блоком и соседними блоками, задаваемые, например, методом кодирования. В этом случае подобной связью может быть объединение соседних блоков и текущего кодируемого блока вместе в единый элемент кодирования, для которого задан общий вектор смещения); дополнительно рассчитывается оценка подобия совокупности пикселей, соседних по отношению к кодируемому блоку, и совокупности пикселей, соседних по отношению к опорному блоку. Значение рассчитанной оценки подобия пикселей может использоваться как дополнительное условие при принятии решения об использовании коррекции яркости пикселей опорного блока;- obtaining the restored (encoded and then decoded) pixel values adjacent to the current block of the encoded frame, and pixel values adjacent to the reference block of the reference frame; while the resulting pixels can be selected from one or more spatial regions, each of which is characterized by a predetermined spatial proximity with respect to the current block of the encoded frame and the current reference block of the reference frame; the selection of these regions that are adjacent to the current block of the encoded frame and the current reference block of the reference frame can be made based on the type and size of the spatial transform used subsequently to encode the interframe difference, already decoded pixels, based on the sizes of neighboring blocks already encoded, and also their logical connections with the current block being encoded (logical connections are understood as certain objectively existing dependencies between the current block and neighboring and blocks asked, for example, the encoding method in this case, such a connection may be to combine the neighboring blocks and the current block to be coded together in a single coding unit for which the total displacement vector set).; additionally, an assessment of the similarity of the set of pixels adjacent to the encoded block and the set of pixels adjacent to the reference block is calculated. The value of the calculated pixel similarity score can be used as an additional condition when deciding on the use of pixel brightness correction of the reference block;
- исключение из рассмотрения при определении параметров изменения яркости недостоверных пикселей, которые принадлежат уже декодированным и восстановленным областям опорного и кодируемого кадров и которые отличаются от общей выборки (совокупности) пикселей в указанных областях по заранее заданному критерию, который основан на анализе распределения значений пикселей в указанных областях, расчете статистических характеристик, а также сравнении значений всех проверяемых пикселей и статистических характеристик в указанных областях;- an exception from consideration when determining the parameters for changing the brightness of unreliable pixels that belong to already decoded and reconstructed areas of the reference and encoded frames and which differ from the total sample (set) of pixels in these areas according to a predetermined criterion, which is based on an analysis of the distribution of pixel values in the specified areas, calculation of statistical characteristics, as well as a comparison of the values of all tested pixels and statistical characteristics in these areas;
- определение соотношений между значениями пикселей опорного блока и значениями пикселей, соседних по отношению к опорному блоку, а также соотношений между восстановленными значениями пикселей, соседних по отношению к текущему кодируемому блоку, и значениями пикселей, соседних по отношению к опорному блоку;- determination of the relationship between the pixel values of the reference block and the values of pixels adjacent to the reference block, as well as the ratios between the restored pixel values adjacent to the current encoded block and the pixel values adjacent to the reference block;
- определение числовых соотношений между пикселями опорного блока, достоверными пикселями из окрестности текущего декодируемого блока и достоверными пикселями из окрестности опорного блока;- determination of the numerical relationships between the pixels of the reference block, valid pixels from the vicinity of the current decoded block and reliable pixels from the vicinity of the reference block;
- вычисление значений параметров коррекции яркости на основе найденных числовых соотношений с учетом начальных значений параметров коррекции;- calculation of the values of the brightness correction parameters based on the found numerical relationships taking into account the initial values of the correction parameters;
- оценка изменения значений пикселей опорного блока; в случае, если изменение оценивается как существенное, выполняют коррекцию значений пикселей опорного блока, используя найденные параметры коррекции.- assessment of changes in the pixel values of the reference block; if the change is assessed as significant, correct the pixel values of the reference block using the found correction parameters.
Далее существо изобретения поясняется с привлечением графических материалов.Further, the invention is illustrated with the use of graphic materials.
Фиг.1 - структурная схема гибридного кодера многоракурсных видеопоследовательностей и место применения заявляемого изобретения.Figure 1 is a structural diagram of a hybrid encoder multi-angle video sequences and the place of application of the claimed invention.
Фиг.2 - структурная схема части гибридного видеокодера, реализующей заявляемый способ, входящий в состав процесса кодирования с предсказанием.Figure 2 is a structural diagram of a part of a hybrid video encoder that implements the inventive method, which is part of the predictive coding process.
Фиг.3 - диаграмма, отражающая основные элементы кодируемого, опорного кадров, которые участвуют в расчете коррекции изменения яркости для опорного блока в соответствии с заявляемым изобретением.Figure 3 is a diagram showing the main elements of the encoded reference frame that are involved in calculating the correction of brightness changes for the reference block in accordance with the claimed invention.
Фиг.4 - диаграмма, иллюстрирующая понятие супер-блока, одну из возможных комбинаций размеров блоков, входящих в супер-блок, а также два типа пространственных преобразований, используемых для декорреляции разностных данных.4 is a diagram illustrating the concept of a super-block, one of the possible combinations of block sizes included in the super-block, as well as two types of spatial transformations used for decorrelation of difference data.
Фиг.5 (вид 5.1 и вид 5.2) - диаграммы, иллюстрирующие процедуру выбора входных данных в текущем кадре в процессе вычисления параметров коррекции яркости согласно одному из примеров реализации заявляемого изобретения, а также понятие пространственной близости.5 (view 5.1 and view 5.2) are diagrams illustrating the procedure for selecting input data in the current frame during the calculation of brightness correction parameters according to one example of the implementation of the claimed invention, as well as the concept of spatial proximity.
Фиг.6 - диаграмма, иллюстрирующая способ коррекции изменения яркости для опорного блока в соответствии с одним из вариантов реализации заявляемого изобретения.6 is a diagram illustrating a method for correcting brightness changes for a reference block in accordance with one embodiment of the claimed invention.
Фиг.7 - блок-схема, иллюстрирующая способ пиксельной коррекции изменения яркости для опорного блока согласно одному из примеров реализации заявляемого изобретения.Fig. 7 is a flowchart illustrating a method for pixel correction of brightness variation for a reference block according to one embodiment of the claimed invention.
Фиг.8 - диаграмма, поясняющая способ коррекции изменения яркости для опорного блока в соответствии с другим вариантом реализации заявляемого изобретения.Fig. 8 is a diagram explaining a method for correcting a brightness change for a reference block in accordance with another embodiment of the claimed invention.
Фиг.9 - блок-схема, описывающая способ кодирования многоракурсных видеопоследовательностей, основанный на коррекции изменения яркости согласно одному из примеров реализации заявляемого изобретения.Fig.9 is a flowchart describing a method of encoding multi-angle video sequences based on the correction of brightness changes according to one example of the implementation of the claimed invention.
Фиг.10 - блок-схема, описывающая способ декодирования многоракурсных видеопоследовательностей на основе коррекции изменения яркости согласно одному из примеров реализации заявляемого изобретения.Figure 10 is a flowchart describing a method for decoding multi-angle video sequences based on the correction of brightness changes according to one example implementation of the claimed invention.
На Фиг.1 изображена структурная схема гибридного кодера многоракурсных видеопоследовательностей. Входные данные гибридного кодера 105 многоракурсных видеопоследовательностей включают в себя исходный вид (кодируемый ракурс) 101 и уже закодированные и затем декодированные виды (ракурсы) 102, которые являются частью закодированных многоракурсных видеоданных. Уже закодированные/декодированные виды 102 и уже закодированные/декодированные последовательности 103 карт глубин используются для формирования синтезированного вида (ракурса) для исходного вида (кодируемого ракурса) с помощью процедуры 104 синтеза. Сформированный синтезированный вид (ракурс) также поступает на вход гибридного кодера 105.Figure 1 shows a structural diagram of a hybrid encoder multi-angle video sequences. The input to the hybrid multi-view
Гибридный кодер 105 содержит следующие функциональные блоки, используемые для кодирования исходного вида (ракурса): блок 106 управления опорными кадрами, блок 107 межкадрового предсказания, блок 108 внутрикадрового предсказания, блок 109 межкадровой и внутрикадровой компенсации, блок 110 пространственного преобразования, блок 111 оптимизации отношения скорость/искажение, блок 112 энтропийного кодирования. Детальная информация об упомянутых функциональных блоках содержится в [9]. Заявляемый способ может быть реализован в рамках блока 107 межкадрового предсказания.The
Фиг.2 содержит схему части гибридного видеокодера, которая реализует заявляемый способ в составе функционального блока кодирования с предсказанием. Гибридный кодер включает в себя блок 201 вычитания, блок 202 преобразования и квантования, блок 203 энтропийного кодирования, блок 204 обратного преобразования и обратного квантования, блок 205 компенсации смещения и коррекции изменения яркости/контрастности, блок 206 синтеза вида (ракурса), блок 207 сложения, блок 208 буферизации опорных кадров и карт глубины, блок 209 предсказания параметров компенсации и коррекции, блок 210 оценки смещения и изменения яркости/контрастности и блок 211 принятия решения о режиме кодирования макроблока. Блоки 201-204, 207-209 и 211 являются стандартными блоками кодирования, которые используются в базовом гибридном способе кодирования [9]. Блок 206 синтеза вида (ракурса) является блоком, характерным для систем для многоракурсного кодирования, т.к. выполняет формирование(синтез) дополнительных опорных кадров из уже закодированных/декодированных кадров и карт глубины.Figure 2 contains a diagram of a portion of a hybrid video encoder that implements the inventive method as part of a prediction encoding functional block. The hybrid encoder includes a
Заявляемый способ реализуется в блоках 205 и 210. Эти блоки осуществляют способ поблочного кодирования с предсказанием, который включает в себя следующие этапы:The inventive method is implemented in
- для текущего блока текущего кодируемого кадра выполняют поиск опорного блока, при этом определяется вектор смещения (DV), задаваемый парой чисел (i, j), который обычно определяет совокупный оптимум между битовыми затратами на кодирование вектора смещения как такового и величины разбежки между кодируемым блоком и скорректированным опорным блоком, которое может быть, например, вычислено по формуле:- for the current block of the current encoded frame, a search for the reference block is performed, and the offset vector (DV) is determined by a pair of numbers (i, j), which usually determines the cumulative optimum between the bit costs of encoding the offset vector as such and the spacing between the encoded block and adjusted reference block, which can, for example, be calculated by the formula:
где I(m, n) представляет собой значение яркости пикселя с координатами (m, n) внутри текущего блока. Размер текущего кодируемого блока равен H×W. (i, j) определяет вектор смещения, который указывает на опорный блок R в пределах предопределенной области поиска, Ψ(x) - функция, корректирующая возможные различия в яркости и контрастности между текущим блоком и опорным блоком. Степенной показатель Р, больший 0, обычно принимает одно из значений 1 или 2. Описанный способ реализуется в блоке 210. Найденные параметры коррекции изменения яркости, совместно с полученным DV, передаются в блок 205 и в блок 209. При практической реализации вектор смещения может также определяться сразу для нескольких рассматриваемых далее блоков в целях более компактного представления служебной информации, в этом случае критерий минимизации будет задаваться для супер-блока, включающего сразу несколько рассматриваемых далее блоков. В этом случае, критерий минимизации может быть задан следующим образом:where I (m, n) is the pixel brightness value with coordinates (m, n) inside the current block. The size of the current encoded block is H × W. (i, j) defines a displacement vector that points to the reference block R within the predefined search area, Ψ (x) is a function that corrects for possible differences in brightness and contrast between the current block and the reference block. A power exponent P greater than 0 usually takes one of the values 1 or 2. The described method is implemented in
, ,
где H1, W1 - размеры супер-блока.where H1, W1 are the sizes of the super block.
Найденный опорный блок преобразуют в соответствии с найденными параметрами коррекции изменения яркости (блок 205). После этого блок 201 формирует разностный блок. Затем, разностный блок преобразуется с помощью Дискретного Косинусного Преобразования (ДКП), квантуется (блок 202) и кодируется энтропийным кодером (блок 203). Дополнительные данные (SI), необходимые для последующего декодирования, также кодируются энтропийным кодером (блок 203).The found reference block is converted in accordance with the found brightness correction correction parameters (block 205). After that, block 201 forms a difference block. Then, the difference block is converted using the Discrete Cosine Transform (DCT), quantized (block 202) and encoded by an entropy encoder (block 203). Additional data (SI) necessary for subsequent decoding is also encoded by an entropy encoder (block 203).
На Фиг.3 схематично указаны основные элементы кодируемого, опорного кадров, участвующие в расчете коррекции изменения яркости для опорного блока в соответствии с заявляемым изобретением. В соответствии с Фиг.3 для текущего блока 311 (который может входить в состав кодируемого супер-блока 315), текущего кодируемого кадра 310 определятся вектор 320 смещения (DV), который также может быть определен для кодируемого супер-блока 315. Вектор 320 позволяет однозначно определить опорный блок 301 из опорного кадра 300 для текущего кодируемого блока 311, при этом вектор смещения также однозначно задает опорный супер-блок 305, который соответствует кодируемому супер-блоку 315. Следует отметить, что опорный кадр 300, блоки 301, 302, 303, 304, 305 и восстановленные (закодированные и затем декодированные) блоки текущего кадра 310: 312, 313, 314 доступны как во время кодирования, так и при декодировании.Figure 3 schematically shows the main elements of the encoded, reference frames involved in the calculation of the correction of brightness changes for the reference block in accordance with the claimed invention. In accordance with FIG. 3, for the current block 311 (which may be part of the encoded super block 315), the current encoded
На Фиг.4 кодируемый кадр 400 содержит внутри себя супер-блок 401, который характерен тем, что в него может входить один или более кодируемых блоков, и для супер-блока задается вектор смещения 407, обеспечивающий однозначное определение опорного супер-блока 408 в опорном кадре 406. Супер-блок 401 включает в себя в данном случае блоки 402, 403, 404, 405, при этом блок 404, также как и блок 402, кодируется с использованием преобразования, имеющего меньший размер, чем преобразование, применяемое в данном примере для блоков 403 и 405. Выбор размеров супер-блока, типов и размеров преобразования определяется кодером исходя из заранее заданных критериев минимизации стоимости кодирования информации для данного участка кодируемого кадра. Как следует из Фиг.4, блоки 402, 403, 404, 405 логически связаны т.к. входят в супер-блок 401 как составные части.4, the encoded
Фиг.5 (виды 5.1 и 5.2) иллюстрируют взаимное расположение основных рассматриваемых в данном изобретении областей текущего кадра 500. Так, область 501 текущего кадра 500 доступна во время кодирования и декодирования текущего кодируемого блока 502. Область 501 иногда также называют «шаблоном». Область 503 не доступна во время декодирования текущего блока 502. Поскольку в заявляемом изобретении расчет параметров коррекции яркости опорного блока основан на пикселях текущего кадра, которые расположены только в области 501, при реализации подобной коррекции в кодере и декодере нет необходимости в передаче дополнительных параметров коррекции яркости в выходном битовом потоке. Некоторые пиксели, принадлежащие области 501, используются для расчета параметров коррекции яркости опорного блока. На Фиг.5 (виды 5.1 и 5.2) эти пиксели представлены областью 505.5 (views 5.1 and 5.2) illustrate the relative positioning of the main regions of the
Пиксели, используемые для расчета параметров коррекции, могут выбираться из одной или более пространственных областей, каждая из которых характеризуется наперед заданной пространственной близостью по отношению к текущему блоку кодируемого кадра и текущему опорному блоку опорного кадра; так на Фиг.5 (вид 5.2) выбранной пространственной областью является область 505, а пространственная близость определяется кратчайшим расстоянием между областью и границей блока, обозначенное на Фиг.5 (вид 5.2) как 506.The pixels used to calculate the correction parameters can be selected from one or more spatial areas, each of which is characterized by a predetermined spatial proximity with respect to the current block of the encoded frame and the current reference block of the reference frame; so in FIG. 5 (view 5.2), the selected spatial region is
Выбор области может производиться, исходя из типа пространственного преобразования 202 (Фиг.2), применяемого впоследствии для кодирования разностной пиксельной информации, уже декодированных пикселей, исходя из размеров уже закодированных соседних блоков, а также их логических связей с текущим кодируемым блоком, задаваемых алгоритмом кодирования; дополнительно рассчитывается оценка схожести пикселей, соседних по отношению к кодируемому блоку и рассматриваемых совместно, и пикселей, соседних по отношению к опорному блоку и рассматриваемых совместно; значение рассчитанной оценки схожести пикселей может использоваться как дополнительное условие при принятии решения об использовании коррекции яркости пикселей опорного блока.The choice of the region can be made based on the type of spatial transformation 202 (Figure 2), which is subsequently used to encode difference pixel information, already decoded pixels, based on the sizes of neighboring blocks already encoded, as well as their logical connections with the current encoded block, specified by the encoding algorithm ; additionally, an assessment is made of the similarity of pixels adjacent to the block being encoded and considered together and pixels adjacent to the reference block and considered together; the value of the calculated pixel similarity score can be used as an additional condition when deciding on the use of pixel brightness correction of the reference block.
Одна из основных реализаций заявляемого изобретения предусматривает пиксельную коррекцию изменения яркости для опорного блока при кодировании с предсказанием. Ключевая идея заключается в пиксельной оценке параметра коррекции изменения яркости, причем коррекция основывается на восстановленных значениях пикселей, соседних с текущим блоком, значениях пикселей опорного кадра и их взаимном подобии. Фиг.6 иллюстрирует конкретное применение этой техники.One of the main implementations of the claimed invention provides for pixel correction of a change in brightness for a reference block in prediction coding. The key idea is to make a pixel estimate of the brightness correction correction parameter, and the correction is based on the restored pixel values adjacent to the current block, the pixel values of the reference frame, and their mutual similarity. 6 illustrates a specific application of this technique.
Согласно Фиг.6 для текущего блока 611, принадлежащего текущему кодируемому кадру 610, определяется вектор смещения (DV) 620. DV указывает на опорный блок 601 из опорного кадра 600. Текущий блок 611, имеющий для определенности размеры 4×4 пикселя, содержит пиксели, которые обозначены как A00~A33. Опорный блок 601 содержит пиксели, которые обозначены как R00~R33. Восстановленные значения пикселей (блоки 612 и 613, размеры которых для определенности заданы как 4×2 и 2×4), соседних по отношению к текущему кодируемому блоком, обозначены как . -пиксели, принадлежащие блокам 602 и 603. Блоки 602 и 603 являются соседними по отношению к опорному блоку 601 и ставятся в соответствие блокам 612 и 613.6, for the
Для каждого положения (i, j) пикселя в опорном блоке 601 коррекция изменения яркости осуществляется в соответствии со следующим выражением:For each position (i, j) of the pixel in the
Ψ(xi,j)=αi,j·xi,j. Ψ (x i, j) = α i, j · x i, j.
Здесь параметр пиксельной коррекции изменения яркости αi,j (в случае, если estRi,j не равно 0) описывается как:Here, the pixel correction parameter of the brightness change α i, j (in case estR i, j is not equal to 0) is described as:
, ,
где estDi,j - это первая оценка для пикселя с координатами (i, j) в опорном блоке; estRi,j - это вторая оценка пикселя с координатами (i, j) в опорном блоке. В противном случае αi,j полагается равным 1.where estD i, j is the first estimate for a pixel with coordinates (i, j) in the reference block; estR i, j is the second pixel estimate with the coordinates (i, j) in the reference block. Otherwise, α i, j is set equal to 1.
Блок-схема способа пиксельной коррекции изменения яркости для опорного блока приведена на Фиг.7. Этот способ включает следующие основные этапы:The block diagram of a method for pixel correction of brightness changes for the reference block is shown in Fig.7. This method includes the following main steps:
1. Получение значений пикселей блоков 601, 602, 603 из опорного кадра 600, блока 611 и блоков 612, 613, принадлежащих области шаблона текущего кодируемого кадра 610 (операция 701). Далее, для оценки сходства пикселей блоков 602, 603 и пикселей блоков 612, 613 предусмотрены следующие этапы:1. Obtaining pixel values of
- все уже восстановленные пиксели соседние с опорным блоком (в частности пиксели, входящие в блоки 602 и 603) и все уже восстановленные пиксели соседние с кодируемым блоком (в частности пиксели, входящие в блоки 612 и 613), образуя совместно пары , однозначно задаваемые пространственным положением пикселей и в соответствующих областях, которое определяется значением номера пикселя к, группируются в M не пересекающихся групп G0…GM-1, таких, что , k=0…N-1∈{G0∩…G1∩…∩GM-1}. Группой может являться блок пар пикселей с вообще говоря произвольными размерами, например, размерами 2×2 пары пикселей, 4×4 пары пикселей и т.д. в зависимости от фактических размеров исходных блоков 602, 603, 612, 613. Пары пикселей, принадлежащих группе Gi, обозначаются также как ;- all pixels already recovered adjacent to the reference block (in particular pixels included in
- для каждой группы Gi рассчитывается метрика MR_Norm(Gi), которая основана на учете пиксельных различий и за исключением различия средних значений всех пикселей и средних значений всех пикселей каждой группы Gi по формуле:- for each group Gi, the metric MR_Norm (Gi) is calculated, which is based on the consideration of pixel differences and except for the difference in average values of all pixels and average values of all pixels each Gi group according to the formula:
, ,
где значение степенного показателя P1 определяется экспериментально и для определенности может быть задано равным 1;where the value of the power exponent P1 is determined experimentally and for definiteness can be set equal to 1;
- для каждой группы Gi рассчитывается метрика M_Norm(Gt), основанная на различиях средних значений всех пикселей и средних значений всех пикселей каждой группы Gi по формуле:- for each group Gi, the metric M_Norm (G t ) is calculated based on the differences in the average values of all pixels and average values of all pixels each Gi group according to the formula:
, ,
где значение степенного показателя P2 определяется экспериментально, и для определенности может быть задано равным 1;where the value of the power exponent P2 is determined experimentally, and for definiteness can be set equal to 1;
- рассчитывается общая метрика, обозначаемая MR_Norm, для групп G0…GM-1, которая основана на учете пиксельных различий пикселей и по каждой из групп за исключением различий средних значений всех пикселей и средних значений всех пикселей всех пикселей каждой группы Gi по формуле:- the general metric, denoted by MR_Norm, is calculated for the groups G0 ... GM-1, which is based on the consideration of pixel differences in pixels and for each of the groups with the exception of differences in the average values of all pixels and average values of all pixels of all pixels each Gi group according to the formula:
; ;
- рассчитывается общая метрика, обозначаемая M_Norm, для групп G0…GM-1, которая основана на учете различия средних значений всех пикселей и средних значений всех пикселей каждой труппы Gi по формуле:- the general metric, denoted by M_Norm, is calculated for the groups G0 ... GM-1, which is based on the difference in the average values of all pixels and average values of all pixels each troupe Gi according to the formula:
; ;
- производится сравнение значений рассчитанных метрик MR_Norm и М_Norm с наперед заданными пороговыми значениями, и в случае если MR_Norm больше первого заданного порогового значения или M_Norm меньше второго заданного порогового значения, подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком считается слабым; в противном случае подобие восстановленных пикселей, соседних с опорным блоком и восстановленных пикселей, соседних с кодируемым блоком считается сильным;- the values of the calculated MR_Norm and М_Norm metrics are compared with the predetermined threshold values, and if MR_Norm is greater than the first specified threshold value or M_Norm is less than the second specified threshold value, the similarity of the restored pixels adjacent to the reference block and the restored pixels adjacent to the encoded block considered weak; otherwise, the similarity of the restored pixels adjacent to the reference block and the restored pixels adjacent to the encoded block is considered strong;
- если подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком, слабое, коррекция может не применятся;- if the similarity of the restored pixels adjacent to the reference block and the restored pixels adjacent to the encoded block is weak, the correction may not be applied;
- если подобие восстановленных пикселей, соседних с опорным блоком, и восстановленных пикселей, соседних с кодируемым блоком, сильное, коррекция применяется обязательно.- if the similarity of the restored pixels adjacent to the reference block and the restored pixels adjacent to the encoded block is strong, correction is necessary.
2. Вычисление весовых коэффициентов Wk(i,j), k=0, …, N-1 для каждого положения (i, j) пикселя в опорном блоке 601 (операция 702). Весовые коэффициенты Wk(i, j) выражаются следующим образом:2. The calculation of the weights W k (i, j), k = 0, ..., N-1 for each position (i, j) of the pixel in the reference block 601 (operation 702). Weighting factors W k (i, j) are expressed as follows:
Wk(i, j)=exp(-C1·Ak(i, j)C2+C3)W k (i, j) = exp (-C1A k (i, j) C2 + C3)
где C1, C2, C3 - численные параметры, задающие нелинейную зависимость весового коэффициента от величины Ak(i, j), определяется экспериментально. Здесь N - это общее число пикселей в блоках 612, 613 (или 602, 603). Необходимо отметить, что весовые коэффициенты отражают тот факт, что чем значение Ri,j ближе к
3. Вычисление значений estDi,j для каждого положения (i, j) пикселя в опорном блоке 601 (операция 703) в соответствии со следующим выражением:3. The calculation of the values estD i, j for each position (i, j) of the pixel in the reference block 601 (operation 703) in accordance with the following expression:
Thr1 и Thr2 - это предопределенные пороговые значения, BaseD - начальное значение первой оценки. Пороговые значения используются для исключения значений пикселей, соседних по отношению к опорному блоку, которые существенно отличаются от значений Ri,j, и значений
4. Вычисление значений для каждого положения i,j пикселя в опорном блоке 601 (операция 704) в соответствии со следующим выражением:4. The calculation of values for each position i, j of the pixel in the reference block 601 (operation 704) in accordance with the following expression:
Предопределенные пороговые значения Thr1 и Thr2 являются такими же, как в вычислении для вычисления estDi,j, BaseR - начальное значение первой оценки.The predefined threshold values Thr1 and Thr2 are the same as in the calculation for calculating estD i, j , BaseR is the initial value of the first estimate.
Для повышения точности оценки величины параметра коррекции изменения яркости αi,j, заявляемое изобретение предусматривает, что для исключения из рассмотрения полученных пикселей
- группируют пиксели
- при этом величины LRb LRi+] определяют границы диапазона, задающего группу B(LRi, LRi+1) и удовлетворяют условию LRi>-1; LRi+1>Ri. Количество групп B(LRi, LRi+1) NB определяется экспериментально и задает максимально возможное значение индекса i, используемого при нумерации величин (LR-, LRi+1): -1<LR0<LR0<LR0…<LRNB;- in this case, the values LR b LR i +] determine the boundaries of the range defining the group B (LR i , LR i + 1 ) and satisfy the condition LR i >-1; LR i + 1 > R i . The number of groups B (LR i , LR i + 1 ) N B is determined experimentally and sets the maximum possible value of the index i used for numbering the quantities (LR-, LR i + 1 ): -1 <LR 0 <LR 0 <LR 0 ... <LR NB ;
- для каждой группы B(LRi, LRi+1), задаваемой величинами (LRi,LRi+1), рассчитывают следующие величины:- for each group B (LR i , LR i + 1 ) defined by the values (LR i , LR i + 1 ), the following values are calculated:
- для каждого пикселя
Условие 1:Condition 1:
Условие 2:Condition 2:
Условие 3:Condition 3:
в том случае, если верным является хотя бы одно из проверяемых условий 1…3 для очередного рассматриваемого пикселя
5. Вычисление параметра коррекции изменения яркости αi,j (операция 705) для каждого пикселя с координатами (i, j) в опорном блоке 601 на основании полученных значений и estDi,j в случае, если estDi,j не равно 0. В противном случае αi,j полагается равным 1.5. The calculation of the brightness correction parameter α i, j (operation 705) for each pixel with coordinates (i, j) in the
Предусматривается, что для уменьшения вычислительных затрат, связанных с компенсаций пикселей опорного блока в случае, если первая оценка estDi,j и вторая оценка estRi,j таковы, что параметр коррекции αi,j близок к 1, выполняется проверка условия: EstRi,j+Δ1>>Qbits1==EstDi,j+Δ1>>Qbits1, где Qbits1 и Δ1 - неотрицательные целые числа, и если условие верно, то параметр коррекции задается равным 1.It is envisaged that in order to reduce the computational costs associated with compensating the pixels of the reference block if the first estimate estD i, j and the second estimate estR i, j are such that the correction parameter α i, j is close to 1, the condition is checked: EstR i, j + Δ1 >> Qbits 1 == EstD i, j + Δ1 >> Qbits 1 , where Qbits 1 and Δ1 are non - negative integers, and if the condition is true, then the correction parameter is set to 1.
Также, для повышения точности метода компенсации локальных отличий яркости при котором достигается снижение вычислительных затрат, связанных с компенсаций пикселей опорного блока в случае, если первая оценка estDi,j и вторая оценка estRi,j таковы, что параметр коррекции αi,j близок к 1, может выполняться проверка условия (|EstDi,j -EstRi,j|+Δ2>>Qbits2==0, где Obits2 и Δ2 где Qbits2 и Δ2 - неотрицательные целые числа, и если условие верно, то параметр коррекции задается равным 1. Имеет смысл рассмотреть и более общий критерий, позволяющий определять ситуацию близости параметра коррекции к 1, который подразумевает проверку следующего неравенства: Δ3×EstR<EstD<Δ4×EstR, где Δ3, Δ4 - заранее заданные неотрицательные числа, и в случае его выполнения задание параметра коррекции равным 1.Also, to improve the accuracy of the method for compensating for local differences in brightness, in which the computational costs associated with compensation of pixels of the reference block are reduced if the first estimate estD i, j and the second estimate estR i, j are such that the correction parameter α i, j is close to 1, the condition can be checked ( | EstD i, j - EstR i, j | + Δ2 >> Qbits 2 == 0, where Obits 2 and Δ2 where Qbits 2 and Δ2 are non-negative integers, and if the condition is true , then the correction parameter is set to 1. It makes sense to consider a more general criterion, which allows to determine the situation spine correction parameter to 1, which means by the following inequality: Δ3 × EstR <EstD <Δ4 × EstR, where Δ3, Δ4 - predetermined non-negative numbers, and in case of performing the task of correction parameter 1.
6. Выполнение коррекции изменения яркости (операция 706) для опорного блока 601 на основе использования вычисленных параметров αi,j в том случае, если подобие пикселей блоков 602, 603 и 612, 613 признано сильным.6. Performing a correction of the brightness change (operation 706) for the
Стоит отметить, что заявляемое изобретение также предусматривает такую коррекцию значений яркости пикселей опорного блока, при котором вместо использования интенсивности каждого пикселя опорного блока в отдельности, может корректироваться обобщенная статистическая характеристика более чем одного пикселя опорного блока. Например, для пикселей A00, A01, A10, A11 из блока 601 возможно рассчитать среднее значение, для которого будет рассчитан параметр коррекции в соответствии с вариантами реализации заявляемого изобретения, описанными выше. Затем, среднее значение совокупности пикселей A00, A01, A10, A11 будет заменено на скорректированное значение. В другой реализации пиксели опорного блока группируются в одну или более групп пикселей на основе явно определяемого общего признака (например, близости интенсивностей), с последующим выделением общего параметра (такого, как например среднее значение), его коррекцией и финальной заменой исходного значения общего параметра для выделенной группы пикселей на скорректированное.It is worth noting that the claimed invention also provides such a correction of the brightness values of the pixels of the reference block, in which instead of using the intensity of each pixel of the reference block individually, the generalized statistical characteristic of more than one pixel of the reference block can be adjusted. For example, for pixels A00, A01, A10, A11 from
Другой вариант реализации заявляемого изобретения основан на следующем. Обычно в качестве пикселей, соседних по отношению к опорному блоку, выбирают группу пикселей, непосредственно прилегающих к опорному блоку. Однако процедура поиска опорного блока может выбрать такой вектор смещения, что значения пикселей в указанной группе не будут в достаточной степени схожи с соответствующими им значениями пикселей, соседних по отношению к текущему кодируемому блоку. Более того, значения пикселей, непосредственно прилегающих к опорному блоку, могут значительно отличаться от значений пикселей опорного блока. В этих случаях, коррекция изменения яркости и контрастности может выполняться неверно.Another embodiment of the claimed invention is based on the following. Typically, as pixels adjacent to the reference block, a group of pixels adjacent to the reference block is selected. However, the search procedure for the reference block can select such a displacement vector that the pixel values in the indicated group will not be sufficiently similar to the corresponding pixel values adjacent to the current encoded block. Moreover, the values of pixels directly adjacent to the reference block may differ significantly from the pixel values of the reference block. In these cases, correction of changes in brightness and contrast may not be performed correctly.
Для решения указанной проблемы, в варианте реализации заявляемого изобретения предлагается использовать "плавающее" (относительно опорного блока) положение упомянутой группы пикселей, соседних по отношению к опорному блоку. Фиг.8 объясняет заявляемый способ в соответствии с одним из вариантов реализации заявляемого изобретения. Согласно Фиг.8, на каждой итерации процедуры поиска опорного блока для текущего блока 811 текущего кодируемого кадра 810 определяют вектор 820 смещения (DV). DV указывает на опорный блок 801 опорного кадра 800. Координаты группы пикселей опорного кадра (которую образуют пиксели блоков 802 и 803) определяются с помощью дополнительного уточняющего вектора 804 смещения. Уточняющий вектор 804 смещения является результатом дополнительной процедуры оценки смещения. При этом определяется такой вектор 804 смещения, который дает минимальное значение штрафной функции, определяющей степень подобия блоков 812, 813 и блоков 802, 803 соответственно. В качестве штрафной функции могут выступать такие известные функции как: средне - квадратичная ошибка, сумма абсолютных разностей, сумма абсолютных разностей для сигналов с нулевым средним, и т.д. Вектор 804 определяется неявно во время процесса кодирования и декодирования без передачи дополнительной информации в выходном битовом потоке.To solve this problem, in an embodiment of the claimed invention, it is proposed to use the "floating" (relative to the reference block) position of said group of pixels adjacent to the reference block. Fig.8 explains the inventive method in accordance with one embodiment of the claimed invention. 8, at each iteration of the reference block search procedure for the
Логическим продолжением описанного аспекта заявляемого изобретения является следующая модификация. Обычно в качестве пикселей, соседних по отношению к опорному блоку, выбирают группу пикселей, непосредственно прилегающих к опорному блоку. При этом процедура поиска опорного блока может выбрать вектор смещения, заданный с дробной точностью, т.е. такой что указывает на некоторую промежуточную пространственную позицию, расположенную между целочисленными позициями пикселей. В этом случае, в целях упрощения предусматривается выбор такой группы пикселей, соседних по отношению к опорному блоку, что их положение задано одним из ближайших пиксельных позиций, которые могут быть заданы с меньшей точностью, нежели точность выбранного вектора смещения (например, вместо четвертьпиксельной точности для задания окрестностей будет использована пиксельная точность, что в некоторых реализациях может снижать вычислительную сложность).The logical continuation of the described aspect of the claimed invention is the following modification. Typically, as pixels adjacent to the reference block, a group of pixels adjacent to the reference block is selected. In this case, the search procedure for the reference block can select the displacement vector specified with fractional accuracy, i.e. such that it indicates some intermediate spatial position located between integer pixel positions. In this case, in order to simplify, it is envisaged to select a group of pixels adjacent to the reference block such that their position is specified by one of the closest pixel positions that can be set with less accuracy than the accuracy of the selected displacement vector (for example, instead of quarter pixel accuracy for neighborhoods will use pixel accuracy, which in some implementations may reduce computational complexity).
На Фиг.9 представлена блок-схема, которая описывает способ кодирования многоракурсных видеопоследовательностей, на основе коррекции яркости согласно одному из вариантов реализации заявляемого изобретения. На этапе 901 выбирают текущий кодируемый блок принадлежащего текущей единице кодирования. На этапе 902 определяют как минимум один опорный блок, который используется для формирования блока-предсказания для текущего кодируемого блока и пиксели которого уже полностью закодированы и декодированы. На этапе 903 определяют параметры коррекции яркости опорного блока. На этапе 904 выполняют коррекцию значений всех пикселей опорного блока на основе определенных параметров коррекции яркости. При этом определение параметров коррекции яркости и выполнения коррекции яркости включает в себя:Figure 9 presents a flowchart that describes a method of encoding multi-angle video sequences based on brightness correction according to one embodiment of the claimed invention. At
- получение восстановленных (закодированных и затем декодированных) значений пикселей, соседних по отношению к текущему блоку кодируемого кадра, и значений пикселей, соседних по отношению к опорному блоку опорного кадра; при этом получаемые пиксели могут выбираться из одной или более пространственных областей, каждая из которых характеризуется наперед заданной пространственной близостью по отношению к текущему блоку кодируемого кадра и текущему опорному блоку опорного кадра; выбор указанных областей, являющихся смежными по отношению к текущему блоку кодируемого кадра и текущему опорному блоку опорного кадра, может производиться исходя из типа и размера пространственного преобразования, применяемого впоследствии для кодирования межкадровой разности, уже декодированных пикселей, исходя из размеров уже закодированных соседних блоков, а также их логических связей с текущим кодируемым блоком (под логическими связями понимаются определенные объективно существующие зависимости между текущим блоком и соседними блоками, задаваемые, например, методом кодирования). В этом случае подобной связью может быть объединение соседних блоков и текущего кодируемого блока вместе в единый элемент кодирования, для которого задан общий вектор смещения. Дополнительно рассчитывается оценка подобия совокупности пикселей, соседних по отношению к кодируемому блоку, и совокупности пикселей, соседних по отношению к опорному блоку. Значение рассчитанной оценки подобия пикселей может использоваться как дополнительное условие при принятии решения об использовании коррекции яркости пикселей опорного блока;- obtaining the restored (encoded and then decoded) pixel values adjacent to the current block of the encoded frame, and pixel values adjacent to the reference block of the reference frame; while the resulting pixels can be selected from one or more spatial regions, each of which is characterized by a predetermined spatial proximity with respect to the current block of the encoded frame and the current reference block of the reference frame; the selection of these regions that are adjacent to the current block of the encoded frame and the current reference block of the reference frame can be made based on the type and size of the spatial transform used subsequently to encode the interframe difference, already decoded pixels, based on the sizes of neighboring blocks already encoded, and also their logical connections with the current block being encoded (logical connections are understood as certain objectively existing dependencies between the current block and neighboring and blocks asked, for example, the encoding method). In this case, such a connection can be the union of neighboring blocks and the current encoded block together into a single coding element for which a common displacement vector is specified. Additionally, a similarity score is calculated for the set of pixels adjacent to the block being encoded and the set of pixels neighboring for the reference block. The value of the calculated pixel similarity score can be used as an additional condition when deciding on the use of pixel brightness correction of the reference block;
- исключение из рассмотрения при определении параметров изменения яркости недостоверных пикселей, которые принадлежат уже декодированным и восстановленным областям опорного и кодируемого кадров и которые отличаются от общей выборки (совокупности) пикселей в указанных областях по заранее заданному критерию, который основан на анализе распределения значений пикселей в указанных областях, расчете статистических характеристик, а также сравнении значений всех проверяемых пикселей и статистических характеристик в указанных областях;- an exception from consideration when determining the parameters for changing the brightness of unreliable pixels that belong to already decoded and reconstructed areas of the reference and encoded frames and which differ from the total sample (set) of pixels in these areas according to a predetermined criterion, which is based on an analysis of the distribution of pixel values in the specified areas, calculation of statistical characteristics, as well as a comparison of the values of all tested pixels and statistical characteristics in these areas;
- определение числовых соотношений между пикселями опорного блока, достоверными пикселями из окрестности текущего декодируемого блока и достоверными пикселями из окрестности опорного блока;- determination of the numerical relationships between the pixels of the reference block, valid pixels from the vicinity of the current decoded block and reliable pixels from the vicinity of the reference block;
- вычисление значений параметров коррекции яркости на основе найденных числовых соотношений с учетом начальных значений параметров коррекции;- calculation of the values of the brightness correction parameters based on the found numerical relationships taking into account the initial values of the correction parameters;
- оценка изменения значений пикселей опорного блока; в случае, если изменение оценивается как существенное, выполняют коррекцию значений пикселей опорного блока, используя найденные параметры коррекции.- assessment of changes in the pixel values of the reference block; if the change is assessed as significant, correct the pixel values of the reference block using the found correction parameters.
На этапе 905 формируют блок-предсказание для текущего кодируемого блока, используя скорректированный опорный блок. На этапе 906 кодируют текущий блок с помощью сформированного блока-предсказания.At 905, a prediction block is generated for the current block to be encoded using the adjusted reference block. At 906, the current block is encoded using the generated prediction block.
Фиг.10 иллюстрирует способ декодирования многоракурсных видеопоследовательностей на основе коррекции изменения яркости согласно одному из примеров реализации заявляемого изобретения. Согласно фиг.10 на этапе 1001 выбирают текущий декодируемый блок, принадлежащий текущей единице кодирования. На этапе 1002 определяют опорный блок для текущего декодируемого блока. На этапе 1003 определяют параметры коррекции изменения для коррекции яркости найденного опорного блока. На этапе 1004 выполняют коррекцию значений всех пикселей опорного блока на основе определенных параметров коррекции яркости. При этом определение параметров коррекции яркости и выполнения коррекции яркости включает в себя:Figure 10 illustrates a method for decoding multi-angle video sequences based on the correction of brightness changes according to one example implementation of the claimed invention. 10, in
- получение восстановленных (закодированных и затем декодированных) значений пикселей, соседних по отношению к текущему блоку кодируемого кадра, и значений пикселей, соседних по отношению к опорному блоку опорного кадра; при этом получаемые пиксели могут выбираться из одной или более пространственных областей, каждая из которых характеризуется наперед заданной пространственной близостью по отношению к текущему блоку кодируемого кадра и текущему опорному блоку опорного кадра; выбор указанных областей, являющихся смежными по отношению к текущему блоку кодируемого кадра и текущему опорному блоку опорного кадра, может производиться исходя из типа и размера пространственного преобразования, применяемого впоследствии для кодирования межкадровой разности уже декодированных пикселей, исходя из размеров уже закодированных соседних блоков, а также их логических связей с текущим кодируемым блоком (под логическими связями понимаются определенные объективно существующие зависимости между текущим блоком и соседними блоками, задаваемые, например, методом кодирования. В этом случае подобной связью может быть объединение соседних блоков и текущего кодируемого блока вместе в единый элемент кодирования, для которого задан общий вектор смещения); дополнительно рассчитывается оценка подобия совокупности пикселей, соседних по отношению к кодируемому блоку, и совокупности пикселей, соседних по отношению к опорному блоку. Значение рассчитанной оценки подобия пикселей может использоваться как дополнительное условие при принятии решения об использовании коррекции яркости пикселей опорного блока;- obtaining the restored (encoded and then decoded) pixel values adjacent to the current block of the encoded frame, and pixel values adjacent to the reference block of the reference frame; while the resulting pixels can be selected from one or more spatial regions, each of which is characterized by a predetermined spatial proximity with respect to the current block of the encoded frame and the current reference block of the reference frame; the selection of these areas that are adjacent to the current block of the encoded frame and the current reference block of the reference frame can be made based on the type and size of the spatial transform used subsequently to encode the interframe difference of the already decoded pixels, based on the sizes of neighboring blocks already encoded, and their logical connections with the current block being encoded (logical connections are understood as certain objectively existing dependencies between the current block and the neighboring and blocks specified, for example, by the encoding method. In this case, such a connection can be the combination of neighboring blocks and the current encoded block together into a single encoding element for which a common displacement vector is specified); additionally, an assessment of the similarity of the set of pixels adjacent to the encoded block and the set of pixels adjacent to the reference block is calculated. The value of the calculated pixel similarity score can be used as an additional condition when deciding on the use of pixel brightness correction of the reference block;
- исключение из рассмотрения при определении параметров изменения яркости недостоверных пикселей, которые принадлежат уже декодированным и восстановленным областям опорного и кодируемого кадров и которые отличаются от общей выборки (совокупности) пикселей в указанных областях по заранее заданному критерию, который основан на анализе распределения значений пикселей в указанных областях, расчете статистических характеристик, а также сравнении значений всех проверяемых пикселей и статистических характеристик в указанных областях;- an exception from consideration when determining the parameters for changing the brightness of unreliable pixels that belong to already decoded and reconstructed areas of the reference and encoded frames and which differ from the total sample (set) of pixels in these areas according to a predetermined criterion, which is based on an analysis of the distribution of pixel values in the specified areas, calculation of statistical characteristics, as well as a comparison of the values of all tested pixels and statistical characteristics in these areas;
- определение соотношений между значениями пикселей опорного блока и значениями пикселей, соседних по отношению к опорному блоку, а также соотношений между восстановленными значениями пикселей, соседних по отношению к текущему кодируемому блоку, и значениями пикселей, соседних по отношению к опорному блоку;- determination of the relationship between the pixel values of the reference block and the values of pixels adjacent to the reference block, as well as the ratios between the restored pixel values adjacent to the current encoded block and the pixel values adjacent to the reference block;
- определение числовых соотношений между пикселями опорного блока, достоверными пикселями из окрестности текущего декодируемого блока и достоверными пикселями из окрестности опорного блока;- determination of the numerical relationships between the pixels of the reference block, valid pixels from the vicinity of the current decoded block and reliable pixels from the vicinity of the reference block;
- вычисление значений параметров коррекции яркости на основе найденных числовых соотношений с учетом начальных значений параметров коррекции;- calculation of the values of the brightness correction parameters based on the found numerical relationships taking into account the initial values of the correction parameters;
- оценка изменения значений пикселей опорного блока; в случае, если изменение оценивается как существенное, выполняют коррекцию значений пикселей опорного блока, используя найденные параметры коррекции.- assessment of changes in the pixel values of the reference block; if the change is assessed as significant, correct the pixel values of the reference block using the found correction parameters.
На этапе 1005 формируют блок-предсказание для текущего декодируемого блока, используя скорректированный опорный блок. На этапе 1006 декодируют текущий блок с помощью сформированного блока-предсказания.In
Указанные выше способы адаптивной компенсации локальных различий яркости при межкадровом предсказании, а также способы кодирования и декодирования многоракурсных видеопоследовательностей, основанные на адаптивной компенсации локальных различий яркости реализуются в виде компьютерной системы. Например, компьютерная система может включать в себя один или несколько процессоров, оперативную память, запоминающее устройство и блок ввода-вывода данных. В этом случае последовательность операций по каждому из указанных выше способов представляется последовательностью команд процессора, которые хранятся в запоминающем устройстве. При поступлении на блок ввода-вывода необходимых данных процессор размещает в оперативной памяти и/или считывает с запоминающего устройства данные, а затем выполняет последовательность команд, хранящихся в запоминающем устройстве, тем самым реализуя один из способов в соответствии с настоящим изобретением.The above methods for adaptive compensation of local differences in brightness during inter-frame prediction, as well as methods for encoding and decoding multi-angle video sequences based on adaptive compensation for local differences in brightness, are implemented as a computer system. For example, a computer system may include one or more processors, RAM, memory, and a data input / output unit. In this case, the sequence of operations for each of the above methods is represented by a sequence of processor instructions that are stored in a storage device. Upon receipt of the necessary data on the input / output unit, the processor places in the RAM and / or reads data from the storage device, and then executes a sequence of instructions stored in the storage device, thereby implementing one of the methods in accordance with the present invention.
Варианты реализации заявляемого изобретения, описанные выше, приведены лишь с целью иллюстрации и не имеют ограничительного характера. Объем охраны изобретения определяется прилагаемой формулой изобретения.The embodiments of the claimed invention described above are provided for purposes of illustration only and are not restrictive. The scope of protection of the invention is determined by the attached claims.
СсылкиReferences
[1] Yea, S.; Vetro, A., «View Synthesis Prediction for Multiview Video Coding», Image Communication, ISSN: 0923-5965, Vol.24, Issue 1-2, pp.89-100, January 2009;[1] Yea, S .; Vetro, A., “View Synthesis Prediction for Multiview Video Coding”, Image Communication, ISSN: 0923-5965, Vol.24, Issue 1-2, pp.89-100, January 2009;
[2] ITU-T Rec. H.264. Advanced video coding for generic audiovisual services. 2010.[2] ITU-T Rec. H.264. Advanced video coding for generic audiovisual services. 2010.
[3] US Patent 7,924,923. Motion Estimation and Compensation Method and Device Adaptive to Change in Illumination. April, 2011.[3] US Patent 7,924,923. Motion Estimation and Compensation Method and Device Adaptive to Change in Illumination. April 2011.
[4] Y.Lee, J.Hur, Y.Lee, R.Han, S.Cho, N.Hur, J.Kim, J.Kim, P.Lai, A.Ortega, Y.Su, P.Yin and C.Gomila. CE11: Illumination compensation. Joint Video Team (JVT) of ISOAEC MPEG and ITU-T VCEG JVT-U052, Oct. 2006.[4] Y. Lee, J. Hur, Y. Lee, R. Han, S. Cho, N. Hur, J. Kim, J. Kim, P. Lai, A. Ortega, Y.Su, P. Yin and C. Gomila. CE11: Illumination compensation. Joint Video Team (JVT) of ISOAEC MPEG and ITU-T VCEG JVT-U052, Oct. 2006.
[5] J.H.Kim, P.Lai, J.Lopez, A.Ortega, Y.Su, P.Yin, and C.Gomila. New coding tools for illumination and focus mismatch compensation in multiview video coding. IEEE Trans, on Circuits and Systems for Video Technology, vol. 17, no.11, pp.1519-1535, Nov. 2007.[5] J. H. Kim, P. Lai, J. Lopez, A. Ortega, Y.Su, P. Yin, and C. Gomila. New coding tools for illumination and focus mismatch compensation in multiview video coding. IEEE Trans, on Circuits and Systems for Video Technology, vol. 17, no.11, pp. 1519-1535, Nov. 2007.
[6] T.Yamamoto, T.Ikai, "Weighted prediction using neighboring pixels," ITU-T Q.6/SG16 VCEG, Proposal VCEG-AH19, January 2008.[6] T. Yamamoto, T. Ikai, "Weighted prediction using neighboring pixels," ITU-T Q.6 / SG16 VCEG, Proposal VCEG-AH19, January 2008.
[7] US Patent Application 2011/0286678. Multi-view Image Coding Method, Multi-view Image Decoding Method, Multi-view Image Coding Device, Multi-view Image Decoding device, Multi-view Image Coding Program, and Multi-view Image Decoding Program. November, 2011.[7] US Patent Application 2011/0286678. Multi-view Image Coding Method, Multi-view Image Decoding Method, Multi-view Image Coding Device, Multi-view Image Decoding device, Multi-view Image Coding Program, and Multi-view Image Decoding Program. November, 2011.
[8] US patent application 2008/0304760. Method and Apparatus for Illumination Compensation and Method and Apparatus for Encoding and Decoding Image Based on Illumination Compensation. December. 2008.[8] US patent application 2008/0304760. Method and Apparatus for Illumination Compensation and Method and Apparatus for Encoding and Decoding Image Based on Illumination Compensation. December. 2008.
[9] Richardson I.E. The H.264 Advanced Video Compression Standard. Second Edition. 2010.[9] Richardson I.E. The H.264 Advanced Video Compression Standard. Second Edition. 2010.
[10] Martucci S.A. «Reversible compression of HDTV images using median adaptive prediction and arithmetic coding», in IEEE Int. Symp. on Circuits and Systems, 1990.[10] Martucci S.A. “Reversible compression of HDTV images using median adaptive prediction and arithmetic coding”, in IEEE Int. Symp on Circuits and Systems, 1990.
Claims (71)
- получают значения пикселей текущего кодируемого блока, принадлежащего кодируемому кадру, и значения пикселей опорного блока, принадлежащего опорному кадру;
- получают восстановленные, то есть закодированные и затем декодированные, значения пикселей, из окрестности текущего кодируемого блока кодируемого кадра и значения пикселей, из окрестности опорного блока опорного кадра;
отличающийся тем, что:
- исключают из рассмотрения пиксели, принадлежащие окрестности текущего кодируемого блока и окрестности опорного блока опорного кадра, которые оцениваются как недостоверные для расчета параметров изменения яркости по заранее заданному, по меньшей мере, одному критерию;
- определяют числовые соотношения между пикселями опорного блока, достоверными пикселями из окрестности текущего кодируемого блока и достоверными пикселями из окрестности опорного блока;
- учитывая начальные значения, вычисляют значения параметров коррекции яркости на основе найденных числовых соотношений;
- оценивают изменение значений пикселей опорного блока; в случае, если изменение оценивается как существенное, выполняют коррекцию значений пикселей опорного блока, используя найденные параметры коррекции.1. The method of adaptive compensation of local differences in brightness during inter-frame prediction of frames in the process of encoding and decoding a multi-angle video sequence, implemented by a computer system and includes the following operations:
- get the pixel values of the current encoded block belonging to the encoded frame, and the pixel values of the reference block belonging to the reference frame;
- get restored, that is, encoded and then decoded, the pixel values from the vicinity of the current encoded block of the encoded frame and the pixel values from the neighborhood of the reference block of the reference frame;
characterized in that:
- exclude from consideration the pixels belonging to the vicinity of the current encoded block and the neighborhood of the reference block of the reference frame, which are estimated as invalid for calculating the parameters of the brightness change according to a predetermined at least one criterion;
- determine the numerical relationship between the pixels of the reference block, valid pixels from the vicinity of the current encoded block and reliable pixels from the neighborhood of the reference block;
- taking into account the initial values, the values of the brightness correction parameters are calculated based on the found numerical ratios;
- evaluate the change in pixel values of the reference block; if the change is assessed as significant, correct the pixel values of the reference block using the found correction parameters.
- определяют близлежащую окрестность текущего кодируемого блока и близлежащую окрестность опорного блока, так что пиксели, принадлежащие этим окрестностям, уже восстановлены;
- вычисляют, по меньшей мере, две численных оценки estDi,j и estRi,j для каждого положения (i, j) пикселя в опорном блоке, на основе восстановленных значений
- определяют на основе, по меньшей мере, первой оценки estDi,j второй оценки estRi,j значений Ri,j пикселей опорного блока, восстановленных значений пикселей
- выполняют коррекцию значений пикселей опорного блока с помощью параметров коррекции.2. The method according to claim 1, characterized in that the procedures for determining the ratios for the pixels of the current encoded frame and the reference frame, the determination of the correction parameter of the brightness change, as well as the correction of the pixel values of the reference block include the following steps:
- determine the nearby neighborhood of the current encoded block and the nearby neighborhood of the reference block, so that the pixels belonging to these neighborhoods are already restored;
- calculate at least two numerical estimates estD i, j and estR i, j for each position (i, j) of the pixel in the reference block, based on the restored values
- determined based on at least a first estimate estD i, j of a second estimate estR i, j of values R i, j of pixels of the reference block, the restored pixel values
- perform the correction of the pixel values of the reference block using the correction parameters.
- задают начальное значение BaseR для первой оценки и начальное значение BaseD для второй оценки так, что BaseR и BaseD либо оба неотрицательные, либо оба неположительные числа;
- вычисляют весовые коэффициенты Wk(i, j), k=0, …, N-1, зависящие от интенсивности пикселя опорного блока в позиции (i, j) и интенсивности пикселя с индексом k=0, …, N-1 из заранее заданной близлежащей окрестности опорного блока;
- вычисляют первую оценку как
- вычисляют вторую оценку как
- в том случае, если вторая оценка estRi,j не равна нулю, определяют параметр коррекции значения каждого пикселя опорного блока как
- выполняют коррекцию яркости опорного блока путем умножения значения каждого пикселя опорного блока Ri,j на соответствующий параметр коррекции αi,j в случае, если параметр коррекции αi,j не равен 1.3. The method according to claim 2, characterized in that the procedure for calculating the first and second estimates for each pixel position in the reference block and determining the correction parameters of the pixel values of the reference block includes the following operations:
- set the initial value of BaseR for the first evaluation and the initial value of BaseD for the second evaluation so that BaseR and BaseD are either both non-negative or both non-positive numbers;
- calculate the weight coefficients W k (i, j), k = 0, ..., N-1, depending on the intensity of the pixel of the reference block at position (i, j) and the intensity of the pixel with the index k = 0, ..., N-1 from a predetermined nearby neighborhood of the support block;
- calculate the first estimate as
- calculate the second score as
- if the second estimate estR i, j is not equal to zero, the correction parameter of the value of each pixel of the reference block is determined as
- carry out the correction of the brightness of the reference block by multiplying the value of each pixel of the reference block R i, j by the corresponding correction parameter α i, j if the correction parameter α i, j is not equal to 1.
- задают начальное значение BaseR для первой оценки и начальное значение BaseD для второй оценки так, что BaseR и BaseD либо оба неотрицательные, либо оба неположительные числа;
- вычисляют весовые коэффициенты Wk(i, j), k=0, …, N-1, зависящие от интенсивности пикселя опорного блока в позиции (i, j) и интенсивности пикселя с индексом k=0, …, N-1 из окрестности опорного блока;
- вычисляют второй набор весовых коэффициентов LK(i, j), k=0…N-1, зависящих от позиции (i, j) пикселя в опорном блоке и индекса k=0, …, N-1;
- вычисляют первую оценку как
- вычисляют вторую оценку как
- set the initial value of BaseR for the first evaluation and the initial value of BaseD for the second evaluation so that BaseR and BaseD are either both non-negative or both non-positive numbers;
- calculate the weight coefficients W k (i, j), k = 0, ..., N-1, depending on the intensity of the pixel of the reference block at position (i, j) and the intensity of the pixel with the index k = 0, ..., N-1 from neighborhood of the reference block;
- calculate the second set of weights L K (i, j), k = 0 ... N-1, depending on the position (i, j) of the pixel in the reference block and the index k = 0, ..., N-1;
- calculate the first estimate as
- calculate the second score as
- вычисляют весовые коэффициенты Wk(i, j), k=0, …, N-1 для каждого положения (i, j) пикселя в опорном блоке, при этом весовой коэффициент Wk(i, j) равен невозрастающей функции от абсолютной разности
- calculate the weight coefficients W k (i, j), k = 0, ..., N-1 for each position (i, j) of the pixel in the reference block, while the weight coefficient W k (i, j) is equal to a non-increasing function of the absolute differences
- вычисляют весовые коэффициенты Wk(i, j), k=0, …, N-1 для каждого положения (i, j) пикселя в опорном блоке, при этом весовой коэффициент Wk(i, j) равен невозрастающей функции от абсолютной разности
- вычисляют весовые коэффициенты LK(i, j), k=0…N-1 для первой оценки estDi,j и для второй оценки estRi,j для каждого положения (i, j) пикселя в опорном блоке так, что весовой коэффициент LK(i, j) равен невозрастающей функции f расстояния между пикселями
- calculate the weight coefficients W k (i, j), k = 0, ..., N-1 for each position (i, j) of the pixel in the reference block, while the weight coefficient W k (i, j) is equal to a non-increasing function of the absolute differences
- calculate the weight coefficients L K (i, j), k = 0 ... N-1 for the first estimate estD i, j and for the second estimate estR i, j for each position (i, j) of the pixel in the reference block so that the weight coefficient L K (i, j) is equal to a non-increasing function f of the distance between pixels
- проверяют первое условие достоверности пикселя:
- проверяют второе условие достоверности пикселя:
- исключают из дальнейших расчетов такие пиксели
- check the first pixel confidence condition:
- check the second pixel confidence condition:
- exclude such pixels from further calculations
- задают значения весовых коэффициентов Wk(i, j), k=0, …, N-1 для первой оценки estDi,j и второй оценки estRi,j равными единице для каждого положения (i, j) пикселя в опорном блоке для всех позиций k=0…N-1 таких, что пиксели
- set the values of the weighting coefficients W k (i, j), k = 0, ..., N-1 for the first estimate estD i, j and the second estimate estR i, j equal to one for each position (i, j) of the pixel in the reference block for all positions k = 0 ... N-1 such that pixels
- вычисляют весовые коэффициенты Wk(i, j), k=0, …, N-1 так, что весовой коэффициент Wk(i, j) равен
- calculate the weight coefficients W k (i, j), k = 0, ..., N-1 so that the weight coefficient W k (i, j) is
- используя все уже восстановленные пиксели
- для каждой группы Gi рассчитывают метрику, которая основана на учете пиксельных различий
- для каждой группы Gi рассчитывают метрику, основанную на различиях средних значений всех пикселей
- рассчитывают общую метрику, обозначаемую MR_Norm, для групп G0…GM-1, которая основана на учете пиксельных различий пикселей
- рассчитывают общую метрику, обозначаемую M_Norm, для групп G0…GM-1, которая основана на учете различия средних значений всех пикселей
- производят сравнение значений рассчитанных метрик MR_Norm и M_Norm с наперед заданными пороговыми значениями, и в случае, если MR_Norm больше первого заданного порогового значения или M_Norm меньше второго заданного порогового значения, все пиксели, из близлежащей окрестности опорного блока и все пиксели из близлежащей окрестности кодируемого блока считают недостоверными.14. The method according to claim 8, characterized in that the exclusion of invalid pixels adjacent to the encoded block and invalid pixels adjacent to the reference block is carried out by performing the following additional operations:
- using all already restored pixels
- for each group Gi, a metric is calculated that is based on the consideration of pixel differences
- for each group Gi, a metric is calculated based on differences in the average values of all pixels
- calculate the general metric, denoted by MR_Norm, for groups G0 ... GM-1, which is based on the consideration of pixel differences in pixels
- calculate the general metric, denoted by M_Norm, for groups G0 ... GM-1, which is based on the difference in the average values of all pixels
- comparing the values of the calculated metrics MR_Norm and M_Norm with predetermined threshold values, and if MR_Norm is greater than the first specified threshold value or M_Norm is less than the second specified threshold value, all pixels from a nearby neighborhood of the reference block and all pixels from a nearby neighborhood of the encoded block consider unreliable.
где значение степенного показателя P1 определяется экспериментально;
- для каждой группы Gi рассчитывают метрику M_Norm(Gi), основанную на различиях между средними значениями всех пикселей
где значение степенного показателя P2 определяют экспериментально;
- рассчитывают общую метрику, обозначаемую MR_Norm, для групп G0…GM-1, которая основана на учете пиксельных различий пикселей
- рассчитывают общую метрику, обозначаемую M_Norm, для групп G0…GM-1, которая основана на учете различия между средними значениями всех пикселей
where the value of the power exponent P1 is determined experimentally;
- for each group Gi, the metric M_Norm (G i ) is calculated based on the differences between the average values of all pixels
where the value of the power exponent P2 is determined experimentally;
- calculate the general metric, denoted by MR_Norm, for groups G0 ... GM-1, which is based on the consideration of pixel differences in pixels
- calculate the general metric, denoted by M_Norm, for groups G0 ... GM-1, which is based on taking into account the difference between the average values of all pixels
- для всех пикселей
при этом величины LRi, LRi+1 определяют границы диапазона, задающего группу B(LRi, LRi+1) и удовлетворяют условию LRi>-1; LRi+1>Ri, количество групп B(LRi, LRi+1); NB задает максимально возможное значение индекса i, используемого при нумерации величин (LRi, LRi+1): -1<LR0<LR0<LR0…<LRNB;
- для каждой группы B(LRi, LRi+1), задаваемой величинами (LRi, LRi+1), рассчитывают следующие величины:
где Thr5 - наперед заданное или определяемое адаптивно в процессе обработки кадра пороговое значение,
- для каждого пикселя
- условие 1:
- условие 2:
- условие 3:
в том случае, если верно одно из проверяемых условий 1…3 для очередного рассматриваемого пикселя
- for all pixels
the values LR i , LR i + 1 determine the boundaries of the range defining the group B (LR i , LR i + 1 ) and satisfy the condition LR i >-1; LR i + 1 > R i , the number of groups B (LR i , LR i + 1 ); N B sets the maximum possible value of the index i used in the numbering of quantities (LR i , LR i + 1 ): -1 <LR 0 <LR 0 <LR 0 ... <LR NB ;
- for each group B (LR i , LR i + 1 ) defined by the values (LR i , LR i + 1 ), the following values are calculated:
where Thr5 is the threshold value specified in advance or determined adaptively during the processing of the frame,
- for each pixel
- condition 1:
- condition 2:
- condition 3:
in the event that one of the checked conditions 1 ... 3 is true for the next pixel in question
- для всех пикселей
при этом величины LRi, LRi+1 определяют границы диапазона, задающего группу B(LRi, LRi+1) и удовлетворяют условию LRi>-1; LRi+1>LRi, количество групп B(LRi, LRi+1) NB задает максимально возможное значение индекса i, используемого при нумерации величин (LRi, LRi+1): -1<LR0<LR0<LR0…<LRNB;
- для всех пикселей
○ среднее значение Mean(B(LRi, LRi+1)) по группе B(LRi, LRi+1):
где |B(LRi, LRi+1)| обозначает количество пикселей в группе B(LRi, LRi+1),
○ среднее отклонение Dev(B(LRi, LRi+1)) значений пикселей в группе B(LRi, LRi+1):
в том случае, если для очередного рассматриваемого пикселя
- for all pixels
the values LR i , LR i + 1 determine the boundaries of the range defining the group B (LR i , LR i + 1 ) and satisfy the condition LR i >-1; LR i + 1 > LR i , the number of groups B (LR i , LR i + 1 ) N B sets the maximum possible value of the index i used for numbering the quantities (LR i , LR i + 1 ): -1 <LR 0 <LR 0 <LR 0 ... <LR NB ;
- for all pixels
○ mean value of Mean (B (LR i , LR i + 1 )) for group B (LR i , LR i + 1 ):
where | B (LR i , LR i + 1 ) | denotes the number of pixels in group B (LR i , LR i + 1 ),
○ average deviation Dev (B (LR i , LR i + 1 )) of pixel values in group B (LR i , LR i + 1 ):
if for the next pixel in question
- оценивают возможное изменение каждого значения пикселя опорного блока на основе заранее заданного численного критерия и уже рассчитанных, как минимум, двух оценок estDi,j и estRi,j определяя его как существенное или несущественное в зависимости от рассчитанного значения численного критерия.19. The method according to claim 2, characterized in that:
- evaluate the possible change in each pixel value of the reference block based on a predetermined numerical criterion and at least two estimates estD i, j and estR i, j already calculated, determining it as significant or non-essential depending on the calculated value of the numerical criterion.
- получают значения пикселей текущего кодируемого блока, принадлежащего кодируемому кадру, и значения пикселей опорного блока, принадлежащего опорному кадру;
- получают восстановленные, то есть закодированные и затем декодированные, значения пикселей, из окрестности текущего блока кодируемого кадра и значения пикселей из окрестности опорного блока опорного кадра;
отличающийся тем, что:
- исключают из рассмотрения пиксели, которые оцениваются как недостоверные для расчета параметров изменения яркости по заранее заданному, по меньшей мере, одному критерию и которые принадлежат окрестности текущего блока кодируемого кадра и окрестности опорного блока опорного кадра;
- учитывая начальные значения и используя только достоверные пиксели, вычисляют параметры коррекции яркости;
- оценивают изменение значений пикселей опорного блока; в случае, если изменение оценивается как существенное, выполняют коррекцию значений пикселей опорного блока, используя найденные параметры коррекции.23. A method of adaptive compensation of local differences in brightness during inter-frame prediction of frames in the process of encoding and decoding a multi-angle video sequence, implemented by a computer system and including the following operations:
- get the pixel values of the current encoded block belonging to the encoded frame, and the pixel values of the reference block belonging to the reference frame;
- receive restored, that is, encoded and then decoded, pixel values from the vicinity of the current block of the encoded frame and pixel values from the neighborhood of the reference block of the reference frame;
characterized in that:
- exclude from consideration pixels that are estimated to be inaccurate for calculating brightness change parameters according to a predetermined at least one criterion and which belong to a neighborhood of the current block of the encoded frame and a neighborhood of the reference block of the reference frame;
- taking into account the initial values and using only reliable pixels, the brightness correction parameters are calculated;
- evaluate the change in pixel values of the reference block; if the change is assessed as significant, correct the pixel values of the reference block using the found correction parameters.
- вычисляют, по меньшей мере, две численных оценки EstD и EstR на основе восстановленных значений
- определяют на основе, по меньшей мере, первой и второй оценки EstD и EstR параметр коррекции яркости всех пикселей опорного блока.24. The method according to item 23, wherein the calculation of the brightness correction parameters includes the following operations:
- calculate at least two numerical estimates EstD and EstR based on the restored values
- determining, on the basis of at least the first and second estimates EstD and EstR, a brightness correction parameter of all pixels of the reference block.
- задают начальное значение BaseR для первой оценки и начальное значение BaseD для второй оценки так, что BaseR и BaseD либо оба неотрицательные, либо оба неположительные целые числа;
- вычисляют первую оценку
- вычисляют вторую оценку
- в том случае, если BaseR равно нулевому значению и вторая оценка EstR не равна нулю, или BaseR не равно нулевому значению, определяют параметр коррекции яркости как отношение
- в том случае, если BaseR равно нулевому значению и вторая оценка EstR равна нулю, параметр α задается равным 1;
- выполняют коррекцию яркости опорного блока путем умножения значения каждого пикселя опорного блока Ri,j на определенный параметр коррекции яркости α в случае, если параметр α отличен от 1.25. The method according to paragraph 24, wherein the procedure for calculating the first and second estimates includes the following operations:
- set the initial value of BaseR for the first evaluation and the initial value of BaseD for the second evaluation so that BaseR and BaseD are either both non-negative or both non-positive integers;
- calculate the first score
- calculate the second score
- if BaseR is equal to zero and the second EstR estimate is not equal to zero, or if BaseR is not equal to zero, the brightness correction parameter is determined as the ratio
- if BaseR is equal to zero and the second EstR estimate is zero, the parameter α is set to 1;
- perform the correction of the brightness of the reference block by multiplying the values of each pixel of the reference block R i, j by a certain brightness correction parameter α if the parameter α is different from 1.
- определяют окрестность текущего кодируемого блока как близлежащую, так что она непосредственно прилегает к кодируемому блоку, и пиксели, входящие в нее, уже восстановлены;
- определяют окрестность опорного блока как близлежащую, так что она непосредственно окружает опорный блок, пиксели, входящие в нее, уже восстановлены, общее количество пикселей совпадает с общим количеством пикселей в заданной окрестности текущего кодируемого блока, и между пикселями окрестности опорного блока и пикселями окрестности текущего кодируемого блока установлено взаимно-однозначное соответствие:
- determine the vicinity of the current encoded block as nearby, so that it is directly adjacent to the encoded block, and the pixels included in it are already restored;
- determine the neighborhood of the reference block as nearby, so that it directly surrounds the reference block, the pixels included in it are already restored, the total number of pixels coincides with the total number of pixels in a given neighborhood of the current block being encoded, and between the pixels of the neighborhood of the reference block and the pixels of the neighborhood of the current the block being encoded a one-to-one correspondence is established:
- оценивают возможные изменения значений пикселей опорного блока на основе заранее заданного численного критерия и уже рассчитанных как минимум двух оценок EstD, EstR, определяя их как существенные или несущественные в зависимости от рассчитанного значения численного критерия.28. The method according to p, characterized in that:
- evaluate possible changes in the pixel values of the reference block based on a predetermined numerical criterion and already calculated at least two estimates EstD, EstR, determining them as significant or insignificant depending on the calculated value of the numerical criterion.
- оценивают пиксели
- исключают из дальнейших расчетов пиксели
- rate pixels
- exclude pixels from further calculations
- выбирают текущий кодируемый блок, принадлежащий текущей единице кодирования;
- определяют, как минимум, один опорный блок, который используется для формирования блока-предсказания для текущего кодируемого блока и пиксели которого уже полностью закодированы и декодированы;
- определяют параметры коррекции яркости опорного блока;
- выполняют коррекцию яркости, корректируя значения всех пикселей опорного блока на основе определенных параметров коррекции яркости;
- формируют блок-предсказание для текущего кодируемого блока, используя скорректированный опорный блок:
- кодируют текущий блок с помощью сформированного блока-предсказания;
отличающийся тем, что этапы определения параметров коррекции яркости и выполнения коррекции яркости включают в себя следующее:
- получают восстановленные, то есть закодированные и затем декодированные, значения пикселей, из окрестности текущего блока кодируемого кадра и значения пикселей из окрестности опорного блока опорного кадра;
- исключают из рассмотрения пиксели, которые оцениваются как недостоверные для расчета параметров коррекции яркости по заранее заданному, по меньшей мере, одному критерию и которые принадлежат окрестности текущего блока кодируемого кадра и окрестности опорного блока опорного кадра;
- вычисляют параметры коррекции яркости, учитывая начальные значения и используя только достоверные пиксели;
- оценивают изменение значений пикселей опорного блока; в случае, если изменение оценивается как существенное, выполняют коррекцию значений пикселей опорного блока, используя найденные параметры коррекции.35. The method of encoding multi-angle video sequences, based on adaptive compensation of local differences in brightness during inter-frame prediction of frames, in which the encoded frame is a set of non-overlapping areas of pixels acting as coding units, the method being implemented by a computer system and includes the following operations:
- choose the current encoded block belonging to the current coding unit;
- determine at least one reference block, which is used to generate a prediction block for the current block being encoded and whose pixels are already fully encoded and decoded;
- determine the brightness correction parameters of the reference block;
- perform brightness correction by adjusting the values of all pixels of the reference block based on certain brightness correction parameters;
- form a prediction block for the current encoded block using the adjusted reference block:
- encode the current block using the generated prediction block;
characterized in that the steps of determining brightness correction parameters and performing brightness correction include the following:
- receive restored, that is, encoded and then decoded, pixel values from the vicinity of the current block of the encoded frame and pixel values from the neighborhood of the reference block of the reference frame;
- exclude from consideration pixels that are estimated to be inaccurate for calculating brightness correction parameters according to a predetermined at least one criterion and which belong to a neighborhood of the current block of the encoded frame and a neighborhood of the reference block of the reference frame;
- calculate the brightness correction parameters, taking into account the initial values and using only reliable pixels;
- evaluate the change in pixel values of the reference block; if the change is assessed as significant, correct the pixel values of the reference block using the found correction parameters.
- разбивают на подблоки кодируемый блок и опорный блок, при этом размеры подблоков не превышают размеров кодируемого и опорного блоков;
- вычисляются средний уровень яркости для каждого подблока кодируемого и опорного блока;
- корректируют каждый подблок кодируемого и опорного блока; для этого вычитают из каждого пикселя подблока соответствующий ему средний уровень яркости;
- вычисляют сумму абсолютных разностей скорректированного опорного и скорректированного кодируемого блока;
- вычисляют сумму абсолютных разностей для средних уровней всех подблоков опорного и кодируемого блока;
- рассчитывают показатель сходства как сумму абсолютных разностей средних уровней подблоков, умноженную на первое неотрицательное число, прибавленную к сумме абсолютных разностей скорректированных блоков, умноженной на второе неотрицательное число.45. The method according to item 44, wherein in determining the motion vector, calculate the similarity function as follows:
- the coded block and the reference block are divided into subblocks, while the sizes of the subblocks do not exceed the sizes of the coded and reference blocks;
- the average brightness level for each sub-block of the encoded and reference block is calculated;
- adjust each sub-block of the encoded and reference block; for this, the average brightness level corresponding to it is subtracted from each pixel of the subblock;
- calculate the sum of the absolute differences of the adjusted reference and the corrected encoded block;
- calculate the sum of the absolute differences for the average levels of all sub-blocks of the reference and encoded block;
- calculate the similarity index as the sum of the absolute differences of the average levels of the subunits, multiplied by the first non-negative number, added to the sum of the absolute differences of the adjusted blocks, multiplied by the second non-negative number.
- выбирают текущий декодируемый блок, принадлежащий текущей единице кодирования;
- определяют опорный блок для текущего декодируемого блока;
- определяют параметры коррекции изменения для коррекции яркости найденного опорного блока;
- выполняют коррекцию яркости, корректируя значения всех пикселей опорного блока на основе определенных параметров коррекции яркости;
- формируют блок-предсказание для текущего декодируемого блока, используя скорректированный опорный блок;
- декодируют текущий блок с помощью сформированного блока-предсказания;
отличающийся тем, что этапы определения параметров коррекции яркости и выполнения коррекции яркости включают в себя следующее:
- получают восстановленные, то есть закодированные и затем декодированные, значения пикселей, из окрестности текущего блока декодируемого кадра и значения пикселей из окрестности опорного блока опорного кадра;
- исключают из рассмотрения пиксели, принадлежащие окрестности текущего декодируемого блока и окрестности опорного блока опорного кадра, которые оцениваются как недостоверные для расчета параметров изменения яркости по заранее заданному, по меньшей мере, одному критерию;
- учитывая начальные значения, вычисляют значения параметров коррекции яркости на основе найденных числовых соотношений;
- выполняют коррекцию значений пикселей опорного блока, используя найденные параметры коррекции в том случае, если изменения значений пикселей опорного блока оцениваются как существенные.55. The method of decoding multi-angle video sequences, based on adaptive compensation of local differences in brightness during inter-frame prediction of frames, in which the decoded frame is a set of non-overlapping areas of pixels acting as coding units, the method being implemented by a computer system and includes the following operations:
- choose the current decoded block belonging to the current coding unit;
- determine the reference block for the current decoded block;
- determine the correction parameters of the change to correct the brightness of the found reference block;
- perform brightness correction by adjusting the values of all pixels of the reference block based on certain brightness correction parameters;
- form a prediction block for the current decoded block using the adjusted reference block;
- decode the current block using the generated prediction block;
characterized in that the steps of determining brightness correction parameters and performing brightness correction include the following:
- receive restored, that is, encoded and then decoded, pixel values from the vicinity of the current block of the decoded frame and pixel values from the neighborhood of the reference block of the reference frame;
- exclude from consideration the pixels belonging to the vicinity of the current decoded block and the neighborhood of the reference block of the reference frame, which are estimated as invalid for calculating the parameters of the brightness change according to a predetermined at least one criterion;
- taking into account the initial values, the values of the brightness correction parameters are calculated based on the found numerical ratios;
- carry out the correction of the pixel values of the reference block using the found correction parameters in the event that changes in the pixel values of the reference block are evaluated as significant.
- выбирают текущий декодируемый блок, принадлежащий текущей единице кодирования;
- определяют опорный блок для текущего декодируемого блока;
- определяют параметры коррекции изменения для коррекции яркости найденного опорного блока;
- выполняют коррекцию яркости, корректируя значения всех пикселей опорного блока на основе определенных параметров коррекции яркости;
- формируют блок-предсказание для текущего декодируемого блока, используя скорректированный опорный блок;
- декодируют текущий блок с помощью сформированного блока-предсказания;
отличающийся тем, что этапы определения параметров коррекции яркости и выполнения коррекции яркости включают в себя следующее:
- получают восстановленные, то есть закодированные и затем декодированные, значения пикселей, из окрестности текущего блока декодируемого кадра и значения пикселей из окрестности опорного блока опорного кадра;
- исключают из рассмотрения пиксели, принадлежащие окрестности текущего декодируемого блока и окрестности опорного блока опорного кадра, которые оцениваются как недостоверные для расчета параметров изменения яркости по заранее заданному, по меньшей мере, одному критерию;
- определяют числовые соотношения между пикселями опорного блока, достоверными пикселями из окрестности текущего декодируемого блока и достоверными пикселями из окрестности опорного блока;
- учитывая начальные значения, вычисляют значения параметров коррекции яркости на основе найденных числовых соотношений;
- выполняют коррекцию значений пикселей опорного блока, используя найденные параметры коррекции в том случае, если изменения значений пикселей опорного блока оцениваются как существенные. 71. A method for decoding multi-angle video sequences based on adaptive compensation of local differences in brightness during inter-frame prediction of frames, in which the decoded frame is a set of non-overlapping areas of pixels called coding units, the method being implemented by a computer system and includes the following operations:
- choose the current decoded block belonging to the current coding unit;
- determine the reference block for the current decoded block;
- determine the correction parameters of the change to correct the brightness of the found reference block;
- perform brightness correction by adjusting the values of all pixels of the reference block based on certain brightness correction parameters;
- form a prediction block for the current decoded block using the adjusted reference block;
- decode the current block using the generated prediction block;
characterized in that the steps of determining brightness correction parameters and performing brightness correction include the following:
- receive restored, that is, encoded and then decoded, pixel values from the vicinity of the current block of the decoded frame and pixel values from the neighborhood of the reference block of the reference frame;
- exclude from consideration the pixels belonging to the vicinity of the current decoded block and the neighborhood of the reference block of the reference frame, which are estimated as invalid for calculating the parameters of the brightness change according to a predetermined at least one criterion;
- determine the numerical relationship between the pixels of the reference block, valid pixels from the vicinity of the current decoded block and reliable pixels from the neighborhood of the reference block;
- taking into account the initial values, the values of the brightness correction parameters are calculated based on the found numerical ratios;
- carry out the correction of the pixel values of the reference block using the found correction parameters in the event that changes in the pixel values of the reference block are evaluated as significant.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2012157008/08A RU2533852C2 (en) | 2012-12-26 | 2012-12-26 | Method of encoding/decoding multiview video sequence based on adaptive compensation of local illumination mismatches with interframe prediction (versions) |
KR1020130140504A KR102257886B1 (en) | 2012-12-26 | 2013-11-19 | Method of encoding/decoding of multiview video sequence based on adaptive compensation of local illumination mismatches at interframe prediction |
US14/140,183 US9615089B2 (en) | 2012-12-26 | 2013-12-24 | Method of encoding and decoding multiview video sequence based on adaptive compensation of local illumination mismatch in inter-frame prediction |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2012157008/08A RU2533852C2 (en) | 2012-12-26 | 2012-12-26 | Method of encoding/decoding multiview video sequence based on adaptive compensation of local illumination mismatches with interframe prediction (versions) |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2012157008A RU2012157008A (en) | 2014-07-10 |
RU2533852C2 true RU2533852C2 (en) | 2014-11-20 |
Family
ID=51215476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2012157008/08A RU2533852C2 (en) | 2012-12-26 | 2012-12-26 | Method of encoding/decoding multiview video sequence based on adaptive compensation of local illumination mismatches with interframe prediction (versions) |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102257886B1 (en) |
RU (1) | RU2533852C2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2680197C1 (en) * | 2015-06-05 | 2019-02-18 | Телефонактиеболагет Лм Эрикссон (Пабл) | Input video sequence pixel encoding |
RU2689426C1 (en) * | 2015-05-15 | 2019-05-28 | Хуавэй Текнолоджиз Ко., Лтд. | Method of video image encoding, method of video image decoding, encoding device and decoding device |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019194498A1 (en) * | 2018-04-01 | 2019-10-10 | 엘지전자 주식회사 | Inter prediction mode-based image processing method and device therefor |
US10992938B2 (en) * | 2018-09-28 | 2021-04-27 | Ati Technologies Ulc | Spatial block-level pixel activity extraction optimization leveraging motion vectors |
CN111526362B (en) * | 2019-02-01 | 2023-12-29 | 华为技术有限公司 | Inter-frame prediction method and device |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2189120C2 (en) * | 1996-09-09 | 2002-09-10 | Сони Корпорейшн | Image coding and decoding |
US20060274956A1 (en) * | 2005-06-03 | 2006-12-07 | Samsung Electronics Co., Ltd. | Intraprediction method and apparatus using video symmetry and video encoding and decoding method and apparatus |
US20080240238A1 (en) * | 2007-03-28 | 2008-10-02 | Tomonobu Yoshino | Intra prediction system of video encoder and video decoder |
RU2377737C2 (en) * | 2004-07-20 | 2009-12-27 | Квэлкомм Инкорпорейтед | Method and apparatus for encoder assisted frame rate up conversion (ea-fruc) for video compression |
RU2402885C2 (en) * | 2005-03-10 | 2010-10-27 | Квэлкомм Инкорпорейтед | Classification of content for processing multimedia data |
RU2426267C2 (en) * | 2007-01-08 | 2011-08-10 | Нокиа Корпорейшн | Improved inter-layer prediction for extended spatial scalability in video coding |
US20110235708A1 (en) * | 2010-03-27 | 2011-09-29 | Hyung Joon Kim | Method and System for Detecting Global Brightness Change for Weighted Prediction in Video Encoding |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100856411B1 (en) * | 2006-12-01 | 2008-09-04 | 삼성전자주식회사 | Method and apparatus for compensating illumination compensation and method and apparatus for encoding moving picture based on illumination compensation, and method and apparatus for encoding moving picture based on illumination compensation |
KR101244917B1 (en) * | 2007-06-11 | 2013-03-18 | 삼성전자주식회사 | Method and apparatus for compensating illumination compensation and method and apparatus for encoding and decoding video based on illumination compensation |
CN101911705B (en) | 2007-12-28 | 2012-08-29 | 夏普株式会社 | Moving image encoder and moving image decoder |
KR101187580B1 (en) * | 2008-06-02 | 2012-10-02 | 삼성전자주식회사 | Method and apparatus for compensating illumination compensation and method and apparatus for encoding moving picture based on illumination compensation, and method and apparatus for encoding moving picture based on illumination compensation |
-
2012
- 2012-12-26 RU RU2012157008/08A patent/RU2533852C2/en active
-
2013
- 2013-11-19 KR KR1020130140504A patent/KR102257886B1/en active IP Right Grant
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2189120C2 (en) * | 1996-09-09 | 2002-09-10 | Сони Корпорейшн | Image coding and decoding |
RU2377737C2 (en) * | 2004-07-20 | 2009-12-27 | Квэлкомм Инкорпорейтед | Method and apparatus for encoder assisted frame rate up conversion (ea-fruc) for video compression |
RU2402885C2 (en) * | 2005-03-10 | 2010-10-27 | Квэлкомм Инкорпорейтед | Classification of content for processing multimedia data |
US20060274956A1 (en) * | 2005-06-03 | 2006-12-07 | Samsung Electronics Co., Ltd. | Intraprediction method and apparatus using video symmetry and video encoding and decoding method and apparatus |
RU2426267C2 (en) * | 2007-01-08 | 2011-08-10 | Нокиа Корпорейшн | Improved inter-layer prediction for extended spatial scalability in video coding |
US20080240238A1 (en) * | 2007-03-28 | 2008-10-02 | Tomonobu Yoshino | Intra prediction system of video encoder and video decoder |
US20110235708A1 (en) * | 2010-03-27 | 2011-09-29 | Hyung Joon Kim | Method and System for Detecting Global Brightness Change for Weighted Prediction in Video Encoding |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2689426C1 (en) * | 2015-05-15 | 2019-05-28 | Хуавэй Текнолоджиз Ко., Лтд. | Method of video image encoding, method of video image decoding, encoding device and decoding device |
US10390036B2 (en) | 2015-05-15 | 2019-08-20 | Huawei Technologies Co., Ltd. | Adaptive affine motion compensation unit determing in video picture coding method, video picture decoding method, coding device, and decoding device |
US10887618B2 (en) | 2015-05-15 | 2021-01-05 | Huawei Technologies Co., Ltd. | Adaptive affine motion compensation unit determining in video picture coding method, video picture decoding method, coding device, and decoding device |
US11490115B2 (en) | 2015-05-15 | 2022-11-01 | Huawei Technologies Co., Ltd. | Adaptive affine motion compensation unit determining in video picture coding method, video picture decoding method, coding device, and decoding device |
US11949908B2 (en) | 2015-05-15 | 2024-04-02 | Huawei Technologies Co., Ltd. | Adaptive affine motion compensation unit determining in video picture coding method, video picture decoding method, coding device, and decoding device |
RU2680197C1 (en) * | 2015-06-05 | 2019-02-18 | Телефонактиеболагет Лм Эрикссон (Пабл) | Input video sequence pixel encoding |
US10841597B2 (en) | 2015-06-05 | 2020-11-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Encoding a pixel of an input video sequence |
Also Published As
Publication number | Publication date |
---|---|
RU2012157008A (en) | 2014-07-10 |
KR20140085300A (en) | 2014-07-07 |
KR102257886B1 (en) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2510944C2 (en) | Method of encoding/decoding multi-view video sequence based on adaptive local adjustment of brightness of key frames without transmitting additional parameters (versions) | |
US11546627B2 (en) | Moving picture decoding method and moving picture encoding method | |
US7856053B2 (en) | Image coding control method and device | |
US8385628B2 (en) | Image encoding and decoding method, apparatuses therefor, programs therefor, and storage media for storing the programs | |
KR101944289B1 (en) | Encoding method and device, decoding method and device, and computer readable storage medium | |
US8040948B2 (en) | Method and system for coding moving image signals, corresponding computer program product | |
RU2533852C2 (en) | Method of encoding/decoding multiview video sequence based on adaptive compensation of local illumination mismatches with interframe prediction (versions) | |
US20130243085A1 (en) | Method of multi-view video coding and decoding based on local illumination and contrast compensation of reference frames without extra bitrate overhead | |
JP5553979B2 (en) | Selection of coding tools for video coding based on human visual tolerance | |
JP2013509063A (en) | Method for coding a block of an image sequence and method for reconstructing this block | |
KR20100043857A (en) | Video encoding/decoding apparatus, and method and apparatus of adaptive overlapped block motion compensation using adaptive weights | |
US9615089B2 (en) | Method of encoding and decoding multiview video sequence based on adaptive compensation of local illumination mismatch in inter-frame prediction | |
US20140126644A1 (en) | A Method a Decoder and Encoder for Processing a Motion Vector | |
CN101313581A (en) | Method and device for coding a video image | |
US20120207212A1 (en) | Visually masked metric for pixel block similarity | |
KR20110067539A (en) | Method and apparatus for video coding and decoding using intra prediction | |
RU2493668C1 (en) | Method of encoding/decoding multi-view video sequence based on local adjustment of brightness and contract of reference frames without transmitting additional service data | |
JP5043849B2 (en) | Variable shape motion estimation in video sequences | |
JP7185467B2 (en) | Image decoding device, image encoding device, image processing system and program | |
JP2007116206A (en) | Device and method for evaluating image, image encoding method, and image encoder | |
JP2011055245A (en) | Motion vector estimating method and image processing apparatus using the method, image processing method and image processing program |