[go: up one dir, main page]

RU2583725C1 - Method and system for image processing - Google Patents

Method and system for image processing Download PDF

Info

Publication number
RU2583725C1
RU2583725C1 RU2014142016/08A RU2014142016A RU2583725C1 RU 2583725 C1 RU2583725 C1 RU 2583725C1 RU 2014142016/08 A RU2014142016/08 A RU 2014142016/08A RU 2014142016 A RU2014142016 A RU 2014142016A RU 2583725 C1 RU2583725 C1 RU 2583725C1
Authority
RU
Russia
Prior art keywords
texture
block
pixel
database
image
Prior art date
Application number
RU2014142016/08A
Other languages
Russian (ru)
Inventor
Евгения Михайловна ГЛАЗИСТОВА
Михаил Валерьевич ЖЕЛУДЕВ
Ксения Юрьевна Петрова
Original Assignee
Самсунг Электроникс Ко., Лтд.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Самсунг Электроникс Ко., Лтд. filed Critical Самсунг Электроникс Ко., Лтд.
Priority to RU2014142016/08A priority Critical patent/RU2583725C1/en
Application granted granted Critical
Publication of RU2583725C1 publication Critical patent/RU2583725C1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4053Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Abstract

FIELD: information technology.
SUBSTANCE: invention relates to digital image processing. Image processing method using first and second base patch data, number of patches in first database is equal to number of patches in second database comprises steps of: carried out or low-frequency band-pass filtering original image; filtered image is divided into blocks of same size as size of patches in first data base patches; generating texture for each block, performing following steps: performing pre-processing; for each patch in second data base is calculated as sum of coefficients projections of pixels within block pieces pre-processed image and corresponding pixel values of first patch from database; calculate output pixel texture block as a sum of products of projection coefficients and patches from second database; perform normalisation of texture; perform post-processing of generated texture; and add texture to post-process original pixel values within block.
EFFECT: technical result is high resolution and level of detail of input image.
48 cl, 37 dwg

Description

Область техникиTechnical field

Настоящее изобретение относится, в общем, к области цифровой обработки изображений и видео и, в частности, к повышению разрешения изображения и уровня детализации входного изображения.The present invention relates, in General, to the field of digital image and video processing and, in particular, to increasing the resolution of the image and the level of detail of the input image.

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

Устройства отображения с разрешением сверхвысокой четкости имеют разрешение экрана, которое в два раза превышает разрешение большей части существующего видеоконтента. Конвейер обработки видео (фиг. 1) для устройства отображения сверхвысокой четкости обычно состоит из приемника 101, который принимает видеосигнал 102 высокой четкости, передаваемый в устройство 103 масштабирования, которое преобразует его в видеосигнал 104 сверхвысокой четкости, передаваемый в конечном итоге на дисплей 105 сверхвысокой четкости, как показано на фиг. 1. Видео сверхвысокой четкости, полученное из устройства 103 масштабирования, реализующего известные методики повышения разрешения, обычно слабо представляет детали высокой частоты по сравнению с видео сверхвысокой четкости, снятым видеокамерой сверхвысокой четкости. Для решения этой проблемы были разработаны специальные методики повышения разрешения изображения. На фиг. 2 показан подход для повышения разрешения изображения с использованием информации из нескольких последовательных кадров низкого разрешения для реконструкции на кадре высокого разрешения. На фиг. 3 показан тот же подход в применении к контенту низкого разрешения из цифровых видеокамер. В документах US 6434280, US 8306121, US 20130114892, US 7373019 описан подход с применением нескольких кадров низкого разрешения.Display devices with ultra-high definition resolution have a screen resolution that is twice the resolution of most of the existing video content. The video processing pipeline (FIG. 1) for an ultra-high-definition display device typically consists of a receiver 101 that receives a high-definition video signal 102 transmitted to a scaling device 103 that converts it into an ultra-high definition video signal 104 ultimately transmitted to an ultra-high definition display 105 as shown in FIG. 1. Ultra-high-definition video obtained from a scaling device 103 that implements well-known techniques for increasing resolution usually has little representation of high-frequency details compared to ultra-high-definition video captured by an ultra-high-definition video camera. To solve this problem, special techniques have been developed to increase the resolution of the image. In FIG. 2 shows an approach for increasing image resolution using information from several consecutive low-resolution frames for reconstruction in a high-resolution frame. In FIG. Figure 3 shows the same approach as applied to low-resolution content from digital video cameras. In documents US 6434280, US 8306121, US 20130114892, US 7373019 described the approach using multiple low-resolution frames.

В US 6434280 описана система формирования мозаичного изображения с повышенным сверхвысоким разрешением (сверхразрешением), которая формирует мозаичное изображение с повышенным сверхвысоким разрешением, используя множество кадров изображения, где каждый кадр представляет часть сцены для выходного изображения. Описанная система состоит из генератора мозаичного изображения и генератора сверхвысокого разрешения. Первая часть формирует из кадров изображения данные мозаичного изображения, которые представлены мозаичным изображением. Вторая часть берет данные мозаичного изображения и данные изображения, представленные в кадрах, и выдает мозаичное изображение с повышенным сверхвысоким разрешением. В процессе формирования мозаичного изображения с повышенным сверхвысоким разрешением мозаичное изображение делится на множество патчей (фрагментов изображения) (каждый патч связан, по меньшей мере, с одним кадром изображения), и выполняется операция сверхвысокого разрешения в связи с этим патчем для формирования мозаичного изображения с повышенным сверхвысоким разрешением.No. 6,434,280 describes a super-high resolution (super-resolution) mosaic image forming system that generates a super-high-resolution mosaic image using a plurality of image frames, where each frame represents a portion of a scene for the output image. The described system consists of a mosaic image generator and an ultra-high resolution generator. The first part generates mosaic image data that is represented by a mosaic image from image frames. The second part takes the mosaic image data and image data presented in the frames, and produces a mosaic image with an increased ultra-high resolution. In the process of forming a mosaic image with increased ultra-high resolution, the mosaic image is divided into many patches (image fragments) (each patch is associated with at least one image frame), and an ultra-high resolution operation is performed in connection with this patch to form a mosaic image with increased ultra high resolution.

В US 8306121 описан другой способ формирования изображения сверхвысокого разрешения с применением последовательности изображений низкого разрешения. Способ содержит генератор оцененного изображения высокого разрешения, модуль оценки движения между оцененным изображением высокого разрешения и сравнения изображений низкого разрешения из этой последовательности, проектор по методу обратной проекции с компенсацией движения и проектор без компенсации движения, который выдает требуемое изображение сверхвысокого разрешения. Кроме того, система формирования содержит интерфейсы ввода и вывода.US 8,306,121 describes another method for generating ultra-high resolution images using a sequence of low resolution images. The method comprises a generator of an estimated high-resolution image, a motion estimation module between the evaluated high-resolution image and comparing low-resolution images from this sequence, a back-projection projector with motion compensation, and a motion-free projector that provides the desired ultra-high resolution image. In addition, the formation system contains input and output interfaces.

В US 20130114892 предусмотрен ввод, по меньшей мере, двух изображений, представленных цифровыми выборками, и вывод изображения сверхвысокого разрешения, которое имеет более высокое разрешение, чем, по меньшей мере, одно из, по меньшей мере, двух входных изображений. В этом способе сначала получают модель искажения для всех входных изображений, затем каждое изображение регистрируют на эталонной сетке для конечного разрешения. После этого каждое изображение деформируют в деформированное изображение согласно модели искажения и вычисляют искаженные координаты соответственно для цифровых выборок входных изображений. Во время этой процедуры определяют вес вклада каждой цифровой выборки для каждого входного изображения, и этот вес применяют в зависимости от искаженных координат цифровой выборки. Конечное разрешение получают путем объединения взвешенных цифровых выборок в их положениях.US 20130114892 provides for inputting at least two images represented by digital samples and outputting an ultra-high resolution image that has a higher resolution than at least one of the at least two input images. In this method, a distortion model for all input images is first obtained, then each image is recorded on a reference grid for final resolution. After that, each image is deformed into a deformed image according to the distortion model, and distorted coordinates are calculated respectively for digital samples of input images. During this procedure, the contribution weight of each digital sample for each input image is determined, and this weight is applied depending on the distorted coordinates of the digital sample. Final resolution is obtained by combining weighted digital samples at their positions.

В US 7373019 предложена система формирования изображения с повышенным сверхвысоким разрешением из изображения, представляющего сцену, которая содержит основное изображение, и, по меньшей мере, одно другое изображение. Система состоит из генератора исходного изображения с повышенным сверхвысоким разрешением, модуля проектора изображения и модуля генератора обновления оценки изображения с повышенным сверхвысоким разрешением. Модуль генератора исходного изображения с повышенным сверхвысоким разрешением формирует оценку изображения с повышенным сверхвысоким разрешением для изображения сцены, модуль проектора изображения избирательно использует операторы деформации, размывания и прореживания, применяемые к другим изображениям, для оценки изображения с повышенным сверхвысоким разрешением, и генератор обновления оценки изображения с повышенным сверхвысоким разрешением использует предыдущие оценки изображения с повышенным сверхвысоким разрешением для формирования окончательной обновленной оценки изображения с повышенным сверхвысоким разрешением.US 7373019 proposes a super-high resolution image forming system from an image representing a scene that contains a main image and at least one other image. The system consists of a source generator with an increased ultra-high resolution, an image projector module and an generator module for updating an image rating with an increased ultra-high resolution. The ultra-high resolution source image generator module generates an increased ultra-high resolution image estimate for the scene image, the image projector module selectively uses the deformation, blurring and decimation operators applied to other images to evaluate the image with increased ultra-high resolution, and the image rating update generator with super-high resolution uses the previous high-resolution image estimates for f Framing the final updated assessment of the image with increased ultra-high resolution.

В другом известном подходе предлагается создавать кадр высокого разрешения, используя всего один кадр низкого разрешения. Это можно сделать без дополнительного обучения или с использованием некоторой предварительно обученной базы данных.In another known approach, it is proposed to create a high resolution frame using only one low resolution frame. This can be done without additional training or using some pre-trained database.

Способы без дополнительного обучения могут быть основаны на репроекции, например, как описано в JPA 2008-140012, где предлагается использовать метод Гаусса-Зейделя для вычисления значения обратной связи, добавляемого к изображению низкого разрешения, разрешение которого увеличивается каким-либо известным способом.Methods without additional training can be based on reprojection, for example, as described in JPA 2008-140012, where it is proposed to use the Gauss-Seidel method to calculate the feedback value added to a low-resolution image, the resolution of which is increased by any known method.

В US 20130044965 раскрыты способ и система сверхвысокого разрешения с синтезом текстуры, который не зависит от какой-либо дополнительной информации из базы данных. Всю информацию для повышающей дискретизации изображения получают из самого изображения. Сначала увеличивают разрешение изображения, затем определяют, имеет ли изображение с повышенным разрешением какие-либо гладкие области. Система усиливает края изображения с повышенным разрешением, и если обнаруживается гладкий участок, обходит его краем. В завершение, генерируется текстура для улучшенного и неулучшенного изображений с повышенной дискретизацией. Текстура покрывает гладкие области и синтезируется с применением входного изображения в качестве примера текстуры.US 20130044965 discloses an ultra-high resolution method and system with texture synthesis that is independent of any additional information from the database. All information for upsampling the image is obtained from the image itself. First, the image resolution is increased, then it is determined whether the high resolution image has any smooth areas. The system reinforces the edges of the image with higher resolution, and if a smooth area is detected, bypasses it with the edge. Finally, a texture is generated for enhanced and unimproved images with upsampling. A texture covers smooth areas and is synthesized using an input image as an example of a texture.

Способы, включающие в себя предварительно обученную базу данных для хранения модели текстуры, можно включить в состав конвейера обработки видео дисплея сверхвысокой четкости, как показано на фиг. 4. Примеры способов сверхвысокого разрешения с использованием предварительно обученной базы данных описаны в US 20130156345 и US 6766067.Methods including a pre-trained database for storing a texture model can be included in the pipeline for processing an ultra-high definition video display, as shown in FIG. 4. Examples of ultra-high resolution methods using a pre-trained database are described in US 20130156345 and US 6766067.

В US 20130156345 предложено использовать множество кадров, отснятых с высокой частотой кадров, для реконструкции кадра с высоким разрешением. После слияния этих кадров осуществляется улучшение качества изображения с использованием нелинейного фильтра, реализованного в форме предварительно обученной нейронной сети. Автор предложил использовать этот способ для мобильного приложения в случае съемки увеличенных фрагментов. Нейронная сеть обучается для каждой конкретной модели камеры с использованием тестового изображения, включающего в себя радиальные и синусоидальные испытательные таблицы.In US 20130156345, it is proposed to use a plurality of frames captured at a high frame rate to reconstruct a frame with a high resolution. After merging these frames, image quality is improved using a non-linear filter implemented in the form of a pre-trained neural network. The author suggested using this method for a mobile application when shooting enlarged fragments. A neural network is trained for each specific camera model using a test image that includes radial and sinusoidal test tables.

В US 8655108 B2 масштабирование изображения осуществляется с использованием группы фильтров на основании набора данных низкого разрешения и набора данных высокого разрешения. Фильтры имеют форму регрессионных коэффициентов, полученных для подпространств окрестностей точки обучающих изображений, при этом классификация окрестностей выполняется с помощью алгоритма CART (дерево классификации и регрессии) в виде дерева решений, и в качестве предсказателей принимаются нормированные значения пикселей из окрестности 3×3 изображения низкого разрешения. Модель регрессии создается для каждого класса, и окрестность 2×2 изображения высокого разрешения обрабатывается как выход.In US 8655108 B2, image scaling is performed using a group of filters based on a low-resolution data set and a high-resolution data set. The filters are in the form of regression coefficients obtained for the subspaces of the neighborhoods of the point of the training images, while the neighborhoods are classified using the CART algorithm (classification and regression tree) in the form of a decision tree, and normalized pixel values from the neighborhood of 3 × 3 low-resolution images are taken as predictors . A regression model is created for each class, and a neighborhood of 2 × 2 high-resolution images is processed as an output.

Прототипом настоящего изобретения является решение, описанное в US 6766067. На первом этапе этого алгоритма осуществляют первоначальную интерполяцию изображения. Полученное изображение делят на перекрывающиеся патчи. После этого все операции выполняются для каждого патча в порядке растрового сканирования: система генерирует масштабированный среднечастотный патч, используя данный патч низкого разрешения, затем она моделирует вектор поиска по пикселям масштабированного среднечастотного входного патча, а также по перекрывающимся высокочастотным патчам, которые были сформированы ранее. Система находит в ранее заполненной базе данных наиболее близкий вектор к данному вектору поиска и соответствующий высокочастотный выходной патч. На последнем этапе алгоритма выполняется интерполяция высокочастотного выходного патча с учетом интерполированного патча низкого разрешения и объединение всех патчей в одно изображение сверхвысокого разрешения.A prototype of the present invention is the solution described in US 6766067. At the first stage of this algorithm, the initial image interpolation is performed. The resulting image is divided into overlapping patches. After that, all operations are performed for each patch in raster scan order: the system generates a scaled mid-frequency patch using this low-resolution patch, then it models the search vector by pixels of the scaled mid-frequency input patch, as well as by overlapping high-frequency patches that were generated earlier. The system finds in the previously filled database the closest vector to the given search vector and the corresponding high-frequency output patch. At the last stage of the algorithm, the high-frequency output patch is interpolated taking into account the interpolated low-resolution patch and the combination of all the patches into one ultra-high resolution image.

Способы многокадрового сверхвысокого разрешения обладают следующими недостатками:The multi-frame ultra-high resolution methods have the following disadvantages:

- очень высокая чувствительность к точности оценки движения субпикселя;- very high sensitivity to accuracy of estimation of subpixel motion;

- очень высокая сложность аппаратных средств (из-за необходимости сохранения нескольких кадров и выполнения точной оценки движения между этими кадрами);- very high complexity of the hardware (due to the need to save several frames and perform an accurate assessment of the movement between these frames);

- высокая чувствительность к захвату изображения и модели деградации (типа функции рассеяния точки, параметров размытости, вызванной движением, уровня шума).- high sensitivity to image capture and degradation models (such as point spread function, motion blur parameters, noise level).

Известным недостатком способов на основе реконструкции являются дефекты структурного типа.A known disadvantage of reconstruction-based methods is structural type defects.

В способах типа US 8655108 B2 рассматривается очень малая окрестность входного изображения, что приводит к слабому отличию текстуры в случае достаточного количества подпространств (например, 8, как предложено в наилучшем способе реализации).In methods such as US 8655108 B2, a very small neighborhood of the input image is considered, which leads to a slight difference in texture in the case of a sufficient number of subspaces (for example, 8, as suggested in the best implementation method).

Известный основанный на обучении способ, описанный в US 6766067, позволяет обеспечить результаты высокого качества, однако имеет следующие проблемы:The well-known training-based method described in US 6766067, allows to provide high quality results, however, it has the following problems:

- для каждого входного патча в качестве сгенерированной текстуры используется всего один среднечастотный патч, что обуславливает линейное соотношение между качеством синтезированной текстуры и количеством записей в базе данных, следовательно, очень высокую сложность аппаратных средств;- for each input patch, only one mid-frequency patch is used as the generated texture, which leads to a linear relationship between the quality of the synthesized texture and the number of records in the database, therefore, very high hardware complexity;

- для подавления блочных дефектов способ должен быть реализован с использованием перекрывающихся блоков, что повышает сложность аппаратных средств в несколько раз;- to suppress block defects, the method must be implemented using overlapping blocks, which increases the complexity of the hardware several times;

- способ можно обучать только для одной кратности увеличения; - the method can be trained for only one magnification;

- способ всегда дает точно один и тот же результат для одного и того же патча изображения низкого разрешения, что может приводить к дефектам структурного типа, если текстура исходного изображения низкого разрешения недостаточно разнообразна.- the method always gives exactly the same result for the same patch of low resolution image, which can lead to structural defects if the texture of the original low resolution image is not diverse enough.

Сущность изобретенияSUMMARY OF THE INVENTION

Согласно первому аспекту настоящего изобретения предложен способ обработки изображения с использованием первой и второй базы данных патчей, причем количество патчей в первой базе данных равно количеству патчей во второй базе данных, причем способ содержит этапы, на которых:According to a first aspect of the present invention, there is provided a method for processing an image using the first and second database of patches, wherein the number of patches in the first database is equal to the number of patches in the second database, the method comprising the steps of:

- осуществляют низкочастотную или полосовую фильтрацию исходного изображения;- carry out low-pass or band-pass filtering of the original image;

- делят отфильтрованное изображение на блоки такого же размера, как размер патчей в первой базе данных патчей;- divide the filtered image into blocks of the same size as the size of the patches in the first database of patches;

- генерируют текстуру для каждого блока, выполняя следующие этапы:- generate a texture for each block, performing the following steps:

- выполняют предварительную обработку;- perform pre-processing;

- для каждого патча во второй базе данных вычисляют коэффициенты проекции как сумму произведений пикселей внутри блока предварительно обработанного изображения и соответствующих значений пикселей патча из первой базы данных;- for each patch in the second database, projection coefficients are calculated as the sum of the product of pixels inside the block of the pre-processed image and the corresponding pixel values of the patch from the first database;

- вычисляют пиксели блока выходной текстуры как сумму произведений коэффициентов проекции и патчей из второй базы данных;- calculate the pixels of the output texture block as the sum of the products of the projection coefficients and patches from the second database;

- выполняют нормализацию текстуры;- perform texture normalization;

- осуществляют постобработку сгенерированной текстуры; и- carry out post-processing of the generated texture; and

- добавляют постобработанную текстуру к исходным значениям пикселей внутри блока.- add a post-processed texture to the original pixel values inside the block.

Согласно одному варианту осуществления настоящего изобретения первая база данных содержит ортонормированный базис патчей, полученных из обучающих патчей отфильтрованного обучающего изображения, и вторая база данных содержит ортонормированный базис патчей, полученных из обучающих патчей изображения текстуры, полученной путем вычитания отфильтрованного обучающего изображения из обучающего изображения.According to one embodiment of the present invention, the first database contains an orthonormal basis of patches obtained from the training patches of the filtered training image, and the second database contains an orthonormal basis of patches obtained from the training patches of a texture image obtained by subtracting the filtered training image from the training image.

Согласно другому варианту осуществления настоящего изобретения при предварительной обработке осуществляют удаление тренда, включающее в себя вычитание среднего значения яркости блока, или вычитание линейной или квадратичной регрессионной модели, описывающей здесь упомянутый входной патч.According to another embodiment of the present invention, the preprocessing removes the trend, including subtracting the average value of the brightness of the block, or subtracting the linear or quadratic regression model that describes the input patch mentioned here.

Согласно другому варианту осуществления настоящего изобретения предварительная обработка содержит удаление тренда, содержащее этапы, на которых:According to another embodiment of the present invention, the pre-processing comprises removing a trend, comprising the steps of:

- вычисляют первого кандидата предварительно обработанного блока путем вычитания из каждого пикселя среднего строчного значения;- calculate the first candidate pre-processed block by subtracting from each pixel the average row value;

- вычисляют второго кандидата предварительно обработанного блока путем вычитания из каждого пикселя среднего постолбцового значения;- calculate the second candidate pre-processed block by subtracting from each pixel the average column value;

- вычисляют третьего кандидата предварительно обработанного блока путем вычитания из каждого пикселя среднего значения для пикселей, лежащих на одной и той же главной диагонали;- calculate the third candidate of the pre-processed block by subtracting from each pixel the average value for pixels lying on the same main diagonal;

- вычисляют четвертого кандидата предварительно обработанного блока путем вычитания из каждого пикселя среднего значения для пикселей, лежащих на одной и той же дополнительной диагонали;- calculate the fourth candidate pre-processed block by subtracting from each pixel the average value for pixels lying on the same additional diagonal;

- выбирают из первого, второго, третьего и четвертого кандидатов предварительно обработанного блока кандидата, имеющего наименьшее расхождение или стандартное отклонение, в качестве целевого предварительно обработанного блока;- choose from the first, second, third and fourth candidates a pre-processed block of the candidate having the smallest discrepancy or standard deviation, as the target pre-processed block;

- вычисляют отношение между расхождением или стандартным отклонением целевого предварительно обработанного блока и расхождением или стандартным отклонением исходного блока;- calculate the relationship between the discrepancy or standard deviation of the target pre-processed block and the discrepancy or standard deviation of the source block;

- вычисляют коэффициент смешивания в качестве убывающей функции этого отношения, которая принимает значение между единицей и нулем;- calculate the mixing coefficient as a decreasing function of this ratio, which takes a value between unity and zero;

- вычисляют окончательные значения предварительно обработанных пикселей как сумму произведения коэффициента смешивания и пикселей целевого предварительно обработанного блока и произведения «один минус коэффициент смешивания» (1-коэффициент смешивания) и пикселей исходного блока.- calculate the final values of the pre-processed pixels as the sum of the product of the mixing coefficient and the pixels of the target pre-processed block and the product "one minus the mixing coefficient" (1-mixing coefficient) and the pixels of the original block.

Согласно другому варианту осуществления настоящего изобретения предварительно обработанный пиксель в рамках предварительной обработки вычисляют как сумму или произведение с пикселем из некоторой дополнительной структуры данных, имеющей такой же размер, как изображение.According to another embodiment of the present invention, the pre-processed pixel in the pre-processing is calculated as the sum or product with the pixel from some additional data structure having the same size as the image.

Согласно другому варианту осуществления настоящего изобретения дополнительную структуру данных формируют как гладкую функцию нескольких случайных или псевдослучайных (в зависимости от положения блока) аргументов.According to another embodiment of the present invention, an additional data structure is formed as a smooth function of several random or pseudo-random (depending on the position of the block) arguments.

Согласно другому варианту осуществления настоящего изобретения элементы дополнительной структуры данных формируют как According to another embodiment of the present invention, elements of an additional data structure are formed as

D x y = c 1 e ( ( x % p ) X 1 ) 2 + ( ( y % q ) Y 1 ) 2 σ 1 2 + c 2 e ( ( x % p ) X 2 ) 2 + ( ( y % q ) Y 2 ) 2 σ 2 2

Figure 00000001
, D x y = c one e - ( ( x % p ) - X one ) 2 + ( ( y % q ) - Y one ) 2 σ one 2 + c 2 e - ( ( x % p ) - X 2 ) 2 + ( ( y % q ) - Y 2 ) 2 σ 2 2
Figure 00000001
,

где x, y - положение пикселя на строке и в столбце внутри изображения, p - ширина блока, q - высота блока, и c1, c2,

Figure 00000002
,
Figure 00000003
, X1, Y1, X2, Y2 - псевдослучайные числа, зависящие от положения на строке floor(y/q) и положения в столбце floor(x/p) текущего блока пикселей.where x, y is the position of the pixel on the row and in the column inside the image, p is the block width, q is the block height, and c 1 , c 2 ,
Figure 00000002
,
Figure 00000003
, X 1 , Y 1 , X 2 , Y 2 - pseudo-random numbers depending on the position on the floor row (y / q) and the position in the floor column (x / p) of the current block of pixels.

Согласно другому варианту осуществления настоящего изобретения нормализацию текстуры вычисляют как

Figure 00000004
или
Figure 00000005
, где f(·) - некая неубывающая функция, принимающая положительные значения на правом полуинтервале, и Rij - значения пикселей текстуры.According to another embodiment of the present invention, texture normalization is calculated as
Figure 00000004
or
Figure 00000005
, where f (·) is a certain non-decreasing function that takes positive values on the right half-interval, and R ij are the pixel values of the texture.

Согласно другому варианту осуществления настоящего изобретения нормализацию текстуры вычисляют как

Figure 00000006
или
Figure 00000007
, где
Figure 00000008
или
Figure 00000009
, где N и M - некие положительные числа, и f() - некая неубывающая функция, принимающая положительные значения на правом полуинтервале, bk - коэффициенты проекции, и Tk - высокочастотные патчи из высокочастотной базы данных.According to another embodiment of the present invention, texture normalization is calculated as
Figure 00000006
or
Figure 00000007
where
Figure 00000008
or
Figure 00000009
, where N and M are some positive numbers, and f () is a certain non-decreasing function that takes positive values on the right half-interval, b k are the projection coefficients, and T k are high-frequency patches from the high-frequency database.

Согласно другому варианту осуществления настоящего изобретения выполнение постобработки сгенерированной текстуры содержит этапы, на которых:According to another embodiment of the present invention, the post-processing of the generated texture comprises the steps of:

- устанавливают попиксельный коэффициент усиления для каждого пикселя в текущем блоке равным единице;- set the pixel-by-pixel gain for each pixel in the current block to unity;

- вычисляют для каждого блока норму сгенерированной текстуры и нормы текстур, сгенерированных в соседних блоках: верхнем слева, верхнем, верхнем справа, левом, правом, нижнем слева, нижнем справа и нижнем;- for each block, the norm of the generated texture and the norm of the texture generated in adjacent blocks are calculated: upper left, upper, upper right, left, right, lower left, lower right and lower;

- для каждого соседнего блока, который имеет норму текстуры ниже предварительно заданного порога, производят обновление коэффициентов усиления в текущих блоках, содержащее этапы, на которых:- for each neighboring block, which has a texture norm below a predetermined threshold, the gain in the current blocks is updated, containing the stages in which:

- вычисляют среднее значение яркости соседнего блока входного изображения;- calculate the average brightness value of the neighboring block of the input image;

- вычисляют медианное значение яркости соседнего блока входного изображения;- calculate the median brightness value of the neighboring block of the input image;

- для каждого пикселя текущего блока, если он имеет абсолютное отличие от среднего значения яркости ниже первого предварительно заданного порога или абсолютное отличие от медианного значения яркости ниже второго предварительно заданного порога, вычисляют заново попиксельный коэффициент усиления как минимальное значение предыдущего значения попиксельного коэффициента усиления и отношения между нормой текстуры соответствующего соседнего блока и нормой текстуры исходного блока;- for each pixel of the current block, if it has an absolute difference from the average brightness value below the first predefined threshold or an absolute difference from the median brightness value below the second predefined threshold, the pixel-by-pixel gain is re-calculated as the minimum value of the previous pixel-by-pixel gain and the relationship between the texture norm of the corresponding neighboring block and the texture norm of the source block;

- вычисляют заново каждый пиксель текстуры в текущем блоке путем умножения на соответствующий попиксельный коэффициент усиления.- recalculate each texture pixel in the current block by multiplying by the corresponding pixel-by-pixel gain.

Согласно другому варианту осуществления настоящего изобретения выполнение постобработки сгенерированной текстуры содержит этапы, на которых:According to another embodiment of the present invention, the post-processing of the generated texture comprises the steps of:

- устанавливают попиксельный коэффициент усиления каждого пикселя в текущем блоке равным единице;- set the pixel-by-pixel gain of each pixel in the current block to unity;

- вычисляют для каждого блока норму сгенерированной текстуры и нормы текстур, сгенерированных в соседних блоках: верхнем слева, верхнем, верхнем справа, левом, правом, нижнем слева, нижнем справа и нижнем;- for each block, the norm of the generated texture and the norm of the texture generated in adjacent blocks are calculated: upper left, upper, upper right, left, right, lower left, lower right and lower;

- для каждого соседнего блока, который имеет норму текстуры ниже предварительно заданного порога, производят обновление коэффициентов усиления в текущем блоке, содержащее этапы, на которых:- for each neighboring block, which has a texture norm below a predetermined threshold, the gain in the current block is updated, containing the steps in which:

- вычисляют средние значения соседнего блока входного изображения в каждом цветовом канале (RGB, YCbCr или другом цветовом пространстве);- calculate the average values of the neighboring block of the input image in each color channel (RGB, YCbCr or other color space);

- вычисляют медианные значения соседнего входного блока изображения в каждом цветовом канале (RGB, YCbCr или другом цветовом пространстве);- calculate the median values of the adjacent input image block in each color channel (RGB, YCbCr or other color space);

- для каждого пикселя текущего блока вычисляют первое тестовое значение как некую монотонно возрастающую функцию трех аргументов абсолютных значений разностей значений пикселей входного изображения и соответствующих средних значений из соседнего блока в каждом цветовом канале;- for each pixel of the current block, the first test value is calculated as a certain monotonically increasing function of the three arguments of the absolute values of the differences of the pixel values of the input image and the corresponding average values from the neighboring block in each color channel;

- для каждого пикселя текущего блока вычисляют второе тестовое значение как некую монотонно возрастающую функцию трех аргументов абсолютных значений разностей значений пикселей входного изображения и соответствующих медианных значений из соседнего блока в каждом цветовом канале;- for each pixel of the current block, the second test value is calculated as a certain monotonically increasing function of the three arguments of the absolute values of the differences in the pixel values of the input image and the corresponding median values from the neighboring block in each color channel;

- для каждого пикселя текущего блока, если его первое тестовое значение ниже первого предварительно заданного порога или второе тестовое значение ниже второго предварительно заданного порога, вычисляют заново попиксельный коэффициент усиления как минимальное значение предыдущего значения попиксельного коэффициента усиления и отношения между нормой текстуры соответствующего соседнего блока и нормой текстуры исходного блока;- for each pixel of the current block, if its first test value is lower than the first predefined threshold or the second test value is lower than the second predefined threshold, the pixel-by-pixel gain is calculated again as the minimum value of the previous pixel-by-pixel gain and the relationship between the texture norm of the corresponding neighboring block and the norm source block textures;

- вычисляют заново каждый пиксель текстуры в текущем блоке путем умножения на соответствующий попиксельный коэффициент усиления.- recalculate each texture pixel in the current block by multiplying by the corresponding pixel-by-pixel gain.

Согласно другому варианту осуществления настоящего изобретения выполнение постобработки сгенерированной текстуры содержит этапы, на которых:According to another embodiment of the present invention, the post-processing of the generated texture comprises the steps of:

- для каждого блока (который может иметь размер, отличный от размера блока, использованного для генерации текстуры) выполняют сегментацию на k классов;- for each block (which may have a size different from the size of the block used to generate the texture), segmentation into k classes is performed;

- для каждого класса вычисляют среднее абсолютное значение сгенерированной текстуры;- for each class, the average absolute value of the generated texture is calculated;

- для каждого пикселя внутри блока вычисляют отношение между средним абсолютным значением сгенерированной текстуры в некоторой небольшой окрестности и средним абсолютным значением соответствующего сегмента;- for each pixel inside the block, the relation between the average absolute value of the generated texture in some small neighborhood and the average absolute value of the corresponding segment is calculated;

- вычисляют попиксельный коэффициент усиления, который принимает нулевое или очень малое значение, если упомянутое отношение очень большое, и единичное значение, если это отношение меньше единицы или очень близко к ней;- calculate the pixel-by-pixel gain, which takes a zero or very small value if the ratio is very large, and a unit value if this ratio is less than unity or very close to it;

- вычисляют заново каждый пиксель текстуры в текущем блоке путем умножения на соответствующий попиксельный коэффициент усиления.- recalculate each texture pixel in the current block by multiplying by the corresponding pixel-by-pixel gain.

Согласно другому варианту осуществления настоящего изобретения в упомянутом способе используют перекрывающееся расположение блоков.According to another embodiment of the present invention, said method uses an overlapping arrangement of blocks.

Согласно другому варианту осуществления настоящего изобретения вторая база данных состоит из патчей, заполняющих только неперекрывающуюся часть входного блока.According to another embodiment of the present invention, the second database consists of patches filling only the non-overlapping part of the input block.

Согласно другому варианту осуществления настоящего изобретения текстуру, сгенерированную для соседних блоков, умножают на некую функцию смешивания координат пикселей внутри блока.According to another embodiment of the present invention, the texture generated for neighboring blocks is multiplied by a certain function of mixing pixel coordinates within the block.

Согласно другому варианту осуществления настоящего изобретения текстуру, сгенерированную для соседних блоков, сшивают по пути минимальной энергии.According to another embodiment of the present invention, the texture generated for adjacent blocks is stitched along the minimum energy path.

Согласно другому варианту осуществления настоящего изобретения блоки имеют прямоугольную форму.According to another embodiment of the present invention, the blocks are rectangular in shape.

Согласно другому варианту осуществления настоящего изобретения все блоки имеют одинаковую форму и образуют плоскую мозаичную фрагментацию.According to another embodiment of the present invention, all the blocks have the same shape and form planar mosaic fragmentation.

Согласно другому варианту осуществления настоящего изобретения входное изображение разделяют на блоки двух или нескольких различных форм и/или размеров и для каждой формы и/или размера блока сохраняют отдельные первую и вторую базы данных.According to another embodiment of the present invention, the input image is divided into blocks of two or more different shapes and / or sizes, and separate first and second databases are stored for each shape and / or block size.

Согласно второму аспекту настоящего изобретения предложен способ обработки изображения с использованием первой и второй базы данных патчей, причем количество патчей в первой базе данных равно количеству патчей во второй базе данных, причем способ содержит этапы, на которых:According to a second aspect of the present invention, there is provided a method for processing an image using the first and second database of patches, wherein the number of patches in the first database is equal to the number of patches in the second database, the method comprising the steps of:

- осуществляют низкочастотную или полосовую фильтрацию входного изображения;- carry out low-pass or band-pass filtering of the input image;

- делят отфильтрованное изображение на блоки такого же размера, как размер патчей в первой базе данных патчей;- divide the filtered image into blocks of the same size as the size of the patches in the first database of patches;

- генерируют текстуру для каждого блока, выполняя следующие этапы:- generate a texture for each block, performing the following steps:

- выполняют предварительную обработку;- perform pre-processing;

- для каждого патча во второй базе данных вычисляют коэффициенты проекции как сумму произведений пикселей внутри блока предварительно обработанного изображения и соответствующих значений пикселей патча из первой базы данных;- for each patch in the second database, projection coefficients are calculated as the sum of the product of pixels inside the block of the pre-processed image and the corresponding pixel values of the patch from the first database;

- вычисляют пиксели выходного блока текстуры как сумму коэффициентов проекции и патчей из второй базы данных;- calculate the pixels of the output texture block as the sum of the projection coefficients and patches from the second database;

- выполняют нормализацию текстуры;- perform texture normalization;

- интерполируют входное изображение посредством метода двухмерной интерполяции;- interpolating the input image using the method of two-dimensional interpolation;

- выполняют постобработку сгенерированной нормализованной текстуры; и- perform post-processing of the generated normalized texture; and

- получают изображение сверхвысокого разрешения путем добавления постобработанной текстуры к интерполированному изображению.- get an ultra-high resolution image by adding a post-processed texture to the interpolated image.

Согласно одному варианту осуществления настоящего изобретения размер патча первой базы данных равен размеру патча второй базы данных, и интерполяция входного изображения содержит интерполяцию входного изображения до размера, равного размеру требуемого сверхвысокого разрешения.According to one embodiment of the present invention, the patch size of the first database is equal to the patch size of the second database, and the interpolation of the input image comprises interpolating the input image to a size equal to the size of the required ultra-high resolution.

Согласно другому варианту осуществления настоящего изобретения горизонтальный размер патча из первой базы данных в m раз меньше, чем горизонтальный размер патчей из второй базы данных, и вертикальный размер патча из первой базы данных в n раз меньше, чем вертикальный размер патчей из второй базы данных, и:According to another embodiment of the present invention, the horizontal patch size from the first database is m times smaller than the horizontal patch size from the second database, and the vertical patch size from the first database is n times smaller than the vertical patch size from the second database, and :

- интерполяция входного изображения содержит интерполяцию каждого блока входного изображения горизонтально в m раз и вертикально в n раз больше;- the interpolation of the input image contains the interpolation of each block of the input image horizontally m times and vertically n times more;

- добавление постобработанной текстуры к интерполированному изображению содержит добавление постобработанной текстуры к каждому интерполированному блоку входного изображения; и- adding a post-processed texture to the interpolated image comprises adding a post-processed texture to each interpolated block of the input image; and

- изображение сверхвысокого разрешения имеет горизонтальный размер в m раз больше, чем входное изображение, и вертикальный размер в n раз больше, чем входное изображение.- the ultra-high resolution image has a horizontal size m times larger than the input image, and a vertical size n times larger than the input image.

Согласно третьему аспекту настоящего изобретения предложен способ многомасштабной обработки изображения с использованием, по меньшей мере, двух масштабов, каждый из которых использует первую и вторую базу данных патчей, причем количество патчей в первой базе данных равно количеству патчей во второй базе данных, причем способ содержит этапы, на которых:According to a third aspect of the present invention, there is provided a method for multiscale image processing using at least two scales, each using the first and second database of patches, the number of patches in the first database being equal to the number of patches in the second database, the method comprising the steps , where:

- создают слой текстуры для каждого масштаба, выполняя следующие этапы:- create a texture layer for each scale by performing the following steps:

- осуществляют низкочастотную или полосовую фильтрацию входного изображения;- carry out low-pass or band-pass filtering of the input image;

- делят отфильтрованное изображение на блоки такой же формы и размера, как форма и размер патчей в первой базе данных данного масштаба;- divide the filtered image into blocks of the same shape and size as the shape and size of the patches in the first database of a given scale;

- генерируют текстуру для каждого блока, выполняя следующие этапы:- generate a texture for each block, performing the following steps:

- выполняют предварительную обработку;- perform pre-processing;

- для каждого патча во второй базе данных вычисляют коэффициенты проекции как сумму произведений пикселей внутри блока предварительно обработанного изображения и соответствующих значений пикселей патча из первой базы данных;- for each patch in the second database, projection coefficients are calculated as the sum of the product of pixels inside the block of the pre-processed image and the corresponding pixel values of the patch from the first database;

- вычисляют пиксели выходного блока текстуры как сумму коэффициентов проекции и патчей из второй базы данных;- calculate the pixels of the output texture block as the sum of the projection coefficients and patches from the second database;

- выполняют нормализацию текстуры;- perform texture normalization;

- составляют результирующую текстуру из слоев текстуры, сгенерированных для множества масштабов;- make up the resulting texture from texture layers generated for multiple scales;

- осуществляют постобработку результирующей текстуры; и- carry out post-processing of the resulting texture; and

- добавляют постобработанную текстуру к исходным значениям пикселей внутри блока.- add a post-processed texture to the original pixel values inside the block.

Согласно одному варианту осуществления настоящего изобретения первая база данных каждого масштаба содержит ортонормированный базис патчей, полученных из обучающих патчей отфильтрованного обучающего изображения, и вторая база данных каждого масштаба содержит ортонормированный базис патчей, полученных из обучающих патчей изображения текстуры, полученного путем вычитания отфильтрованного обучающего изображения из обучающего изображения, и фильтры, используемые для получения отфильтрованного обучающего изображения в каждом масштабе представляют собой некоторые низкочастотные и полосовые фильтры, которые могут быть различными для каждого масштаба.According to one embodiment of the present invention, the first database of each scale contains an orthonormal basis of patches obtained from the training patches of the filtered training image, and the second database of each scale contains an orthonormal basis of patches obtained from the training patches of a texture image obtained by subtracting the filtered training image from the training images, and filters used to obtain a filtered training image at each scale e represent some lowpass and bandpass filters, which can be different for each scale.

Согласно другому варианту осуществления настоящего изобретения составление результирующей текстуры из слоев текстуры, сгенерированных для, по меньшей мере, двух масштабов, вычисляют как взвешенную сумму пикселей текстуры, вычисленную в каждом масштабе.According to another embodiment of the present invention, composing the resulting texture from texture layers generated for at least two scales is calculated as a weighted sum of texture pixels calculated at each scale.

Согласно другому варианту осуществления настоящего изобретения составление результирующей текстуры из слоев текстуры, сгенерированных для, по меньшей мере, двух масштабов, содержит этапы, на которых:According to another embodiment of the present invention, compiling the resulting texture from texture layers generated for at least two scales comprises the steps of:

- вычисляют для каждого блока норму сгенерированной текстуры в наименьшем масштабе (масштабе, который имеет полосовую или низкочастотную фильтрацию, поддерживающую наивысший диапазон частоты среди всех других масштабов);- calculate for each block the norm of the generated texture at the smallest scale (a scale that has band-pass or low-pass filtering, supporting the highest frequency range among all other scales);

- вычисляют коэффициент усиления как некую монотонную функцию нормы текстуры блока в наименьшем масштабе, которая принимает малое или нулевое значение, когда норма текстуры мала (ниже порога), затем постепенно возрастает и принимает некоторое большее предварительно заданное значение, если норма текстуры выше предварительно заданного порога;- calculate the gain as a certain monotonous function of the norm of the block texture at the smallest scale, which takes a small or zero value when the texture norm is small (below the threshold), then gradually increases and takes on some larger predetermined value if the texture norm is above a predetermined threshold;

- вычисляют заново слои текстур в каждом масштабе, за исключением наименьшего, путем умножения каждого блока текстуры на коэффициент усиления.- recalculate texture layers at each scale, except for the smallest, by multiplying each block of texture by the gain.

Согласно четвертому аспекту настоящего изобретения предложен способ многомасштабной обработки изображения с использованием, по меньшей мере, двух масштабов, каждый из которых использует первую и вторую базу данных патчей, причем количество патчей в первой базе данных равно количеству патчей во второй базе данных, причем способ содержит этапы, на которых:According to a fourth aspect of the present invention, there is provided a multi-scale image processing method using at least two scales, each of which uses a first and second patch database, the number of patches in the first database being equal to the number of patches in the second database, the method comprising the steps , where:

- создают слой текстуры для каждого масштаба, выполняя следующие этапы:- create a texture layer for each scale by performing the following steps:

- осуществляют низкочастотную или полосовую фильтрацию входного изображения;- carry out low-pass or band-pass filtering of the input image;

- делят отфильтрованное изображение на блоки такой же формы и размера, как форма и размер патчей в первой базе данных патчей данного масштаба;- divide the filtered image into blocks of the same shape and size as the shape and size of the patches in the first database of patches of a given scale;

- генерируют текстуру для каждого блока, выполняя следующие этапы:- generate a texture for each block, performing the following steps:

- выполняют предварительную обработку для каждого патча во второй базе данных путем вычисления коэффициентов проекции как суммы произведений пикселей внутри блока предварительно обработанного изображения и соответствующих значений пикселей патча из первой базы данных;- pre-processing for each patch in the second database is performed by calculating the projection coefficients as the sum of the product of pixels inside the block of the pre-processed image and the corresponding pixel values of the patch from the first database;

- вычисляют пиксели выходного блока текстуры как сумму коэффициентов проекции и патчей из второй базы данных;- calculate the pixels of the output texture block as the sum of the projection coefficients and patches from the second database;

- выполняют нормализацию текстуры;- perform texture normalization;

- интерполируют входное изображение, используя метод двухмерной интерполяции;- interpolate the input image using the method of two-dimensional interpolation;

- составляют результирующую текстуру из слоев текстуры, сгенерированных для, по меньшей мере, двух масштабов;- make up the resulting texture from texture layers generated for at least two scales;

- выполняют постобработку результирующей текстуры;- perform post-processing of the resulting texture;

- создают изображение сверхвысокого разрешения путем добавления постобработанной текстуры к интерполированному изображению. - create an ultra-high resolution image by adding a post-processed texture to the interpolated image.

Согласно одному варианту осуществления настоящего изобретения размер патча первой базы данных равен размеру патча второй базы данных, и интерполяция входного изображения содержит интерполяцию входного изображения до размера, равного размеру требуемого изображения сверхвысокого разрешения.According to one embodiment of the present invention, the patch size of the first database is equal to the patch size of the second database, and the interpolation of the input image comprises interpolating the input image to a size equal to the size of the required ultra-high resolution image.

Согласно другому варианту осуществления настоящего изобретения интерполяция входного изображения содержит интерполяцию каждого блока входного изображения горизонтально в m раз и вертикально в n раз больше; добавление постобработанной текстуры к интерполированному изображению содержит добавление постобработанной текстуры к каждому интерполированному блоку входного изображения; и изображение сверхвысокого разрешения имеет горизонтальный размер в m раз больше, чем входное изображение, и вертикальный размер в n раз больше, чем входное изображение.According to another embodiment of the present invention, the input image interpolation comprises interpolating each input image block horizontally m times and vertically n times more; adding a post-processed texture to the interpolated image comprises adding a post-processed texture to each interpolated block of the input image; and the super-high resolution image has a horizontal size m times larger than the input image, and a vertical size n times larger than the input image.

Согласно пятому аспекту настоящего изобретения предложена система для обработки изображения, содержащая: блок фильтрации, блок вычисления коэффициентов проекции, банк низкочастотных текстур, банк высокочастотных текстур и блок синтеза текстуры, причем вход системы соединен с входом блока фильтрации, выход блока фильтрации соединен с первым входом блока вычисления коэффициентов проекции, выход первого банка текстур соединен со вторым входом блока вычисления коэффициентов проекции, выход блока вычисления коэффициентов проекции соединен с первым входом блока синтеза текстуры, выход второго банка текстур соединен со вторым входом блока синтеза текстуры, выход блок синтеза текстуры подается на выход системы.According to a fifth aspect of the present invention, there is provided an image processing system comprising: a filtering unit, a projection coefficient calculation unit, a low-frequency texture bank, a high-frequency texture bank and a texture synthesis unit, the system input being connected to the input of the filtering unit, the output of the filtering unit being connected to the first input of the unit calculating projection coefficients, the output of the first texture bank is connected to the second input of the projection coefficient calculating unit, the output of the projection coefficient calculating unit nen with the first input of the texture synthesis block, the output of the second texture bank is connected to the second input of the texture synthesis block, the output of the texture synthesis block is fed to the system output.

Согласно одному варианту осуществления настоящего изобретения блок фильтрации выполнен с возможностью выполнения низкочастотной или полосовой фильтрации; первый банк текстур выполнен с возможностью хранения патчей текстур из первой базы данных; второй банк текстур выполнен с возможностью хранения патчей текстур из второй базы данных; блок вычисления коэффициентов проекции выполнен с возможностью вычисления коэффициентов проекции как

Figure 00000010
, где Pij - значения пикселей, и Е i j k
Figure 00000011
- пиксели патчей из первой базы данных; блок синтеза текстуры выполнен с возможностью вычисления значений пикселей текстур как
Figure 00000012
, где Т i j k
Figure 00000013
- пиксели патчей из второй базы данных, и выполнения нормализации текстур.According to one embodiment of the present invention, the filtering unit is configured to perform low-pass or band-pass filtering; the first texture bank is configured to store texture patches from the first database; the second texture bank is configured to store texture patches from the second database; the projection coefficient calculation unit is configured to calculate projection coefficients as
Figure 00000010
where P ij are the pixel values, and E i j k
Figure 00000011
- pixels of patches from the first database; a texture synthesis unit is configured to calculate texture pixel values as
Figure 00000012
where T i j k
Figure 00000013
- pixels of patches from the second database, and performing normalization of textures.

Технический результат настоящего изобретения заключается в повышении уровня детализации входного изображения или видеопотока, или повышении разрешения входного изображения или видеопотока. В предложенном способе создания изображений сверхвысокого разрешения используются менее сложные аппаратные средства, чем в известных способах, благодаря его следующим свойствам:The technical result of the present invention is to increase the level of detail of the input image or video stream, or increase the resolution of the input image or video stream. The proposed method for creating ultra-high resolution images uses less sophisticated hardware than in the known methods, due to its following properties:

- требуется меньший размер базы данных текстур для получения текстуры аналогичного качества;- requires a smaller texture database size to obtain a texture of similar quality;

- не требуется обработка перекрытия благодаря специальной конфигурации базы данных текстур. - no overlap processing is required due to the special texture database configuration.

Настоящее изобретение имеет следующие отличия от известных решений:The present invention has the following differences from the known solutions:

- сгенерированная текстура формируется как линейная комбинация патчей текстуры, хранимых в базе данных высокочастотных патчей, где коэффициенты линейной комбинации оцениваются как корреляция патча из изображения низкого разрешения (после низкочастотной или полосовой фильтрации) с патчами низкого разрешения, хранящимися в базе данных низкочастотных патчей;- the generated texture is formed as a linear combination of texture patches stored in the database of high-frequency patches, where the linear combination coefficients are estimated as the correlation of the patch from the low-resolution image (after low-pass or bandpass filtering) with the low-resolution patches stored in the low-frequency patch database;

- патчи низкого разрешения, хранящиеся в базе данных низкочастотных патчей, образуют ортонормированный базис;- low-resolution patches stored in the database of low-frequency patches form an orthonormal basis;

- сгенерированная текстура подвергается процедуре нормализации для подавления слишком высокой текстуры в высококонтрастных областях изображения и для усиления текстуры в низкоконтрастных областях изображения;- the generated texture undergoes a normalization procedure to suppress texture that is too high in high-contrast areas of the image and to enhance texture in low-contrast areas of the image;

- способ может содержать различные масштабы, что позволяет адаптироваться к нескольким кратностям увеличения (например, ×2, ×4) в рамках одного и того же решения;- the method may contain different scales, which allows you to adapt to multiple magnifications (for example, × 2, × 4) within the same solution;

- способ позволяет повышать разрешение до произвольно выбранного выходного размера, используя специально обученные базы данных низко- и высокочастотных патчей для данной кратности увеличения; - the method allows you to increase the resolution to an arbitrarily selected output size using specially trained databases of low- and high-frequency patches for a given magnification;

- способ можно объединить со специальным подалгоритмом для усиления разнообразия сгенерированной текстуры, если текстура исходного изображения низкого разрешения недостаточно разнообразна.- the method can be combined with a special subalgorithm to enhance the diversity of the generated texture, if the texture of the original low-resolution image is not diverse enough.

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

Фиг. 1. Конвейер обработки в устройстве отображения сверхвысокой четкости.FIG. 1. The processing pipeline in the ultra-high definition display device.

Фиг. 2. Многокадровое сверхвысокое разрешение в конвейере видеообработки устройства отображения сверхвысокой четкости.FIG. 2. Multi-frame ultra-high resolution in the video processing pipeline of an ultra-high definition display device.

Фиг. 3. Многокадровое сверхвысокое разрешение в конвейере видеообработки цифровой видеокамеры.FIG. 3. Multi-frame ultra-high resolution in the video processing pipeline of a digital video camera.

Фиг. 4. Конвейер обработки видео, включающий в себя блок моделирования текстуры в устройстве отображения сверхвысокой четкости.FIG. 4. A video processing pipeline including a texture modeling unit in an ultra-high definition display device.

Фиг. 5. Другой возможный конвейер обработки видео, включающий в себя блок моделирования текстуры.FIG. 5. Another possible video processing pipeline, including a texture modeling unit.

Фиг. 6. База данных низкочастотных патчей (a) и база данных высокочастотных патчей (b) для структуры на фиг. 4.FIG. 6. The database of low-frequency patches (a) and the database of high-frequency patches (b) for the structure in FIG. four.

Фиг. 7. Схема построения изображения сверхвысокого разрешения для структуры на фиг. 4.FIG. 7. The ultra-high resolution image construction scheme for the structure of FIG. four.

Фиг. 8. Параллельная многомасштабная схема построения изображения сверхвысокого разрешения.FIG. 8. Parallel multiscale ultra-high resolution image construction.

Фиг. 9. Последовательная многомасштабная схема построения изображения сверхвысокого разрешения.FIG. 9. Consistent multiscale ultra-high resolution image design.

Фиг. 10. Схема генерации текстуры для одного патча изображения.FIG. 10. Texture generation scheme for one image patch.

Фиг. 11. Схема генерации текстуры с предварительной обработкой для одного патча изображения.FIG. 11. Texture generation scheme with pre-processing for one image patch.

Фиг. 12. Пиксели базы данных низкочастотных патчей (a), пиксели базы данных высокочастотных патчей (b), пиксели патча обработанного изображения (c) и пиксели сгенерированной текстуры (d).FIG. 12. The pixels of the low-frequency patch database (a), the pixels of the high-frequency patch database (b), the pixels of the processed image patch (c) and the pixels of the generated texture (d).

Фиг. 13. Пиксели дополнительной структуры данных, вносящие дополнительное отличие.FIG. 13. Pixels of an additional data structure introducing an additional difference.

Фиг. 14. База данных низкочастотных патчей (a) и база данных высокочастотных патчей (b) для структуры на фиг. 5.FIG. 14. The database of low-frequency patches (a) and the database of high-frequency patches (b) for the structure in FIG. 5.

Фиг. 15. Схема построения изображения сверхвысокого разрешения для структуры на фиг. 5.FIG. 15. The ultra-high resolution image construction scheme for the structure of FIG. 5.

Фиг. 16. Система для построения изображения сверхвысокого разрешения с рабочим потоком, параллельным устройству масштабирования.FIG. 16. A system for constructing an ultra-high resolution image with a work stream parallel to the scaling device.

Фиг. 17. Система для построения изображения сверхвысокого разрешения с постобработкой выхода устройства масштабирования.FIG. 17. System for constructing ultra-high resolution images with post-processing output of the scaling device.

Фиг. 18. Многомасштабная система для создания изображения сверхвысокого разрешения с управлением смешиванием, осуществляемым на основе пикселей исходного изображения.FIG. 18. A multiscale system for creating ultra-high resolution images with mixing controls based on the pixels of the original image.

Фиг. 19. Многомасштабная система для создания изображения сверхвысокого разрешения с управлением смешиванием, осуществляемым на основе сгенерированной текстуры.FIG. 19. A multiscale system for creating ultra-high resolution images with blending controls based on the generated texture.

Фиг. 20. Многомасштабная система для создания изображения сверхвысокого разрешения с управлением смешиванием, осуществляемым на основе коэффициентов проекции.FIG. 20. A multiscale system for creating ultra-high resolution images with mixing controls based on projection coefficients.

Фиг. 21. Примерная карта пикселей, образующая вспомогательную структуру данных, вводящую дополнительное отличие.FIG. 21. An exemplary pixel map forming an auxiliary data structure introducing an additional difference.

Фиг. 22. Результаты обработки, полученные с помощью наилучшего варианта реализации.FIG. 22. Processing results obtained using the best implementation.

Фиг. 23. Вариант реализации с предварительной обработкой и постобработкой.FIG. 23. An implementation option with pre-processing and post-processing.

Фиг. 24. Структурные дефекты на линиях: (a) входное изображение, (b) выходная текстура с дефектами.FIG. 24. Structural defects on the lines: (a) input image, (b) output texture with defects.

Фиг. 25. Предварительная обработка блоков: (a) блок с выраженным вертикальным краем; (b) блок с выраженным вертикальным краем после предварительной обработки; (c) блок с выраженным горизонтальным краем; (d) блок с выраженным горизонтальным краем после предварительной обработки; (e) блок с выраженным главным диагональным краем; (f) блок с выраженным главным диагональным краем после предварительной обработки; (g) блок с выраженным дополнительным диагональным краем; (h) блок с выраженным дополнительным диагональным краем после предварительной обработки.FIG. 25. Block pre-processing: (a) a block with a pronounced vertical edge; (b) a block with a pronounced vertical edge after pre-processing; (c) a block with a pronounced horizontal edge; (d) a block with a pronounced horizontal edge after pre-processing; (e) a block with a pronounced main diagonal edge; (f) a block with a pronounced main diagonal edge after preprocessing; (g) a block with a pronounced additional diagonal edge; (h) a block with a pronounced additional diagonal edge after pre-processing.

Фиг. 26. Вариант реализации с предварительной обработкой, постобработкой и поблочным управлением усилением.FIG. 26. An implementation option with pre-processing, post-processing and block gain control.

Фиг. 27. Результаты выборки трехмасштабной реализации с размером блока 16×16: (a) исходное изображение; (b) текстура, сгенерированная для первого масштаба; (c) текстура, сгенерированная для второго масштаба; (d) текстура, сгенерированная для третьего масштаба.FIG. 27. Sampling results of a three-scale implementation with a block size of 16 × 16: (a) the original image; (b) the texture generated for the first scale; (c) the texture generated for the second scale; (d) the texture generated for the third scale.

Фиг. 28. Схема трехмасштабной реализации с логикой слияния.FIG. 28. Three-scale implementation scheme with merge logic.

Фиг. 29. Результаты обработки: (a) без логики слияния, (b) с логикой слияния.FIG. 29. Processing results: (a) without merge logic, (b) with merge logic.

Фиг. 30. Окрестность исходного изображения и сгенерированная текстура, используемая для обеспечения защиты на пиксельном уровне.FIG. 30. Neighborhood of the original image and the generated texture used to provide protection at the pixel level.

Фиг. 31. Защита на пиксельном уровне детально: (a) 16 блоков 16×16 исходного изображения, (b) 16 блоков 16×16 сгенерированной текстуры, (c) 16 блоков 16×16 сгенерированной текстуры после защиты на пиксельном уровне.FIG. 31. Protection at the pixel level in detail: (a) 16 blocks of 16 × 16 of the original image, (b) 16 blocks of 16 × 16 of the generated texture, (c) 16 blocks of 16 × 16 of the generated texture after protection at the pixel level.

Фиг. 32. Результаты обработки: (a) без защиты на пиксельном уровне, (b) текстурированное изображение, полученное из исходного изображения на фиг.27a.FIG. 32. Processing results: (a) without protection at the pixel level, (b) a textured image obtained from the original image in Fig. 27a.

Фиг. 33. Логика защиты на основе сегментации: (a) исходное изображение; (b) текстура, сгенерированная без логики защиты на основе сегментации; (c) текстура, сгенерированная без логики защиты на основе сегментации; (d) сегментация, полученная методом К-средних; (e) сегментация, полученная методом максимизации ожидания.FIG. 33. Security logic based on segmentation: (a) source image; (b) a texture generated without segmentation protection logic; (c) texture generated without security logic based on segmentation; (d) K-means segmentation; (e) segmentation obtained by maximizing expectations.

Фиг. 34. Вариант реализации с перекрывающимся расположением блоков: (a) соседние перекрывающиеся блоки; (b) размер патчей из низкочастотной базы данных; (c) размер патчей из высокочастотной базы данных, заполняющих неперекрывающуюся часть входного блока; (d) другие возможные размеры патчей из высокочастотной базы данных, заполняющих весь входной блок.FIG. 34. An embodiment with an overlapping arrangement of blocks: (a) adjacent overlapping blocks; (b) the size of the patches from the low-frequency database; (c) the size of the patches from the high-frequency database filling the non-overlapping part of the input block; (d) other possible patch sizes from the high-frequency database filling the entire input block.

Фиг. 35. Возможный способ сшивания текстур, сгенерированных в соседних блоках, в случае перекрывающегося расположения блоков.FIG. 35. A possible way to stitch textures generated in neighboring blocks, in the case of overlapping arrangement of blocks.

Фиг. 36. Вариант реализации с шестиугольными блоками.FIG. 36. An implementation option with hexagonal blocks.

Фиг. 37. Вариант реализации с использованием блоков двух различных форм.FIG. 37. An implementation option using blocks of two different forms.

Описание вариантов осуществления изобретенияDescription of Embodiments

Настоящее изобретение относится, в общем, к области цифровой обработки изображений и, в частности, к повышению разрешения или формированию изображений сверхвысокого разрешения, основанному на обучении. Под изображением сверхвысокого разрешения подразумевается изображение, которое имеет более высокое разрешение (больше пикселей) или больше деталей изображения, чем изображение низкого разрешения, использованное для создания данного изображения сверхвысокого разрешения.The present invention relates, in General, to the field of digital image processing and, in particular, to increasing the resolution or formation of images of ultra-high resolution, based on training. An ultra-high resolution image means an image that has a higher resolution (more pixels) or more image details than the low resolution image used to create this ultra-high resolution image.

Предложенный способ можно применять в качестве блока постобработки для повышения уровня детализации входного видеосигнала. Например, существует очень мало контента сверхвысокой четкости, однако телевизионные приемники сверхвысокой четкости распространены повсеместно. Поэтому существующий контент стандартной и высокой четкости отображают на дисплее сверхвысокой четкости после увеличения масштаба. Такой контент с увеличенным масштабом имеет существенно более низкий уровень детализации, чем аутентичный контент сверхвысокой четкости. Описанное изобретение можно использовать для повышения уровня детализации путем создания изображения сверхвысокого разрешения типа, показанного на фиг. 4. Приемник 401 принимает и декодирует видеосигнал 402 стандартного или высокого разрешения (поток изображения низкого разрешения), который масштабируется до сверхвысокой четкости в устройстве 403 масштабирования, и видеосигнал 404 сверхвысокой четкости обрабатывается блоком 405 моделирования текстуры, который повышает уровень детализации видеосигнала. Видеосигнал 406 сверхвысокой четкости с повышенным уровнем детализации (поток изображения сверхвысокого разрешения) можно отобразить на дисплее 407 сверхвысокой четкости.The proposed method can be used as a post-processing unit to increase the level of detail of the input video signal. For example, there is very little ultra-high definition content, but ultra-high definition television sets are ubiquitous. Therefore, existing standard and high definition content is displayed on an ultra-high definition display after zooming. Such zoomed-in content has a significantly lower level of detail than authentic ultra-high definition content. The described invention can be used to increase the level of detail by creating an ultra-high resolution image of the type shown in FIG. 4. The receiver 401 receives and decodes a standard or high resolution video signal 402 (low resolution image stream) that is scaled to ultra-high definition in the scaling device 403, and the ultra high definition video signal 404 is processed by the texture modeling unit 405, which increases the level of detail of the video signal. An ultra-high-definition video signal 406 with an increased level of detail (ultra-high resolution image stream) can be displayed on an ultra-high definition display 407.

На фиг. 5 показано, как можно использовать предложенное изобретение для создания изображения 507 сверхвысокого разрешения на основе изображения 501 низкого разрешения. Изображение 501 низкого разрешения (например, видеосигнал стандартной или высокой четкости, принятый телевизионным приемником) масштабируется до сверхвысокой четкости в устройстве 502 масштабирования и используется в блоке 503 моделирования текстуры для создания слоя 505 текстуры. Сумма масштабированного изображения 504 и слоя 505 текстуры, вычисленная в блоке 506, образует изображение 507 сверхвысокого разрешения.In FIG. 5 shows how the proposed invention can be used to create an ultra-high resolution image 507 based on a low resolution image 501. A low-resolution image 501 (e.g., a standard or high definition video signal received by a television receiver) is scaled to ultra-high definition in a scaler 502 and is used in a texture modeling unit 503 to create a texture layer 505. The sum of the scaled image 504 and the texture layer 505 calculated in block 506 forms an ultra-high resolution image 507.

Основная идея данного способа состоит в том, чтобы найти соответствие между патчами низкого разрешения из входного изображения в базе данных низкочастотных патчей (фиг. 6-a) и, используя это соответствие, реконструировать патч высокого разрешения выходного изображения из базы данных высокочастотных патчей (фиг. 6-b). Патчи в базах данных высокочастотных и низкочастотных патчей могут иметь одинаковые разрешения, как показано на фиг. 6. На фиг. 7 показана общая схема способа, соответствующего схеме на фиг. 4. Входное изображение 701 низкого разрешения подвергают низкочастотной или полосовой фильтрации 702. Отфильтрованное изображение низкого разрешения делят 703 на неперекрывающиеся или перекрывающиеся блоки. Затем, для каждого блока генерируют 704 текстуру высокого разрешения и добавляют 705 ее к исходному изображению, увеличивают масштаб до высокого разрешения посредством какого-либо обычного метода (например, бикубического). Генерирование текстуры можно выполнить посредством многомасштабной обработки, как показано на фиг. 8-9. Фиг. 8 поясняет схему параллельной многомасштабной обработки, где входное изображение 801 обрабатывается в блоках 802 и 803 генерации текстуры, которые генерируют две различные текстуры 804 и 805, соответственно, которые сливаются и добавляются 806 к исходному изображению. Блоки 802 и 803 генерации текстуры могут иметь различные ядра фильтрации, размеры блока и параметры перекрытия, а также базы данных текстур, используемые для генерации текстуры. Понятно, что при необходимости можно соединить три или более блоков генерации текстуры в параллельную схему. Фиг. 9 поясняет схему последовательной многомасштабной обработки, где входное изображение 901 сначала обрабатывается первым блоком 902 генерации текстуры, который создает промежуточное результирующее изображение 903, которое затем обрабатывается вторым блоком 904 генерации текстуры, который создает конечное результирующее изображение. Блоки 902 и 904 генерации текстуры могут иметь различные ядра фильтрации, размер блока и параметры перекрытия, а также базы данных текстур, используемых для генерации текстуры. Понятно, что при необходимости можно объединить три или более блока генерации текстуры в последовательную схему. Каждый подалгоритм генерации текстуры работает, как описано на фиг.10. Для каждого патча 1001 входного изображения вычисляется 1002 набор коэффициентов проекции в качестве корреляционных коэффициентов патча входного изображения и патчей из первой базы данных, которая содержит низкочастотные патчи, после этого генерируется текстура как линейная комбинация патчей из второй базы данных, которая содержит высокочастотные патчи 1003, и осуществляется нормализация 1004.The main idea of this method is to find a correspondence between the low-resolution patches from the input image in the low-frequency patch database (Fig. 6-a) and, using this correspondence, reconstruct the high-resolution patch of the output image from the high-frequency patch database (Fig. 6-b). Patches in databases of high-frequency and low-frequency patches can have the same resolution, as shown in FIG. 6. In FIG. 7 shows a general diagram of a method corresponding to that of FIG. 4. The input image 701 low resolution is subjected to low-pass or band-pass filtering 702. The filtered image of the low resolution is divided 703 into non-overlapping or overlapping blocks. Then, for each block, 704 high-resolution texture is generated and 705 added to the original image, scaled to high resolution using some conventional method (for example, bicubic). Texture generation can be accomplished by multiscale processing as shown in FIG. 8-9. FIG. 8 illustrates a parallel multi-scale processing scheme where the input image 801 is processed in texture generation units 802 and 803, which generate two different textures 804 and 805, respectively, which merge and add 806 to the original image. Texture generation blocks 802 and 803 can have different filtering cores, block sizes and overlap parameters, as well as texture databases used to generate the texture. It is clear that, if necessary, you can connect three or more texture generation blocks in a parallel circuit. FIG. 9 illustrates a sequential multi-scale processing scheme where the input image 901 is first processed by the first texture generating unit 902, which creates an intermediate resultant image 903, which is then processed by the second texture generating unit 904, which creates the final resulting image. Texture generation blocks 902 and 904 can have different filtering cores, block size and overlap parameters, as well as texture databases used to generate the texture. It is understood that, if necessary, three or more texture generation units can be combined into a serial circuit. Each texture generation subalgorithm operates as described in FIG. 10. For each patch 1001 of the input image, a set of projection coefficients 1002 is calculated as the correlation coefficients of the patch of the input image and patches from the first database that contains low-frequency patches, then a texture is generated as a linear combination of patches from the second database that contains high-frequency patches 1003, and normalization is carried out 1004.

Текстуру также можно генерировать, как показано на фиг. 11. Для каждого патча 1101 входного изображения выполняется предварительная обработка 1102, затем вычисляется 1103 набор коэффициентов проекции в качестве корреляционных коэффициентов патча входного изображения и патчей низкого разрешения из первой базы данных, которая содержит низкочастотные патчи, после чего создается текстура путем вычисления 1104 линейной комбинации патчей из второй базы данных, которая содержит высокочастотные патчи, и нормализации 1105.A texture can also be generated, as shown in FIG. 11. For each patch 1101 of the input image, preliminary processing 1102 is performed, then 1103 a set of projection coefficients is calculated as the correlation coefficients of the patch of the input image and low-resolution patches from the first database that contains low-frequency patches, after which a texture is created by calculating 1104 linear combination of patches from the second database, which contains high-frequency patches, and normalization 1105.

В блоках 1002 и 1103 для пикселей патча обработанного изображения (фиг. 12-c) вычисляются коэффициенты проекции на основе пикселей патчей из первой базы данных (фиг. 12-a) как

Figure 00000014
. В блоках 1003 и 1104 пиксели сгенерированной текстуры (фиг. 12-d) вычисляются на основе пикселей патчей из второй базы данных (фиг. 12-b) и коэффициентов проекции как
Figure 00000015
. Нормализацию 1004 и 1105, соответственно, осуществляют как
Figure 00000004
или
Figure 00000005
, где f(·) - некая неубывающая функция, принимающая положительные значения на правом полуинтервале. Нормализация 1004 и 1105 может быть также осуществлена как R ˜ i j = R i j n
Figure 00000016
или R ˜ i j = R i j f ( n )
Figure 00000017
, где
Figure 00000018
или
Figure 00000019
, N и M - некие положительные числа, и f(·) - некая неубывающая функция, принимающая положительные значения на правом полуинтервале.In blocks 1002 and 1103 for the pixels of the processed image patch (FIG. 12-c), projection coefficients are calculated based on the pixels of the patches from the first database (FIG. 12-a) as
Figure 00000014
. In blocks 1003 and 1104, the pixels of the generated texture (FIG. 12-d) are calculated based on the pixels of the patches from the second database (FIG. 12-b) and projection factors as
Figure 00000015
. Normalization 1004 and 1105, respectively, is carried out as
Figure 00000004
or
Figure 00000005
, where f (·) is a certain non-decreasing function that takes positive values on the right half-interval. Normalization 1004 and 1105 can also be implemented as R ˜ i j = R i j n
Figure 00000016
or R ˜ i j = R i j f ( n )
Figure 00000017
where
Figure 00000018
or
Figure 00000019
, N and M are some positive numbers, and f (·) is a certain non-decreasing function that takes positive values on the right half-interval.

Предварительная обработка 1102 может включать в себя, хотя и не обязательно, удаление тренда. Удаление тренда может заключаться в простом вычитании среднего значения яркости блока или вычитании линейной или квадратичной регрессионной модели, описывающей упомянутый входной патч. Предварительная обработка может также включать в себя некоторую модификацию входного патча, нацеленную на усиление отличия сгенерированной текстуры в том случае, если текстура исходного изображения имеет малое отличие (похожий край). Предварительно обработанные пиксели исходного патча можно вычислить как попиксельную сумму или попиксельное произведение с пикселями дополнительной структуры данных (фиг. 13), которую можно сформировать как гладкую функцию нескольких случайных или псевдослучайных (в зависимости от положения блока) аргументов.Pre-processing 1102 may include, although not necessarily, removing a trend. Removing a trend can consist in simply subtracting the average value of the brightness of the block or subtracting a linear or quadratic regression model that describes the mentioned input patch. Pre-processing may also include some modification of the input patch, aimed at enhancing the difference between the generated texture in case the texture of the original image has a slight difference (similar edge). The pre-processed pixels of the original patch can be calculated as a pixel-by-pixel sum or pixel-by-pixel product with pixels of an additional data structure (Fig. 13), which can be formed as a smooth function of several random or pseudorandom (depending on the position of the block) arguments.

В случае схемы, показанной на фиг. 5, патчи из первой базы данных, которая содержит низкочастотные патчи (фиг. 14-a), в k раз меньше, чем патчи из второй базы данных, которая содержит высокочастотные патчи (фиг. 14-b), где k - коэффициент масштабирования. На фиг. 15 представлена общая схема способа, соответствующая схеме, показанной на фиг. 5. Входное изображение 1501 низкого разрешения подвергается низкочастотной или полосовой фильтрации 1502. Отфильтрованное изображение низкого разрешения делится 1503 на неперекрывающиеся или перекрывающиеся блоки. Затем для каждого блока генерируется 1504 текстура высокого разрешения, и масштаб блока повышается 1505 в k раз с помощью какого-либо известного способа, например, билинейного или бикубического, или иного известного метода. Текстура добавляется 1506 к каждому блоку увеличенного масштаба исходного изображения для получения изображения сверхвысокого разрешения.In the case of the circuit shown in FIG. 5, patches from the first database that contains low-frequency patches (Fig. 14-a) are k times smaller than patches from the second database that contains high-frequency patches (Fig. 14-b), where k is the scaling factor. In FIG. 15 is a general diagram of a method corresponding to that shown in FIG. 5. The low-resolution input image 1501 undergoes low-pass or band-pass filtering 1502. The low-resolution filtered image is divided 1503 into non-overlapping or overlapping blocks. Then, 1504 high-resolution texture is generated for each block, and the scale of the block is increased 1505 by a factor of k using any known method, for example, a bilinear or bicubic, or other known method. A texture is added 1506 to each zoomed-in block of the original image to produce an ultra-high resolution image.

На фиг. 16-18 показана система создания изображения сверхвысокого разрешения. Фиг. 16 описывает систему для создания изображения сверхвысокого разрешения с рабочим потоком, который параллелен устройству масштабирования. Изображение низкого разрешения, полученное из приемника 1601, подается в конвейер 1602 улучшения видеосигнала, который соединен с записывающим портом линейной памяти 1603 и блоком фильтрации 1604. Считывающий порт линейной памяти 1603 соединен с входом устройства 1605 масштабирования, которое выполняет повышающую дискретизацию изображения с помощью какого-либо известного способа. Выход блока 1604 фильтрации соединен с первым входом блока 1607 вычисления коэффициентов проекции. Патчи текстур низкого разрешения из первой базы данных хранятся в банке 1606 низкочастотных текстур, который соединен со вторым входом блока 1607 вычисления коэффициентов проекции. Выход блока 1607 вычисления коэффициентов проекции соединен с первым входом блока 1609 синтеза текстуры. Патчи текстур высокого разрешения из второй базы данных хранятся в банке 1608 высокочастотных текстур, который соединен со вторым входом блока 1609 синтеза текстуры. Выход устройства 1605 масштабирования соединен с первым входом блока 1610 ввода текстуры. Выход блока 1609 синтеза текстуры соединен со вторым входом блока 1610 добавления текстуры. Выход блока 1610 добавления текстуры соединен с устройством 1611 отображения сверхвысокой четкости. Конвейер 1602 улучшения видео выполняет операции, обычно используемые для улучшения качества видео в устройствах отображения, включая, без ограничения перечисленным, уменьшение шума, преобразование частоты кадров, преобразование чересстрочной развертки в прогрессивную, усиление детализации, усиление контраста. Блок 1604 фильтрации выполняет низкочастотную или полосовую фильтрацию согласно этапу 702. Блок 1607 вычисления коэффициентов проекции вычисляет коэффициенты проекции, как на этапе 1002. Блок 1609 синтеза текстуры генерирует текстуру, как на этапе 1003. Блок 1610 добавления текстуры вычисляет коэффициент усиления, умножает его на сгенерированную текстуру и добавляет это произведение к исходному изображению низкого разрешения. Коэффициент усиления может быть постоянным заранее определенным значением или некоторым значением, вычисленным на основании локальных свойств изображения.In FIG. 16-18 show an ultra-high resolution image creation system. FIG. 16 describes a system for creating an ultra-high resolution image with a workflow that is parallel to the scaling device. The low-resolution image obtained from the receiver 1601 is supplied to a video enhancement pipeline 1602 that is connected to the recording port of the linear memory 1603 and the filtering unit 1604. The read port of the linear memory 1603 is connected to the input of the scaling device 1605, which performs up-sampling of the image by or a known method. The output of the filtering unit 1604 is connected to the first input of the projection coefficient calculator 1607. The low-resolution texture patches from the first database are stored in the low-frequency texture bank 1606, which is connected to the second input of the projection coefficient calculator 1607. The output of the projection coefficient calculator 1607 is connected to the first input of the texture synthesis block 1609. The high-resolution texture patches from the second database are stored in the high-frequency texture bank 1608, which is connected to the second input of the texture synthesis unit 1609. The output of the scaling device 1605 is connected to the first input of the texture input unit 1610. The output of texture synthesis block 1609 is connected to the second input of texture adding block 1610. The output of texture adding unit 1610 is connected to an ultra-high definition display device 1611. Video enhancement conveyor 1602 performs operations typically used to improve video quality in display devices, including, but not limited to, noise reduction, frame rate conversion, interlace to progressive, detail enhancement, and contrast enhancement. The filtering unit 1604 performs low-pass or band-pass filtering according to step 702. The projection coefficient calculator 1607 calculates the projection coefficients as in step 1002. The texture synthesis unit 1609 generates a texture as in step 1003. The texture addition unit 1610 calculates a gain, multiplies it by the generated texture and adds this artwork to the original low resolution image. The gain can be a constant predetermined value or some value calculated based on the local properties of the image.

Фиг. 17 изображает систему для создания изображения сверхвысокого разрешения с постобработкой выхода устройства масштабирования. Изображение низкого разрешения, полученное из приемника 1701, подается в конвейер 1702 улучшения видео. Конвейер 1702 улучшения видео выполняет операции, обычно используемые для улучшения качества видео в устройствах отображения, включая, без ограничения перечисленным, уменьшение шума, преобразование частоты кадров, преобразование чересстрочной развертки в прогрессивную, усиление детализации, усиление контраста. Выход конвейера 1702 улучшения видео соединен с входом устройства 1703 масштабирования, которое выполняет повышающую дискретизацию изображения, используя какой-либо традиционный способ. Выход устройства 1703 масштабирования соединен с записывающим портом линейной памяти 1704 и блоком фильтрации 1705. Блок 1705 фильтрации выполняет низкочастотную или полосовую фильтрацию согласно этапу 702. Выход блока 1705 фильтрации соединен с первым входом блока 1707 вычисления коэффициентов проекции. Патчи текстур низкого разрешения из первой базы данных хранятся в банке 1706 низкочастотных текстур, который соединен со вторым входом блока 1707 вычисления коэффициентов проекции. Блок 1707 вычисления коэффициентов проекции вычисляет коэффициенты проекции, как на этапе 1002. Выход блока 1707 вычисления коэффициентов проекции соединен с первым входом блока 1709 синтеза текстуры. Патчи текстуры высокого разрешения из второй базы данных хранятся в банке 1708 высокочастотных текстур, который соединен со вторым входом блока 1709 синтеза текстуры. Блок 1709 синтеза текстуры генерирует текстуру, как на этапе 1003. Считывающий порт линейной памяти 1704 соединен с первым входом блока 1710 ввода текстуры. Выход блока 1709 синтеза текстуры соединен со вторым входом блока 1710 добавления текстуры. Блок 1710 добавления текстуры вычисляет коэффициент усиления, умножает его на сгенерированную текстуру и добавляет это произведение к исходному изображению низкого разрешения. Коэффициент усиления может быть постоянным заранее определенным значением или некоторым значением, вычисленным на основании локальных свойств изображения. Выход блока 1710 добавления текстуры соединен с устройством 1711 отображения сверхвысокой четкости.FIG. 17 depicts a system for creating an ultra-high resolution image with post-processing output of a scaler. The low resolution image obtained from the receiver 1701 is supplied to the video enhancement pipeline 1702. The video enhancement conveyor 1702 performs operations typically used to improve the quality of video in display devices, including, but not limited to, noise reduction, frame rate conversion, interlace to progressive, detail enhancement, and contrast enhancement. The output of the video enhancement conveyor 1702 is connected to the input of the scaling device 1703, which performs upsampling using any conventional method. The output of the scaling device 1703 is connected to the recording port of the linear memory 1704 and the filtering unit 1705. The filtering unit 1705 performs low-pass or bandpass filtering according to step 702. The output of the filtering unit 1705 is connected to the first input of the projection coefficient calculator 1707. The low-resolution texture patches from the first database are stored in the low-frequency texture bank 1706, which is connected to the second input of the projection coefficient calculator 1707. The projection coefficient calculator 1707 calculates the projection coefficients as in step 1002. The output of the projection coefficient calculator 1707 is connected to the first input of the texture synthesis block 1709. The high resolution texture patches from the second database are stored in the high-frequency texture bank 1708, which is connected to the second input of the texture synthesis block 1709. The texture synthesis unit 1709 generates a texture, as in step 1003. The read port of the linear memory 1704 is connected to the first input of the texture input unit 1710. The output of texture synthesis block 1709 is connected to the second input of texture adding block 1710. Block 1710 add texture calculates the gain, multiplies it by the generated texture and adds this product to the original low-resolution image. The gain can be a constant predetermined value or some value calculated based on the local properties of the image. The output of texture adding unit 1710 is connected to an ultra-high definition display device 1711.

Фиг. 18 иллюстрирует многомасштабную систему для создания изображения сверхвысокого разрешения. Входной видеопоток 1800 подается на входы первого и второго блоков 1801 и 1802 генерации текстуры, осуществляющих действия, описанные на этапах 801 и 802 параллельной многомасштабной схемы построения изображения сверхвысокого разрешения. Выходы первого и второго блоков 1801 и 1802 генерации текстуры соединены с первым и вторым входами блока 1803 добавления текстуры. Блок 1803 добавления текстуры содержит блок 1804 управления смешиванием, сумматор 1805 и умножители 1806 и 1807. Входной видеопоток подается на вход блока управления смешиванием, к блоку 1804 управления смешиванием. Выход первого блока 1801 генерации текстуры соединен с первым входом умножителя 1806. Выход второго блока 1802 генерации текстуры соединен с первым входом умножителя 1807. Первый выход блока 1804 управления смешиванием соединен со вторым входом умножителя 1806. Второй выход блока 1804 управления смешиванием соединен со вторым входом умножителя 1807. Выход умножителя 1806 соединен с первым входом сумматора 1805. Выход умножителя 1807 соединен со вторым входом сумматора 1805. Видеопоток 1800 подается на третий вход сумматора 1805. Выход этого сумматора соединен с выходом системы для создания изображения сверхвысокого разрешения с управлением смешиванием на основе пикселей исходного изображения. Блок 1804 управления смешиванием вычисляет пропорцию текстуры, сгенерированной первым блоком 1801 генерации текстуры, и пропорцию текстуры, сгенерированной вторым блоком 1802 генерации текстуры, которая передается на выход системы. Эта пропорция вычисляется на основании пикселей исходного изображения, т.е. она может быть пропорциональна среднему абсолютному значению исходных пикселей, отфильтрованных некоторыми предварительно определенными цифровыми фильтрами (типа гауссовых).FIG. 18 illustrates a multi-scale system for creating ultra-high resolution images. An input video stream 1800 is supplied to the inputs of the first and second texture generation units 1801 and 1802, performing the operations described in steps 801 and 802 of a parallel multiscale ultra-high resolution image construction circuit. The outputs of the first and second texture generation units 1801 and 1802 are connected to the first and second inputs of the texture adding unit 1803. The texture adding unit 1803 comprises a mixing control block 1804, an adder 1805 and multipliers 1806 and 1807. An input video stream is input to the mixing control block, to the mixing control block 1804. The output of the first texture generating unit 1801 is connected to the first input of the multiplier 1806. The output of the second texture generating unit 1802 is connected to the first input of the multiplier 1807. The first output of the mixing control unit 1804 is connected to the second input of the multiplier 1806. The second output of the mixing control unit 1804 is connected to the second input of the multiplier 1807. The output of the multiplier 1806 is connected to the first input of the adder 1805. The output of the multiplier 1807 is connected to the second input of the adder 1805. The video stream 1800 is fed to the third input of the adder 1805. The output of this adder is connected to the output A system for creating ultra-high resolution images with pixel-based blending controls for the original image. Mixing control unit 1804 calculates the proportion of the texture generated by the first texture generation unit 1801 and the proportion of the texture generated by the second texture generation unit 1802, which is transmitted to the system output. This proportion is calculated based on the pixels of the original image, i.e. it may be proportional to the average absolute value of the original pixels filtered by some predefined digital filters (such as Gaussian).

Фиг. 19 иллюстрирует многомасштабный способ создания изображения сверхвысокого разрешения с управлением смешиванием на основе сгенерированной текстуры. Входной видеопоток 1900 подается на входы первого и второго блоков 1901 и 1902 генерации текстуры, осуществляющих действия, описанные на этапах 801 и 802 параллельной многомасштабной схемы создания изображения сверхвысокого разрешения. Выходы первого и второго блоков 1901 и 1902 генерации текстуры соединены с первым и вторым входами блока 1903 добавления текстуры. Блок 1903 добавления текстуры содержит блок 1904 управления смешиванием, сумматор 1905 и умножители 1906 и 1907. Выход первого блока 1901 генерации текстуры соединен с первым входом умножителя 1906 и первым входом блока 1904 управления смешиванием. Выход второго блока 1902 генерации текстуры соединен с первым входом умножителя 1907 и вторым входом блока 1904 управления смешиванием. Первый выход блока 1904 управления смешиванием соединен со вторым входом умножителя 1906. Второй выход блока 1904 управления смешиванием соединен со вторым входом умножителя 1907. Выход умножителя 1906 соединен с первым входом сумматора 1905. Выход умножителя 1907 соединен со вторым входом сумматора 1905. Видеопоток 1900 подается на третий вход сумматора 1905. Выход сумматора соединен с выходом системы для создания изображения сверхвысокого разрешения с управлением смешиванием, выполняемым на основе сгенерированной текстуры. Блок 1904 управления смешиванием вычисляет пропорцию текстуры, сгенерированной первым блоком 1901 генерации текстуры, и пропорцию текстуры, сгенерированной вторым блоком 1902 генерации текстуры, которая передается на выход системы. Пропорция текстуры, сгенерированной первым блоком 1901 генерации текстуры, которая передается на выход системы, может быть вычислена как

Figure 00000020
или
Figure 00000021
, где k1 - некая предварительно определенная константа, R1 - прямоугольный блок значений текстуры, сгенерированной первым блоком 1901 генерации текстуры, и f(·) - некая неубывающая функция, принимающая положительные значения на правом полуинтервале. Пропорция текстуры, сгенерированной вторым блоком 1902 генерации текстуры, которая передается на выход системы, может быть вычислена как
Figure 00000022
или
Figure 00000023
, где k2 - некая предварительно определенная константа, R2 - прямоугольный блок значений текстуры, сгенерированной вторым блоком 1902 генерации текстуры, и f(·) - некая неубывающая функция, принимающая положительные значения на правом полуинтервале.FIG. 19 illustrates a multi-scale method for creating an ultra-high resolution image with blend control based on the generated texture. An input video stream 1900 is supplied to the inputs of the first and second texture generation units 1901 and 1902, performing the operations described in steps 801 and 802 of a parallel multiscale ultra-high resolution image generating circuit. The outputs of the first and second texture generation units 1901 and 1902 are connected to the first and second inputs of the texture adding unit 1903. The texture adding unit 1903 comprises a mixing control unit 1904, an adder 1905 and multipliers 1906 and 1907. The output of the first texture generating unit 1901 is connected to the first input of the multiplier 1906 and the first input of the mixing control unit 1904. The output of the second texture generation unit 1902 is connected to the first input of the multiplier 1907 and the second input of the mixing control unit 1904. The first output of the mixing control unit 1904 is connected to the second input of the multiplier 1906. The second output of the mixing control unit 1904 is connected to the second input of the multiplier 1907. The output of the multiplier 1906 is connected to the first input of the adder 1905. The output of the multiplier 1907 is connected to the second input of the adder 1905. The video stream 1900 is fed to the third input of the adder 1905. The output of the adder is connected to the output of the system to create an ultra-high resolution image with mixing control based on the generated texture. The mixing control unit 1904 calculates the proportion of the texture generated by the first texture generation unit 1901 and the proportion of the texture generated by the second texture generation unit 1902, which is transmitted to the system output. The proportion of the texture generated by the first texture generation unit 1901, which is transmitted to the system output, can be calculated as
Figure 00000020
or
Figure 00000021
, where k 1 is a certain predefined constant, R 1 is a rectangular block of texture values generated by the first texture generation unit 1901, and f (·) is a certain non-decreasing function taking positive values on the right half-interval. The proportion of the texture generated by the second texture generation unit 1902, which is transmitted to the system output, can be calculated as
Figure 00000022
or
Figure 00000023
, where k 2 is a certain predetermined constant, R 2 is a rectangular block of texture values generated by the second texture generation unit 1902, and f (·) is a certain non-decreasing function taking positive values on the right half-interval.

Фиг. 20 иллюстрирует многомасштабную систему для создания изображения сверхвысокого разрешения с управлением смешиванием, выполняемым на основе коэффициентов проекции. Входной видеопоток 2000 подается на входы первого и второго блоков 2001 и 2002 генерации текстуры, осуществляющих действия, описанные на этапах 801 и 802 параллельной многомасштабной схемы создания изображения сверхвысокого разрешения. Первый выход первого блока 2001 генерации текстуры соединен с первым входом блока 2003 добавления текстуры. Второй выход первого блока 2001 генерации текстуры соединен с третьим входом блока 2003 ввода текстуры. Первый выход второго блока 2002 генерации текстуры соединен со вторым входом блока 2003 добавления текстуры. Второй выход второго блока 2002 генерации текстуры соединен с четвертым входом блока 2003 добавления текстуры.FIG. 20 illustrates a multi-scale system for creating ultra-high resolution images with mixing controls based on projection coefficients. An input video stream 2000 is supplied to the inputs of the first and second texture generation blocks 2001 and 2002, performing the steps described in steps 801 and 802 of a parallel multiscale ultra-high resolution image generating circuit. The first output of the first texture generation unit 2001 is connected to the first input of the texture adding unit 2003. The second output of the first texture generation unit 2001 is connected to the third input of the texture input unit 2003. The first output of the second texture generating unit 2002 is connected to the second input of the texture adding unit 2003. The second output of the second texture generating unit 2002 is connected to the fourth input of the texture adding unit 2003.

Первый блок 2001 генерации текстуры и второй блок 2002 генерации текстуры содержат блок 2008 фильтрации, банк 2009 низкочастотных текстур, содержащий патчи из первой базы данных, блок 2010 вычисления коэффициентов проекции, банк 2011 высокочастотных текстур, содержащий патчи из второй базы данных, и блок 2012 синтеза текстуры. Вход каждого блока генерации текстуры соединен с входом блока 2008 фильтрации. Блок 2008 фильтрации выполняет низкочастотную или полосовую фильтрацию согласно этапу 702. Выход блока 2008 фильтрации соединен с первым входом блока 2010 вычисления коэффициентов проекции. Выход банка 2009 низкочастотных текстур соединен со вторым входом блока 2010 вычисления коэффициентов проекции. Блок 2010 вычисления коэффициентов проекции вычисляет коэффициенты проекции, как на этапе 1002. Выход блока 2010 вычисления коэффициентов проекции соединен с первым входом блока 2012 синтеза текстуры и вторым выходом блока генерации текстуры. Выход банка 2011 высокочастотных текстур соединен со вторым входом блока 2012 синтеза текстуры. Блок 2012 синтеза текстуры генерирует текстуру, как на этапе 1003. Выход блока синтеза текстуры 2012 соединен с первым выходом блока генерации текстуры.The first texture generation unit 2001 and the second texture generation unit 2002 comprise a filtering unit 2008, a low-frequency texture bank 2009 containing patches from the first database, projection coefficient calculation unit 2010, a high-frequency texture bank 2011 containing patches from the second database, and a synthesis block 2012 textures. The input of each texture generation unit is connected to the input of the filtering unit 2008. The filtering unit 2008 performs low-pass or band-pass filtering according to step 702. The output of the filtering unit 2008 is connected to the first input of the projection coefficient calculation unit 2010. The output of the low-frequency texture bank 2009 is connected to the second input of the projection coefficient calculation unit 2010. The projection coefficient calculator 2010 calculates the projection coefficients as in step 1002. The output of the projection coefficient calculator 2010 is connected to the first input of the texture synthesis unit 2012 and the second output of the texture generation unit. The output of the high-frequency texture bank 2011 is connected to the second input of the texture synthesis unit 2012. The texture synthesis unit 2012 generates a texture, as in step 1003. The output of the texture synthesis unit 2012 is connected to the first output of the texture generation unit.

Блок 2003 добавления текстуры содержит блок 2004 управления смешиванием, сумматор 2005 и умножители 2006 и 2007. Первый выход первого блока 2001 генерации текстуры соединен с первым входом умножителя 2006. Первый выход второго блока 2002 генерации текстуры соединен с первым входом умножителя 2007. Второй выход первого блока 2001 генерации текстуры соединен с первым входом блока 2004 управления смешиванием. Второй выход второго блока 2002 генерации текстуры соединен со вторым входом блока 2004 управления смешиванием. Первый выход блока 2004 управления смешиванием соединен со вторым входом умножителя 2006. Второй выход блока 2004 управления смешиванием соединен со вторым входом умножителя 2007. Выход умножителя 2006 соединен с первым входом сумматора 2005. Выход умножителя 2007 соединен со вторым входом сумматора 2005. Видеопоток 2000 подается на третий вход сумматора 2005. Выход этого сумматора соединен с выходом системы для получения изображения сверхвысокого разрешения с управлением смешиванием, выполняемым на основе коэффициентов проекции. Блок 2004 управления смешиванием решает пропорцию текстуры, сгенерированной первым блоком 2001 генерации текстуры, и пропорцию текстуры, сгенерированной вторым блоком 2002 генерации текстуры, которая передается на выход системы.The texture adding unit 2003 contains a mixing control unit 2004, an adder 2005, and multipliers 2006 and 2007. The first output of the first texture generating unit 2001 is connected to the first input of the multiplier 2006. The first output of the second texture generating unit 2002 is connected to the first input of the multiplier 2007. Second output of the first block The texture generation 2001 is connected to the first input of the blend control unit 2004. The second output of the second texture generation unit 2002 is connected to the second input of the mixing control unit 2004. The first output of the mixing control unit 2004 is connected to the second input of the multiplier 2006. The second output of the mixing control unit 2004 is connected to the second input of the multiplier 2007. The output of the multiplier 2006 is connected to the first input of the adder 2005. The output of the multiplier 2007 is connected to the second input of the adder 2005. Video stream 2000 is fed to the third input of the adder 2005. The output of this adder is connected to the output of the system to obtain an ultra-high resolution image with mixing control based on projection coefficients. The mixing control unit 2004 decides the proportion of the texture generated by the first texture generation unit 2001 and the proportion of the texture generated by the second texture generation unit 2002, which is transmitted to the system output.

Пропорцию текстуры, сгенерированной первым блоком 2001 генерации текстуры, которая передается на выход системы, можно вычислить как

Figure 00000024
или
Figure 00000025
, где k1 - некая заранее определенная константа,
Figure 00000026
или
Figure 00000027
, где bk - коэффициенты проекции, вычисленные в блоке 2010 вычисления коэффициентов проекции первого блока 2001 генерации текстуры,
Figure 00000028
- патчи текстуры высокого разрешения из высокочастотной базы данных, хранящиеся в банке 2011 высокочастотных текстур первого блока 2001 генерации текстуры, N и M - некие положительные числа, и f(·) - некая неубывающая функция, принимающая положительные значения на правом полуинтервале. Пропорцию текстуры, сгенерированной вторым блоком 2002 генерации текстуры, которая передается на выход системы, можно вычислить как
Figure 00000029
или
Figure 00000030
, где k2 - некая предварительно определенная константа,
Figure 00000031
или
Figure 00000032
, где bk - коэффициенты проекции, вычисленные в блоке 2010 вычисления коэффициентов проекции второго блока 2002 генерации текстуры,
Figure 00000033
- патчи текстуры высокого разрешения из высокочастотной базы данных, хранящейся в банке 2011 высокочастотных текстур второго блока 2002 генерации текстуры, N и M - некие положительные числа, и f(·) - некая неубывающая функция, принимающая положительные значения на правом полуинтервале.The proportion of the texture generated by the first block 2001 of the texture generation, which is transmitted to the system output, can be calculated as
Figure 00000024
or
Figure 00000025
where k 1 is a certain predetermined constant,
Figure 00000026
or
Figure 00000027
where b k are the projection coefficients calculated in block 2010 calculating the projection coefficients of the first texture generation block 2001,
Figure 00000028
- high-resolution texture patches from the high-frequency database stored in the 2011 high-frequency texture bank of the first block 2001 of texture generation, N and M are some positive numbers, and f (·) is some non-decreasing function that takes positive values on the right half-interval. The proportion of the texture generated by the second texture generation unit 2002, which is transmitted to the system output, can be calculated as
Figure 00000029
or
Figure 00000030
where k 2 is a certain predetermined constant,
Figure 00000031
or
Figure 00000032
where b k are the projection coefficients calculated in block 2010 calculating the projection coefficients of the second texture generation block 2002,
Figure 00000033
- high-resolution texture patches from the high-frequency database stored in the 2011 high-frequency texture bank of the second texture generation unit 2002, N and M are some positive numbers, and f (·) is some non-decreasing function that takes positive values on the right half-interval.

Наилучший вариант реализации изобретения можно осуществить в форме двухмасштабного алгоритма, как показано на фиг.8. Генерация текстуры для каждого блока в наилучшем варианте реализации осуществляется согласно фиг.11, где предварительную обработку 1102 пикселя каждого блока вычисляют как P i j ' = P i j D i j

Figure 00000034
, где Dij - сумма двух Гауссовых функций
Figure 00000035
, где c1, c2, σ1, σ2, X1, Y1, X2, Y2 - псевдослучайные числа, зависящие от положения текущего блока пикселей на строке и в столбце, и i и j - положение пикселя на строке и в столбце внутри блока. Пример такой дополнительной структуры D данных показан на фиг. 21. Нормализацию в наилучшем варианте реализации выполняют как
Figure 00000036
, где
Figure 00000037
- некая предварительно определенная константа. Смешивание текстур, полученных в двух масштабах, осуществляется обратно пропорционально нормам текстуры, чтобы обеспечить равное воздействие текстур, сгенерированных в обоих масштабах, что можно описать формулой
Figure 00000038
, где
Figure 00000039
и
Figure 00000040
- прямоугольные блоки нормированных значений текстур, сгенерированных двумя масштабами алгоритма, соответственно.The best embodiment of the invention can be implemented in the form of a two-scale algorithm, as shown in Fig. 8. The texture generation for each block in the best implementation is according to FIG. 11, where the preprocessing 1102 pixels of each block are calculated as P i j '' = P i j D i j
Figure 00000034
, where D ij is the sum of two Gaussian functions
Figure 00000035
, where c 1 , c 2 , σ 1 , σ 2 , X 1 , Y 1 , X 2 , Y 2 are pseudorandom numbers depending on the position of the current block of pixels on the row and in the column, and i and j are the position of the pixel on the row and in the column inside the block. An example of such an additional data structure D is shown in FIG. 21. Normalization in the best embodiment is performed as
Figure 00000036
where
Figure 00000037
is a certain predefined constant. The mixing of textures obtained on two scales is inversely proportional to the texture norms to ensure equal effect of the textures generated at both scales, which can be described by the formula
Figure 00000038
where
Figure 00000039
and
Figure 00000040
- rectangular blocks of normalized texture values generated by two scales of the algorithm, respectively.

На фиг. 21 показаны результаты моделирования с блоком размером 51×51, неперекрывающимися блоками и количеством записей базы данных, равным 100. In FIG. 21 shows the simulation results with a block size of 51 × 51, non-overlapping blocks and the number of database records equal to 100.

Первую и вторую базы данных, содержащие низкочастотные и высокочастотные патчи, соответственно, применимые для описанного выше процесса генерации текстуры, можно вычислить следующим образом:The first and second databases containing low-frequency and high-frequency patches, respectively, applicable to the texture generation process described above, can be calculated as follows:

- для эталонного полутонового изображения I вычислить низко-, средне- и высокочастотную компоненты Ilow, Imiddle,Ihigh как- for the reference grayscale image I calculate the low, medium and high frequency components I low , I middle , I high as

I′=I⊗K1 I ′ = I⊗K 1

Ilow=I′⊗K2 I low = I′K 2

Imiddle=I′-Ilow I middle = I′-I low

Ihigh=I-I′,I high = II ′,

где K1 - меньшее Гауссово сглаживающее ядро с меньшим параметром стандартного отклонения, а K2 - большее Гауссово сглаживающее ядро с большим параметром стандартного отклонения.where K 1 is the smaller Gaussian smoothing core with a smaller standard deviation parameter, and K 2 is the larger Gaussian smoothing core with a larger standard deviation parameter.

- Выбрать набор Ω из n случайных блоков размера p×q из среднечастотной компоненты Imiddle и набор G из блоков с тем же положением из высокочастотной компоненты Ihigh:- Choose a set Ω of n random blocks of size p × q from the mid-frequency component I middle and a set G of blocks from the same position from the high-frequency component I high :

Ω={S1, S2, …, Sn}Ω = {S 1 , S 2 , ..., S n }

G={G1, G2, …, Gn}G = {G 1 , G 2 , ..., G n }

будет исходным набором среднечастотных компонент n случайно выбранных патчей такого же размера p×q.will be the initial set of mid-frequency components of n randomly selected patches of the same size p × q.

- Растянуть каждый блок пикселей Sk в вектор из p·q элементов S′k.- Stretch each block of pixels S k into a vector of p · q elements S ′ k .

- Выбрать m≤n векторы из набора Ω′={S′1, S′2, …, S′n} согласно следующей процедуре:- Select m≤n vectors from the set Ω ′ = {S ′ 1 , S ′ 2 , ..., S ′ n } according to the following procedure:

пусть U1=S′1 let U 1 = S ′ 1

найти U2=argmaxS∈Ω\{U1}|S-U1|find U 2 = argmax S∈Ω \ {U1} | SU 1 |

найти все другие векторы как Uk=argmaxS∈Ω\{U1, U2, …, Uk-1| S Pr L k 1 ( S )

Figure 00000041
|, где Lk-1 - линейное подпространство на U1, U2, …, Uk-1, и PrLk-1(S) - проекция S на Lk-1.find all other vectors as U k = argmax S∈Ω \ {U1, U2, ..., Uk-1 | S - Pr L k - one ( S )
Figure 00000041
|, where L k-1 is the linear subspace on U 1 , U 2 , ..., U k-1 , and Pr Lk-1 (S) is the projection of S onto L k-1 .

- Пусть последовательность индексов i1, i2, …, im будет числами выбранных среднечастотных векторов из предыдущего этапа: U 1 = S i 1

Figure 00000042
, U 2 = S i 2
Figure 00000043
, …, U m = S i m
Figure 00000044
. Тогда H = { H 1 = G i 1 ,   H 2 = G i 2 ,   ...,   H m = G i m }
Figure 00000045
будет набором текстур (высокочастотной базы данных), соответствующим U.- Let the sequence of indices i 1 , i 2 , ..., i m be the numbers of the selected mid-frequency vectors from the previous stage: U one = S i one
Figure 00000042
, U 2 = S i 2
Figure 00000043
, ..., U m = S i m
Figure 00000044
. Then H = { H one = G i one , H 2 = G i 2 , ..., H m = G i m }
Figure 00000045
will be a texture set (high-frequency database) corresponding to U.

Алгоритм может обеспечить достаточное качество с блоком размера 51×51 и базой данных, содержащей 1500 или более патчей, однако его реализация в виде SoC (система на кристалле) будет непозволительно дорогой. Для обеспечения возможности аппаратной реализации тестировалась схема с блоком размера 16×16 и базой данных из 50 патчей. Она продемонстрировала несколько типов дефектов, поэтому были разработаны дополнительные подалгоритмы для их устранения. The algorithm can provide sufficient quality with a 51 × 51 block size and a database containing 1,500 or more patches, however, its implementation in the form of SoC (system on a chip) will be prohibitively expensive. To ensure the possibility of hardware implementation, we tested a circuit with a 16 × 16 block and a database of 50 patches. She demonstrated several types of defects; therefore, additional subalgorithms were developed to eliminate them.

На фиг. 23 показана возможная реализация с блоком размера 16×16, включающая в себя предварительную обработку и постобработку; здесь входное изображение 2301 подвергается низкочастотной или полосовой фильтрации 2302. Отфильтрованное изображение делится 2303 на неперекрывающиеся или перекрывающиеся блоки. Каждый блок подвергается предварительной обработке 2304. Затем для каждого блока генерируется 2305 текстура и подвергается постобработке 2306, после чего она добавляется к исходному изображению 2307. Цель предварительной обработки можно объяснить следующим: в присутствии выраженных краев текстура, сгенерированная для соседних блоков, точно или почти одинаковая, что проявляется в виде структурного дефекта вдоль линии (фиг. 24). В случае вертикального края этот дефект можно устранить путем вычитания из каждого пикселя блока соответствующего среднего постолбцового значения. В случае горизонтального края этот дефект можно устранить путем вычитания из каждого пикселя блока соответствующего среднего строчного значения. В случае диагонального края можно выполнить предварительную поблочную обработку: каждый пиксель предварительно обработанного блока

Figure 00000046
вычисляют как разность между исходным пикселем Pij и средним значением пикселя, стоящего на соответствующей диагонали блокаIn FIG. 23 shows a possible implementation with a 16 × 16 block including preprocessing and post-processing; here, the input image 2301 undergoes low-pass or band-pass filtering 2302. The filtered image is divided 2303 into non-overlapping or overlapping blocks. Each block is pre-processed 2304. Then, for each block, 2305 texture is generated and subjected to post-processing 2306, after which it is added to the original image 2307. The purpose of the pre-processing can be explained as follows: in the presence of pronounced edges, the texture generated for neighboring blocks is exactly or almost the same , which manifests itself in the form of a structural defect along the line (Fig. 24). In the case of a vertical edge, this defect can be eliminated by subtracting the corresponding average column value from each pixel of the block. In the case of a horizontal edge, this defect can be eliminated by subtracting the corresponding average row value from each pixel of the block. In the case of a diagonal edge, you can perform preliminary block processing: each pixel of the pre-processed block
Figure 00000046
calculated as the difference between the original pixel P ij and the average value of the pixel standing on the corresponding diagonal of the block

Figure 00000047
.
Figure 00000047
.

На фиг. 25 показаны результаты предварительной обработки для блоков с выраженными вертикальным, горизонтальным, основным диагональным, дополнительным диагональным краями. Видно, что значения пикселей предварительно обработанных блоков значительно меньше, чем значения входного блока, что приводит к существенно меньшей мощности сгенерированной текстуры. Чтобы решить, какой тип предварительной обработки следует применять, можно осуществить следующие операции:In FIG. 25 shows the results of pre-processing for blocks with pronounced vertical, horizontal, main diagonal, additional diagonal edges. It can be seen that the pixel values of the pre-processed blocks are much smaller than the values of the input block, which leads to a significantly lower power of the generated texture. To decide what type of pre-treatment should be used, the following operations can be performed:

1) Вычислить стандартное отклонение S0 значений пикселей входного блока P1) Calculate the standard deviation S 0 of the pixel values of the input block P

2) Выполнить предварительную обработку целевых блоков с горизонтальным краем и вычислить предварительно обработанный блок Phor и стандартное отклонение значений пикселей в обработанном блоке Shor 2) Preprocess the target blocks with a horizontal edge and calculate the preprocessed block P hor and the standard deviation of the pixel values in the processed block S hor

3) Выполнить предварительную обработку целевых блоков с вертикальным краем и вычислить предварительно обработанный блок Pver и стандартное отклонение значений пикселей в обработанном блоке Sver 3) Pre-process the target blocks with a vertical edge and calculate the pre-processed block P ver and the standard deviation of the pixel values in the processed block S ver

4) Выполнить предварительную обработку целевых блоков с основным диагональным краем и вычислить предварительно обработанный блок Pdiag1 и стандартное отклонение значений пикселей в обработанном блоке Sdiag1 4) Pre-process the target blocks with the main diagonal edge and calculate the pre-processed block P diag1 and the standard deviation of the pixel values in the processed block S diag1

5) Выполнить предварительную обработку целевых блоков с дополнительным диагональным краем и вычислить предварительно обработанный блок Pdiag2 и стандартное отклонение значений пикселей в обработанном блоке Sdiag2 5) Preprocess the target blocks with an additional diagonal edge and calculate the pre-processed block P diag2 and the standard deviation of the pixel values in the processed block S diag2

6) Выбрать минимальное значение стандартных отклонений Smin=min(Sver, Shor, Sdiag1, Sdiag2)6) Choose the minimum value of standard deviations S min = min (S ver , S hor , S diag1 , S diag2 )

7) Вычислить коэффициент усиления k=

Figure 00000048
, где7) Calculate the gain k =
Figure 00000048
where

f(x)=

Figure 00000049
f (x) =
Figure 00000049

8) Вычислить конечные значения пикселей предварительно обработанного блока как

Figure 00000050
Figure 00000051
=(1-k)·P+k·Pmin.8) Calculate the final pixel values of the pre-processed block as
Figure 00000050
Figure 00000051
= (1-k) · P + k · P min .

Операции (7) и (8) позволяют варьировать степень предварительной обработки в зависимости от того, насколько велика выраженность края.Operations (7) and (8) allow you to vary the degree of pre-processing depending on how high the severity of the edge.

Так как имеются и другие направления краев, а также некоторые сложные высококонтрастные объекты (типа букв субтитров), может быть недостаточно методик защиты, описанных выше. На фиг.26 показан пример алгоритма получения сверхвысокого разрешения, включающего дополнительную защиту. Перед предварительной обработкой 2605 этот алгоритм включает в себя вычисление 2604 поблочного коэффициента усиления, который умножается на сгенерированную текстуру перед добавлением 2608 ее к изображению. Этот коэффициент можно вычислить как убывающую пилообразную функцию нормы сгенерированной текстуры блока.Since there are other directions of the edges, as well as some complex high-contrast objects (such as subtitle letters), the protection techniques described above may not be enough. On Fig shows an example of an algorithm for obtaining ultra-high resolution, including additional protection. Before preprocessing 2605, this algorithm includes calculating 2604 block gain, which is multiplied by the generated texture before adding 2608 to the image. This coefficient can be calculated as a decreasing sawtooth function of the norm of the generated block texture.

Для уменьшения количества патчей в базе данных был разработан вариант реализации с базой данных, распределенной на большее количество масштабов. На фиг.27 показаны результаты, полученные с тремя масштабами (базы данных из 10, 20 и 20, соответственно) различной грубости. Можно заметить, что второй и третий масштабы создают много шума в плоской области (небо, облака), а первый нет. Следовательно, первый масштаб можно использовать для управления усилением в других масштабах. В случае если норма текстуры, сгенерированной первым масштабом, мала, следует уменьшить амплитуду текстуры, сгенерированной двумя другими масштабами, например, путем умножения на некую убывающую функцию нормы текстуры, сгенерированной первым масштабом в текущем блоке. На фиг. 28 показана архитектура системы с использованием этого вида логики слияния. Фиг.29 демонстрирует различие между результатами, полученными при использовании простого суммирования текстуры, сгенерированной в трех масштабах (a), и текстуры, полученной при использовании логики слияния, описанной выше (b). На фиг. 29-b видно, что в блоках с непустой текстурой, которые имеют соседние блоки с пустой текстурой, появляются блочные дефекты. Чтобы избежать этой проблемы, используется логика попиксельной защиты, основанная на анализе текстуры из блоков, соседних с текущим блоком T0, и исходного цветного изображения из блоков, соседних с текущим блоком I0 (фиг. 30). В случае если норма текстуры, сгенерированной для текущего блока n0=

Figure 00000052
, выше некоторого более высокого заданного порога, и норма текстуры, сгенерированной для некоторого соседнего блока ni=
Figure 00000053
, i=1 … 7, ниже некоторого более низкого заданного порога, для каждого пикселя с координатами (x, y) текущего блока вычисляется попиксельный коэффициент усиления как qxy=min(qxy,
Figure 00000054
), если абсолютное отличие текущего пикселя от медианного значения значений пикселей в блоке Ii меньше, чем первый заданный порог, или абсолютное отличие текущего пикселя от среднего значения значений пикселей в блоке Ii меньше второго заданного порога. Эту процедуру можно выполнять итеративно для всех соседних блоков, при допущении, что на первой итерации qxy=1. На фиг. 31 показаны увеличенный фрагмент изображения, содержащий окрестность 4×4 блоков пикселей размером 16×16 (a), первоначально сгенерированная текстура с видимыми блочными дефектами (b), и результат попиксельной обработки, описанной выше (c). На фиг.32 представлено полное изображение текстуры, полученной (a) без и (b) с попиксельной защитой.To reduce the number of patches in the database, an implementation option was developed with a database distributed over a larger number of scales. On Fig shows the results obtained with three scales (database of 10, 20 and 20, respectively) of different roughness. You can notice that the second and third scales create a lot of noise in a flat area (sky, clouds), and the first does not. Therefore, the first scale can be used to control gain at other scales. If the norm of the texture generated by the first scale is small, the amplitude of the texture generated by two other scales should be reduced, for example, by multiplying by a certain decreasing function the texture norm generated by the first scale in the current block. In FIG. 28 shows a system architecture using this kind of merge logic. Fig. 29 shows the difference between the results obtained using a simple summation of the texture generated at three scales (a) and the texture obtained using the merge logic described above (b). In FIG. Figure 29-b shows that in blocks with a non-empty texture that have adjacent blocks with an empty texture, block defects appear. To avoid this problem, pixel-by-pixel protection logic is used, based on the analysis of the texture from blocks adjacent to the current block T 0 and the original color image from blocks adjacent to the current block I 0 (Fig. 30). If the norm of the texture generated for the current block is n 0 =
Figure 00000052
, above some higher given threshold, and the norm of the texture generated for some neighboring block n i =
Figure 00000053
, i = 1 ... 7, below some lower given threshold, for each pixel with coordinates (x, y) of the current block, the pixel-by-pixel gain is calculated as q xy = min (q xy ,
Figure 00000054
), if the absolute difference of the current pixel from the median value of the pixel values in the block I i is less than the first specified threshold, or the absolute difference of the current pixel from the average value of the pixel values in the block I i is less than the second specified threshold. This procedure can be performed iteratively for all neighboring blocks, assuming q xy = 1 at the first iteration. In FIG. 31 shows an enlarged fragment of an image containing a neighborhood of 4 × 4 pixel blocks of 16 × 16 (a), the initially generated texture with visible block defects (b), and the result of the pixel processing described above (c). On Fig presents a complete image of the texture obtained (a) without and (b) with pixel-by-pixel protection.

В некоторых случаях, как показано на фиг. 33-(a), где существует большое количество длинных тонких объектов на плоском фоне, описанной выше логики защиты не достаточно, фиг. 33-(b). Для такого случая предлагается логика защиты на основе сегментации:In some cases, as shown in FIG. 33- (a), where there are a large number of long thin objects on a flat background, the protection logic described above is not enough, FIG. 33- (b). For this case, protection logic based on segmentation is proposed:

1) Для каждого большого блока (128×128 пикселей или больше) выполняется основанная на цвете сегментация на k классов (мы использовали три или пять) 1) For each large block (128 × 128 pixels or more) color-based segmentation is performed into k classes (we used three or five)

2) Для каждого k-ого класса, полученного при сегментации, получают среднее абсолютное значение

Figure 00000055
сгенерированной текстуры 2) For each k-th class obtained by segmentation, get the average absolute value
Figure 00000055
generated texture

3) Для каждого пикселя внутри блока вычисляют отношение r между абсолютным значением сгенерированной текстуры |t| и средним абсолютным значением

Figure 00000056
соответствующего сегмента в случае, если |t|>
Figure 00000056
и r=
Figure 00000057
,3) For each pixel inside the block, the ratio r between the absolute value of the generated texture | t | and average absolute value
Figure 00000056
corresponding segment if | t |>
Figure 00000056
and r =
Figure 00000057
,

или жеor

4) в случае, если это отношение очень большое или очень малое, уменьшают показатель текстуры в текущем пикселе или сохраняют ее как есть. Эту зависимость можно реализовать как умножение на кусочно-линейную функцию отношения r:4) if this ratio is very large or very small, they reduce the texture index in the current pixel or keep it as it is. This dependence can be realized as multiplication by a piecewise linear function of the relation r:

Figure 00000058
.
Figure 00000058
.

На фиг. 33-c показана результирующая текстура, полученная после этой процедуры. Сегментацию этапа (1) можно выполнить с помощью метода k-средних (фиг. 33-d), максимизации ожидания (фиг. 33-e) или другого алгоритма сегментации.In FIG. 33-c shows the resulting texture obtained after this procedure. The segmentation of step (1) can be performed using the k-means method (Fig. 33-d), maximizing expectations (Fig. 33-e), or another segmentation algorithm.

Хотя использование перекрывающегося расположения блоков (фиг. 34) не показало преимуществ с точки зрения качества, иногда может возникать необходимость его реализации ради совместного использования аппаратных средств в случае применения совместно с каким-то другим способом улучшения качества видео, который требует операции такого рода. На фиг. 34-a показано перекрывающееся расположение 9 соседних перекрывающихся блоков, а на фиг. 34-b показан размер патча из первой базы данных, соответствующей расположению на фиг. 34-a. Вторую базу данных можно выполнить с возможностью заполнения только неперекрывающейся части входного блока, как на фиг. 34-c, или полного заполнения блока входного изображения, как на фиг. 34-d. В последнем случае текстуру, сгенерированную для соседнего блока, можно стыковать с перекрывающейся областью с некоторой функцией смешивания (типа Гауссовой), которая принимает большие значения у центра блока и меньшие значения у его периферии. Текстуру, сгенерированную в соседних перекрывающихся блоках 3501 и 3502, можно также сшить вдоль пути 3503 минимальной энергии, как показано на фиг.35. Этот путь можно найти, например, с помощью динамического программирования и обеспечить бесшовное соединение текстур из соседних блоков.Although the use of an overlapping arrangement of blocks (Fig. 34) did not show any advantages in terms of quality, sometimes it may be necessary to implement it for sharing hardware if it is used in conjunction with some other way to improve video quality, which requires this kind of operation. In FIG. 34-a shows an overlapping arrangement of 9 adjacent overlapping blocks, and in FIG. 34-b shows the patch size from the first database corresponding to the location in FIG. 34-a. The second database can be configured to fill only the non-overlapping part of the input block, as in FIG. 34-c, or completely filling the input image block, as in FIG. 34-d. In the latter case, the texture generated for the neighboring block can be joined with an overlapping area with some mixing function (such as Gaussian), which takes on large values at the center of the block and lower values at its periphery. The texture generated in adjacent overlapping blocks 3501 and 3502 can also be stitched along the minimum energy path 3503, as shown in FIG. 35. This path can be found, for example, using dynamic programming and to provide a seamless connection of textures from neighboring blocks.

Как видно на фиг. 36-37, можно также использовать блоки непрямоугольной формы или даже фрагментацию изображения на блоки двух или более различных форм и/или размеров.As seen in FIG. 36-37, it is also possible to use blocks of non-rectangular shape or even fragmentation of the image into blocks of two or more different shapes and / or sizes.

Промышленная применимостьIndustrial applicability

Предложенный способ можно применить в бытовых электронных устройствах, в которых выполняется повышение разрешения изображения, таких как телевизионные приемники, DVD/BD плееры и игровые приставки, и т.п.The proposed method can be applied in household electronic devices that increase the resolution of the image, such as television sets, DVD / BD players and game consoles, etc.

Claims (48)

1. Способ обработки изображения с использованием первой и второй базы данных патчей, причем количество патчей в первой базе данных равно количеству патчей во второй базе данных, причем способ содержит этапы, на которых:
- осуществляют низкочастотную или полосовую фильтрацию исходного изображения;
- делят отфильтрованное изображение на блоки такого же размера, как размер патчей в первой базе данных патчей;
- генерируют текстуру для каждого блока, выполняя следующие этапы:
- выполняют предварительную обработку;
- для каждого патча во второй базе данных вычисляют коэффициенты проекции как сумму произведений пикселей внутри блока предварительно обработанного изображения и соответствующих значений пикселей патча из первой базы данных;
- вычисляют пиксели блока выходной текстуры как сумму произведений коэффициентов проекции и патчей из второй базы данных;
- выполняют нормализацию текстуры;
- осуществляют постобработку сгенерированной текстуры; и
- добавляют постобработанную текстуру к исходным значениям пикселей внутри блока.
1. The method of image processing using the first and second database of patches, and the number of patches in the first database is equal to the number of patches in the second database, the method comprising the steps of:
- carry out low-pass or band-pass filtering of the original image;
- divide the filtered image into blocks of the same size as the size of the patches in the first database of patches;
- generate a texture for each block, performing the following steps:
- perform pre-processing;
- for each patch in the second database, projection coefficients are calculated as the sum of the product of pixels inside the block of the pre-processed image and the corresponding pixel values of the patch from the first database;
- calculate the pixels of the output texture block as the sum of the products of the projection coefficients and patches from the second database;
- perform texture normalization;
- carry out post-processing of the generated texture; and
- add a post-processed texture to the original pixel values inside the block.
2. Способ по п. 1, в котором первая база данных содержит ортонормированный базис патчей, полученных из обучающих патчей отфильтрованного обучающего изображения, и вторая база данных содержит ортонормированный базис патчей, полученных из обучающих патчей изображения текстуры, полученного путем вычитания отфильтрованного обучающего изображения из обучающего изображения.2. The method according to claim 1, in which the first database contains an orthonormal basis of patches obtained from the training patches of the filtered training image, and the second database contains an orthonormal basis of patches obtained from the training patches of the texture image obtained by subtracting the filtered training image from the training Images. 3. Способ по п. 1, в котором предварительная обработка содержит удаление тренда, включающее в себя вычитание среднего значения яркости блока или вычитание линейной или квадратичной регрессионной модели, описывающей здесь упомянутый входной патч.3. The method of claim 1, wherein the pre-processing comprises removing a trend, including subtracting the average value of the block brightness or subtracting a linear or quadratic regression model describing the input patch mentioned here. 4. Способ по п. 1, в котором предварительная обработка содержит удаление тренда, содержащее этапы, на которых:
- вычисляют первого кандидата предварительно обработанного блока путем вычитания из каждого пикселя среднего построчного значения;
- вычисляют второго кандидата предварительно обработанного блока путем вычитания из каждого пикселя среднего постолбцового значения;
- вычисляют третьего кандидата предварительно обработанного блока путем вычитания из каждого пикселя среднего значения пикселей, лежащих на одной и той же главной диагонали;
- вычисляют четвертого кандидата предварительно обработанного блока путем вычитания из каждого пикселя среднего значения пикселей, лежащих на одной и той же дополнительной диагонали;
- выбирают из первого, второго, третьего и четвертого кандидатов предварительно обработанного блока кандидата, имеющего наименьшее расхождение или стандартное отклонение, в качестве целевого предварительно обработанного блока;
- вычисляют отношение между расхождением или стандартным отклонением целевого предварительно обработанного блока и расхождением или стандартным отклонением исходного блока;
- вычисляют коэффициент смешивания в качестве убывающей функции этого отношения, которая принимает значение между единицей и нулем;
- вычисляют окончательные значения предварительно обработанных пикселей как сумму произведения коэффициента смешивания и пикселей целевого предварительно обработанного блока и произведения "один минус коэффициент смешивания" и пикселей исходного блока.
4. The method according to p. 1, in which the preliminary processing contains the removal of the trend, containing stages in which:
- calculate the first candidate pre-processed block by subtracting from each pixel the average row value;
- calculate the second candidate pre-processed block by subtracting from each pixel the average column value;
- calculate the third candidate pre-processed block by subtracting from each pixel the average value of pixels lying on the same main diagonal;
- calculate the fourth candidate pre-processed block by subtracting from each pixel the average value of pixels lying on the same additional diagonal;
- choose from the first, second, third and fourth candidates a pre-processed block of the candidate having the smallest discrepancy or standard deviation, as the target pre-processed block;
- calculate the relationship between the discrepancy or standard deviation of the target pre-processed block and the discrepancy or standard deviation of the source block;
- calculate the mixing coefficient as a decreasing function of this ratio, which takes a value between unity and zero;
- calculate the final values of the pre-processed pixels as the sum of the product of the mixing coefficient and the pixels of the target pre-processed block and the product "one minus the mixing coefficient" and the pixels of the original block.
5. Способ по п. 1, в котором предварительно обработанный пиксель в рамках предварительной обработки вычисляют как сумму или произведение с пикселем из некой дополнительной структуры данных, имеющей такой же размер, как изображение.5. The method of claim 1, wherein the pre-processed pixel as part of the pre-processing is calculated as a sum or a product with a pixel from some additional data structure having the same size as the image. 6. Способ по п. 5, в котором дополнительную структуру данных формируют как гладкую функцию нескольких случайных или псевдослучайных аргументов.6. The method of claim 5, wherein the additional data structure is formed as a smooth function of several random or pseudo-random arguments. 7. Способ по п. 5, в котором элементы дополнительной структуры данных формируют как
Figure 00000059
,
где x, y - положение пикселя на строке и в столбце внутри изображения, p - ширина блока, q - высота блока и c1, c2, σ1, σ2, X1, Y1, X2, Y2 - псевдослучайные числа, зависящие от положения на строке floor(y/q) и положения в столбце floor(x/p) текущего блока пикселей.
7. The method of claim 5, wherein the elements of the additional data structure are formed as
Figure 00000059
,
where x, y is the position of the pixel on the row and in the column inside the image, p is the block width, q is the block height and c 1 , c 2 , σ 1 , σ 2 , X 1 , Y 1 , X 2 , Y 2 are pseudo-random numbers depending on the position on the floor (y / q) row and the position in the floor (x / p) column of the current block of pixels.
8. Способ по п. 1, в котором нормализацию текстуры вычисляют как
Figure 00000004
или
Figure 00000005
, где f(·) - некая неубывающая функция, принимающая положительные значения на правом полуинтервале, и Rij - значения пикселей текстуры.
8. The method according to p. 1, in which the normalization of the texture is calculated as
Figure 00000004
or
Figure 00000005
, where f (·) is a certain non-decreasing function that takes positive values on the right half-interval, and R ij are the pixel values of the texture.
9. Способ по п. 1, в котором нормализацию текстуры вычисляют как
Figure 00000006
или
Figure 00000007
, где
Figure 00000008
или
Figure 00000009
, где N и M - некие положительные числа и f(·) - некая неубывающая функция, принимающая положительные значения на правом полуинтервале, bk - коэффициенты проекции и Tk - высокочастотные патчи из высокочастотной базы данных.
9. The method according to p. 1, in which the normalization of the texture is calculated as
Figure 00000006
or
Figure 00000007
where
Figure 00000008
or
Figure 00000009
, where N and M are some positive numbers and f (·) is a certain non-decreasing function that takes positive values on the right half-interval, b k are the projection coefficients, and T k are the high-frequency patches from the high-frequency database.
10. Способ по п. 1, в котором выполнение постобработки сгенерированной текстуры содержит этапы, на которых:
- устанавливают попиксельный коэффициент усиления на единицу для каждого пикселя в текущем блоке;
- вычисляют для каждого блока норму сгенерированной текстуры и нормы текстур, сгенерированных в соседних блоках: верхнем слева, верхнем, верхнем справа, левом, правом, нижнем слева, нижнем справа и нижнем;
- для каждого соседнего блока, который имеет норму текстуры ниже предварительно заданного порога, производят обновление коэффициентов усиления в текущих блоках, содержащее этапы, на которых:
- вычисляют среднее значение яркости соседнего блока входного изображения;
- вычисляют медианное значение яркости соседнего блока входного изображения;
- для каждого пикселя текущего блока, если он имеет абсолютное отличие от среднего значения яркости ниже первого предварительно заданного порога или абсолютное отличие от медианного значения яркости ниже второго предварительно заданного порога, вычисляют заново попиксельный коэффициент усиления как минимальное значение предыдущего значения попиксельного коэффициента усиления и отношения между нормой текстуры соответствующего соседнего блока и нормой текстуры исходного блока;
- вычисляют заново каждый пиксель текстуры в текущем блоке путем умножения на соответствующий попиксельный коэффициент усиления.
10. The method of claim 1, wherein the post-processing of the generated texture comprises the steps of:
- set the pixel-by-pixel gain per unit for each pixel in the current block;
- for each block, the norm of the generated texture and the norm of the texture generated in adjacent blocks are calculated: upper left, upper, upper right, left, right, lower left, lower right and lower;
- for each neighboring block, which has a texture norm below a predetermined threshold, the gain in the current blocks is updated, containing the stages in which:
- calculate the average brightness value of the neighboring block of the input image;
- calculate the median brightness value of the neighboring block of the input image;
- for each pixel of the current block, if it has an absolute difference from the average brightness value below the first predefined threshold or an absolute difference from the median brightness value below the second predefined threshold, the pixel-by-pixel gain is re-calculated as the minimum value of the previous pixel-by-pixel gain and the relationship between the texture norm of the corresponding neighboring block and the texture norm of the source block;
- recalculate each texture pixel in the current block by multiplying by the corresponding pixel-by-pixel gain.
11. Способ по п. 1, в котором выполнение постобработки сгенерированной текстуры содержит этапы, на которых:
- устанавливают попиксельный коэффициент усиления для каждого пикселя в текущем блоке равным единице;
- вычисляют для каждого блока норму сгенерированной текстуры и нормы текстур, сгенерированных в соседних блоках: верхнем слева, верхнем, верхнем справа, левом, правом, нижнем слева, нижнем справа и нижнем;
- для каждого соседнего блока, который имеет норму текстуры ниже предварительно заданного порога, производят обновление коэффициентов усиления в текущем блоке, содержащее этапы, на которых:
- вычисляют средние значения соседнего блока входного изображения в каждом цветовом канале;
- вычисляют медианные значения соседнего блока входного изображения в каждом цветовом канале;
- для каждого пикселя текущего блока вычисляют первое тестовое значение как некую монотонно возрастающую функцию трех аргументов абсолютных значений разностей значений пикселей входного изображения и соответствующих средних значений из соседнего блока в каждом цветовом канале;
- для каждого пикселя текущего блока вычисляют второе тестовое значение как некую монотонно возрастающую функцию трех аргументов абсолютных значений разностей значений пикселей входного изображения и соответствующих медианных значений из соседнего блока в каждом цветовом канале;
- для каждого пикселя текущего блока, если его первое тестовое значение ниже первого предварительно заданного порога или второе тестовое значение ниже второго предварительно заданного порога, вычисляют заново попиксельный коэффициент усиления как минимальное значение предыдущего значения попиксельного коэффициента усиления и отношения между нормами текстуры соответствующего соседнего блока и нормой текстуры исходного блока;
- вычисляют заново каждый пиксель текстуры в текущем блоке путем умножения на соответствующий попиксельный коэффициент усиления.
11. The method according to p. 1, in which the post-processing of the generated texture contains the steps in which:
- set the pixel-by-pixel gain for each pixel in the current block to unity;
- for each block, the norm of the generated texture and the norm of the texture generated in adjacent blocks are calculated: upper left, upper, upper right, left, right, lower left, lower right and lower;
- for each neighboring block, which has a texture norm below a predetermined threshold, the gain in the current block is updated, containing the steps in which:
- calculate the average values of the neighboring block of the input image in each color channel;
- calculate the median values of the neighboring input image block in each color channel;
- for each pixel of the current block, the first test value is calculated as a certain monotonically increasing function of the three arguments of the absolute values of the differences of the pixel values of the input image and the corresponding average values from the neighboring block in each color channel;
- for each pixel of the current block, the second test value is calculated as a certain monotonically increasing function of the three arguments of the absolute values of the differences in the pixel values of the input image and the corresponding median values from the neighboring block in each color channel;
- for each pixel of the current block, if its first test value is lower than the first predefined threshold or the second test value is lower than the second predefined threshold, the pixel-by-pixel gain is calculated again as the minimum value of the previous value of the pixel-by-pixel gain and the relationship between the texture norms of the corresponding neighboring block and the norm source block textures;
- recalculate each texture pixel in the current block by multiplying by the corresponding pixel-by-pixel gain.
12. Способ по п. 1, в котором выполнение постобработки сгенерированной текстуры содержит этапы, на которых:
- для каждого блока выполняют сегментацию на k классов;
- для каждого класса вычисляют среднее абсолютное значение сгенерированной текстуры;
- для каждого пикселя внутри блока вычисляют отношение между средним абсолютным значением сгенерированной текстуры в некоторой небольшой окрестности и средним абсолютным значением соответствующего сегмента;
- вычисляют попиксельный коэффициент усиления, который принимает нулевое или очень малое значение, если упомянутое отношение очень большое, и единичное значение, если это отношение меньше единицы или очень близко к ней;
- вычисляют заново каждый пиксель текстуры в текущем блоке путем умножения на соответствующий попиксельный коэффициент усиления.
12. The method according to p. 1, in which the post-processing of the generated texture contains the steps in which:
- segmentation into k classes is performed for each block;
- for each class, the average absolute value of the generated texture is calculated;
- for each pixel inside the block, the relation between the average absolute value of the generated texture in some small neighborhood and the average absolute value of the corresponding segment is calculated;
- calculate the pixel-by-pixel gain, which takes a zero or very small value if the ratio is very large, and a unit value if this ratio is less than unity or very close to it;
- recalculate each texture pixel in the current block by multiplying by the corresponding pixel-by-pixel gain.
13. Способ по п. 1, в котором используют перекрывающееся расположение блоков.13. The method of claim 1, wherein an overlapping arrangement of blocks is used. 14. Способ по п. 13, в котором вторая база данных состоит из патчей, заполняющих только неперекрывающуюся часть входного блока.14. The method of claim 13, wherein the second database consists of patches filling in only the non-overlapping portion of the input block. 15. Способ по п. 13, в котором текстуру, сгенерированную для соседних блоков, умножают на некую функцию смешивания координат пикселей внутри блока.15. The method according to p. 13, in which the texture generated for neighboring blocks is multiplied by a certain function of mixing the coordinates of the pixels inside the block. 16. Способ по п. 13, в котором текстуру, сгенерированную для соседних блоков, сшивают по пути минимальной энергии.16. The method according to p. 13, in which the texture generated for the neighboring blocks is stitched along the path of minimum energy. 17. Способ по п. 1, в котором блоки имеют прямоугольную форму.17. The method of claim 1, wherein the blocks are rectangular in shape. 18. Способ по п. 1, в котором все блоки имеют одинаковую форму и образуют плоскую мозаичную фрагментацию.18. The method according to p. 1, in which all the blocks have the same shape and form a flat mosaic fragmentation. 19. Способ по п. 1, в котором входное изображение разбивают на блоки двух или нескольких различных форм и/или размеров, и для каждой формы и/или размера блока сохраняют отдельные первую и вторую базы данных.19. The method according to claim 1, in which the input image is divided into blocks of two or more different shapes and / or sizes, and for each shape and / or block size, separate first and second databases are stored. 20. Способ обработки изображения с использованием первой и второй базы данных патчей, причем количество патчей в первой базе данных равно количеству патчей во второй базе данных, причем способ содержит этапы, на которых:
- осуществляют низкочастотную или полосовую фильтрацию входного изображения;
- делят отфильтрованное изображение на блоки такого же размера, как размер патчей в первой базе данных патчей;
- генерируют текстуру для каждого блока, выполняя следующие этапы:
- выполняют предварительную обработку;
- для каждого патча во второй базе данных вычисляют коэффициенты проекции как сумму произведений пикселей внутри блока предварительно обработанного изображения и соответствующих значений пикселей патча из первой базы данных;
- вычисляют пиксели выходного блока текстуры как сумму коэффициентов проекции и патчей из второй базы данных;
- выполняют нормализацию текстуры;
- интерполируют входное изображение посредством метода двухмерной интерполяции;
- выполняют постобработку сгенерированной нормализованной текстуры; и
- создают изображение сверхвысокого разрешения путем добавления постобработанной текстуры к интерполированному изображению.
20. An image processing method using the first and second database of patches, the number of patches in the first database being equal to the number of patches in the second database, the method comprising the steps of:
- carry out low-pass or band-pass filtering of the input image;
- divide the filtered image into blocks of the same size as the size of the patches in the first database of patches;
- generate a texture for each block, performing the following steps:
- perform pre-processing;
- for each patch in the second database, projection coefficients are calculated as the sum of the product of pixels inside the block of the pre-processed image and the corresponding pixel values of the patch from the first database;
- calculate the pixels of the output texture block as the sum of the projection coefficients and patches from the second database;
- perform texture normalization;
- interpolating the input image using the method of two-dimensional interpolation;
- perform post-processing of the generated normalized texture; and
- create an ultra-high resolution image by adding a post-processed texture to the interpolated image.
21. Способ по п. 20, в котором размер патча первой базы данных равен размеру патча второй базы данных, причем
интерполяция входного изображения содержит интерполяцию входного изображения до размера, равного размеру требуемого сверхвысокого разрешения.
21. The method according to p. 20, in which the patch size of the first database is equal to the size of the patch of the second database, and
interpolating the input image comprises interpolating the input image to a size equal to the size of the required ultra-high resolution.
22. Способ по п. 20, в котором горизонтальный размер патча из первой базы данных в m раз меньше, чем горизонтальный размер патчей из второй базы данных, и вертикальный размер патча из первой базы данных в n раз меньше, чем вертикальный размер патчей из второй базы данных, причем
- интерполяция входного изображения содержит интерполяцию каждого блока входного изображения горизонтально в m раз и вертикально в n раз больше;
- добавление постобработанной текстуры к интерполированному изображению содержит добавление постобработанной текстуры к каждому интерполированному блоку входного изображения; и
- изображение сверхвысокого разрешения имеет горизонтальный размер в m раз больше, чем входное изображение, и вертикальный размер в n раз больше, чем входное изображение.
22. The method according to p. 20, in which the horizontal patch size from the first database is m times smaller than the horizontal patch size from the second database, and the vertical patch size from the first database is n times smaller than the vertical patch size from the second databases, moreover
- the interpolation of the input image contains the interpolation of each block of the input image horizontally m times and vertically n times more;
- adding a post-processed texture to the interpolated image comprises adding a post-processed texture to each interpolated block of the input image; and
- the ultra-high resolution image has a horizontal size m times larger than the input image, and a vertical size n times larger than the input image.
23. Способ многомасштабной обработки изображения с использованием, по меньшей мере, двух масштабов, каждый из которых использует первую и вторую базу данных патчей, причем количество патчей в первой базе данных равно количеству патчей во второй базе данных, причем способ содержит этапы, на которых:
- создают слой текстуры для каждого масштаба, выполняя следующие этапы:
- осуществляют низкочастотную или полосовую фильтрацию входного изображения;
- делят отфильтрованное изображение на блоки такой же формы и размера, как форма и размер патчей в первой базе данных данного масштаба;
- генерируют текстуру для каждого блока, выполняя следующие этапы:
- выполняют предварительную обработку;
- для каждого патча во второй базе данных вычисляют коэффициенты проекции как сумму произведений пикселей внутри блока предварительно обработанного изображения и соответствующих значений пикселей патча из первой базы данных;
- вычисляют пиксели выходного блока текстуры как сумму коэффициентов проекции и патчей из второй базы данных;
- выполняют нормализацию текстуры;
- составляют результирующую текстуру из слоев текстуры, сгенерированных для множества масштабов;
- осуществляют постобработку результирующей текстуры; и
- добавляют постобработанную текстуру к исходным значениям пикселей внутри блока.
23. A method for multiscale image processing using at least two scales, each of which uses the first and second database of patches, the number of patches in the first database being equal to the number of patches in the second database, the method comprising the steps of:
- create a texture layer for each scale by performing the following steps:
- carry out low-pass or band-pass filtering of the input image;
- divide the filtered image into blocks of the same shape and size as the shape and size of the patches in the first database of a given scale;
- generate a texture for each block, performing the following steps:
- perform pre-processing;
- for each patch in the second database, projection coefficients are calculated as the sum of the product of pixels inside the block of the pre-processed image and the corresponding pixel values of the patch from the first database;
- calculate the pixels of the output texture block as the sum of the projection coefficients and patches from the second database;
- perform texture normalization;
- make up the resulting texture from texture layers generated for multiple scales;
- carry out post-processing of the resulting texture; and
- add a post-processed texture to the original pixel values inside the block.
24. Способ по п. 23, в котором первая база данных каждого масштаба содержит ортонормированный базис патчей, полученных из обучающих патчей отфильтрованного обучающего изображения, и вторая база данных каждого масштаба содержит ортонормированный базис патчей, полученных из обучающих патчей изображения текстуры, полученного путем вычитания отфильтрованного обучающего изображения из обучающего изображения, и фильтры, используемые для получения отфильтрованного обучающего изображения в каждом масштабе, представляют собой некие низкочастотные и полосовые фильтры, которые могут быть различными для каждого масштаба.24. The method according to p. 23, in which the first database of each scale contains an orthonormal basis of patches obtained from the training patches of the filtered training image, and the second database of each scale contains an orthonormal basis of patches obtained from the training patches of a texture image obtained by subtracting the filtered training images from the training image, and the filters used to obtain the filtered training image at each scale are some low-frequency Different and bandpass filters, which may be different for each scale. 25. Способ по п. 23, в котором предварительная обработка содержит удаление тренда, включающее в себя вычитание среднего значения яркости блока или вычитание линейной или квадратичной регрессионной модели, описывающей здесь упомянутый введенный патч.25. The method of claim 23, wherein the preprocessing comprises removing a trend, including subtracting the average brightness of the block or subtracting a linear or quadratic regression model describing the patch introduced here. 26. Способ по п. 23, в котором предварительная обработка содержит удаление тренда, содержащее этапы, на которых:
- вычисляют первого кандидата предварительно обработанного блока путем вычитания из каждого пикселя среднего построчного значения;
- вычисляют второго кандидата предварительно обработанного блока путем вычитания из каждого пикселя среднего постолбцового значения;
- вычисляют третьего кандидата предварительно обработанного блока путем вычитания из каждого пикселя среднего значения пикселей, лежащих на одной и той же главной диагонали;
- вычисляют четвертого кандидата предварительно обработанного блока путем вычитания из каждого пикселя среднего значения пикселей, лежащих на одной и той же дополнительной диагонали;
- выбирают из первого, второго, третьего и четвертого кандидатов предварительно обработанного блока кандидата, имеющего наименьшее расхождение или стандартное отклонение, в качестве целевого предварительно обработанного блока;
- вычисляют отношение между расхождением или стандартным отклонением целевого предварительно обработанного блока и расхождением или стандартным отклонением исходного блока;
- вычисляют коэффициент смешивания в качестве убывающей функции этого отношения, которая принимает значение между единицей и нулем;
- вычисляют окончательные значения предварительно обработанных пикселей как сумму произведения коэффициента смешивания и пикселей целевого предварительно обработанного блока и произведения "один минус коэффициент смешивания" и пикселей исходного блока.
26. The method according to p. 23, in which the preliminary processing includes removing the trend, containing stages in which:
- calculate the first candidate pre-processed block by subtracting from each pixel the average row value;
- calculate the second candidate pre-processed block by subtracting from each pixel the average column value;
- calculate the third candidate pre-processed block by subtracting from each pixel the average value of pixels lying on the same main diagonal;
- calculate the fourth candidate pre-processed block by subtracting from each pixel the average value of pixels lying on the same additional diagonal;
- choose from the first, second, third and fourth candidates a pre-processed block of the candidate having the smallest discrepancy or standard deviation, as the target pre-processed block;
- calculate the relationship between the discrepancy or standard deviation of the target pre-processed block and the discrepancy or standard deviation of the source block;
- calculate the mixing coefficient as a decreasing function of this ratio, which takes a value between unity and zero;
- calculate the final values of the pre-processed pixels as the sum of the product of the mixing coefficient and the pixels of the target pre-processed block and the product "one minus the mixing coefficient" and the pixels of the original block.
27. Способ по п. 23, в котором при предварительной обработке предварительно обработанный пиксель вычисляют как сумму или произведение с пикселем из некой дополнительной структуры данных, имеющей такой же размер, как изображение.27. The method according to p. 23, in which during pre-processing, the pre-processed pixel is calculated as the sum or product of the pixel from some additional data structure having the same size as the image. 28. Способ по п. 27, в котором дополнительную структуру данных формируют как гладкую функцию нескольких случайных или псевдослучайных аргументов.28. The method according to p. 27, in which an additional data structure is formed as a smooth function of several random or pseudo-random arguments. 29. Способ по п. 27, в котором элементы дополнительной структуры данных формируют как
Figure 00000059
,
где x, y - положение пикселя на строке и в столбце внутри изображения, p - ширина блока, q - высота блока и c1, c2, σ1, σ2, X1, Y1, X2, Y2 - псевдослучайные числа, зависящие от положения на строке floor(y/q) и положения в столбце floor(x/p) текущего блока пикселей.
29. The method of claim 27, wherein the elements of the additional data structure are formed as
Figure 00000059
,
where x, y is the position of the pixel on the row and in the column inside the image, p is the block width, q is the block height and c 1 , c 2 , σ 1 , σ 2 , X 1 , Y 1 , X 2 , Y 2 are pseudo-random numbers depending on the position on the floor (y / q) row and the position in the floor (x / p) column of the current block of pixels.
30. Способ по п. 23, в котором нормализацию текстуры вычисляют как
Figure 00000004
или
Figure 00000005
, где f(·) - некая неубывающая функция, принимающая положительные значения на правом полуинтервале, и Rij - значения пикселей текстуры.
30. The method according to p. 23, in which the normalization of the texture is calculated as
Figure 00000004
or
Figure 00000005
, where f (·) is a certain non-decreasing function that takes positive values on the right half-interval, and R ij are the pixel values of the texture.
31. Способ по п. 23, в котором нормализацию текстуры вычисляют как
Figure 00000006
или
Figure 00000007
, где
Figure 00000008
или
Figure 00000009
, где N и M - некие положительные числа и f(·) - некая неубывающая функция, принимающая положительные значения на правом полуинтервале, bk - коэффициенты проекции и Tk - высокочастотные патчи из высокочастотной базы данных.
31. The method according to p. 23, in which the normalization of the texture is calculated as
Figure 00000006
or
Figure 00000007
where
Figure 00000008
or
Figure 00000009
, where N and M are some positive numbers and f (·) is a certain non-decreasing function that takes positive values on the right half-interval, b k are the projection coefficients, and T k are the high-frequency patches from the high-frequency database.
32. Способ по п. 23, в котором при составлении результирующей текстуры из слоев текстуры, сгенерированных для, по меньшей мере, двух масштабов, вычисляют взвешенную сумму пикселей текстуры, вычисленных в каждом масштабе.32. The method according to p. 23, in which when compiling the resulting texture from the texture layers generated for at least two scales, calculate the weighted sum of texture pixels calculated at each scale. 33. Способ по п. 23, в котором составление результирующей текстуры из слоев текстуры, сгенерированных для, по меньшей мере, двух масштабов, содержит этапы, на которых:
- вычисляют для каждого блока норму сгенерированной текстуры в наименьшем масштабе, т.е. масштабе, который имеет полосовую или низкочастотную фильтрацию, поддерживающую наивысший диапазон частоты среди всех других масштабов;
- вычисляют коэффициент усиления как некую монотонную функцию нормы текстуры блока в наименьшем масштабе, которая принимает малое или нулевое значение, когда норма текстуры ниже порога, затем постепенно возрастает и принимает некое большее предварительно заданное значение, если норма текстуры выше предварительно заданного порога;
- вычисляют заново слои текстуры в каждом масштабе, за исключением наименьшего, путем умножения каждого блока текстуры на коэффициент усиления.
33. The method according to p. 23, in which the compilation of the resulting texture from the texture layers generated for at least two scales, comprises the steps of:
- calculate for each block the norm of the generated texture at the smallest scale, i.e. a scale that has band-pass or low-pass filtering that maintains the highest frequency range among all other scales;
- calculate the gain as a certain monotonous function of the norm of the texture block at the smallest scale, which takes a small or zero value when the texture norm is below the threshold, then gradually increases and takes on some larger predefined value if the texture norm is above a predetermined threshold;
- recalculate the texture layers at each scale, except for the smallest, by multiplying each block of the texture by the gain.
34. Способ по п. 23, в котором выполнение постобработки сгенерированной текстуры содержит этапы, на которых:
- устанавливают попиксельный коэффициент усиления для каждого пикселя в текущем блоке равным единице;
- вычисляют для каждого блока норму сгенерированной текстуры и нормы текстур, сгенерированных в соседних блоках: верхнем слева, верхнем, верхнем справа, левом, правом, нижнем слева, нижнем справа и нижнем;
- для каждого соседнего блока, который имеет норму текстуры ниже предварительно заданного порога, производят обновление коэффициентов усиления в текущих блоках, содержащее этапы, на которых:
- вычисляют среднее значение яркости соседнего блока входного изображения;
- вычисляют медианное значение яркости соседнего блока входного изображения;
- для каждого пикселя текущего блока, если он имеет абсолютное отличие от среднего значения яркости ниже первого предварительно заданного порога или абсолютное отличие от медианного значения яркости ниже второго предварительно заданного порога, вычисляют заново попиксельный коэффициент усиления как минимальное значение предыдущего значения попиксельного коэффициента усиления и отношения между нормой текстуры соответствующего соседнего блока и нормой текстуры исходного блока;
- вычисляют заново каждый пиксель текстуры в текущем блоке путем умножения на соответствующий попиксельный коэффициент усиления.
34. The method of claim 23, wherein the post-processing of the generated texture comprises the steps of:
- set the pixel-by-pixel gain for each pixel in the current block to unity;
- for each block, the norm of the generated texture and the norm of the texture generated in adjacent blocks are calculated: upper left, upper, upper right, left, right, lower left, lower right and lower;
- for each neighboring block, which has a texture norm below a predetermined threshold, the gain in the current blocks is updated, containing the stages in which:
- calculate the average brightness value of the neighboring block of the input image;
- calculate the median brightness value of the neighboring block of the input image;
- for each pixel of the current block, if it has an absolute difference from the average brightness value below the first predefined threshold or an absolute difference from the median brightness value below the second predefined threshold, the pixel-by-pixel gain is re-calculated as the minimum value of the previous pixel-by-pixel gain and the relationship between the texture norm of the corresponding neighboring block and the texture norm of the source block;
- recalculate each texture pixel in the current block by multiplying by the corresponding pixel-by-pixel gain.
35. Способ по п. 23, в котором выполнение постобработки сгенерированной текстуры содержит этапы, на которых:
- устанавливают попиксельный коэффициент усиления для каждого пикселя в текущем блоке равным единице;
- вычисляют для каждого блока норму сгенерированной текстуры и нормы текстур, сгенерированных в соседних блоках: верхнем слева, верхнем, верхнем справа, левом, правом, нижнем слева, нижнем справа и нижнем;
- для каждого соседнего блока, который имеет норму текстуры ниже предварительно заданного порога, производят обновление коэффициентов усиления в текущем блоке, содержащее этапы, на которых:
- вычисляют средние значения соседнего блока входного изображения в каждом цветовом канале;
- вычисляют медианные значения соседнего блока входного изображения в каждом цветовом канале;
- для каждого пикселя текущего блока вычисляют первое тестовое значение как некую монотонно возрастающую функцию трех аргументов абсолютных значений разностей значений пикселей входного изображения и соответствующих средних значений из соседнего блока в каждом цветовом канале;
- для каждого пикселя текущего блока вычисляют второе тестовое значение как некую монотонно возрастающую функцию трех аргументов абсолютных значений разностей значений пикселей входного изображения и соответствующих медианных значений из соседнего блока в каждом цветовом канале;
- для каждого пикселя текущего блока, если его первое тестовое значение ниже первого предварительно заданного порога или второе тестовое значение ниже второго предварительно заданного порога, вычисляют заново попиксельный коэффициент усиления как минимальное значение предыдущего значения попиксельного коэффициента усиления и отношения между нормой текстуры соответствующего соседнего блока и нормой текстуры исходного блока;
- вычисляют заново каждый пиксель текстуры в текущем блоке путем умножения на соответствующий попиксельный коэффициент усиления.
35. The method of claim 23, wherein the post-processing of the generated texture comprises the steps of:
- set the pixel-by-pixel gain for each pixel in the current block to unity;
- for each block, the norm of the generated texture and the norm of the texture generated in adjacent blocks are calculated: upper left, upper, upper right, left, right, lower left, lower right and lower;
- for each neighboring block, which has a texture norm below a predetermined threshold, the gain in the current block is updated, containing the steps in which:
- calculate the average values of the neighboring block of the input image in each color channel;
- calculate the median values of the neighboring input image block in each color channel;
- for each pixel of the current block, the first test value is calculated as a certain monotonically increasing function of the three arguments of the absolute values of the differences of the pixel values of the input image and the corresponding average values from the neighboring block in each color channel;
- for each pixel of the current block, the second test value is calculated as a certain monotonically increasing function of the three arguments of the absolute values of the differences in the pixel values of the input image and the corresponding median values from the neighboring block in each color channel;
- for each pixel of the current block, if its first test value is lower than the first predefined threshold or the second test value is lower than the second predefined threshold, the pixel-by-pixel gain is calculated again as the minimum value of the previous pixel-by-pixel gain and the relationship between the texture norm of the corresponding neighboring block and the norm source block textures;
- recalculate each texture pixel in the current block by multiplying by the corresponding pixel-by-pixel gain.
36. Способ по п. 23, в котором выполнение постобработки сгенерированной текстуры содержит этапы, на которых:
- для каждого блока выполняют сегментацию на k классов;
- для каждого класса вычисляют среднее абсолютное значение сгенерированной текстуры;
- для каждого пикселя внутри блока вычисляют отношение между средним абсолютным значением сгенерированной текстуры в некоторой небольшой окрестности и средним абсолютным значением соответствующего сегмента;
- вычисляют попиксельный коэффициент усиления, который принимает нулевое или очень малое значение, если упомянутое отношение очень большое, и единичное значение, если это отношение меньше единицы или очень близко к ней;
- вычисляют заново каждый пиксель текстуры в текущем блоке путем умножения на соответствующий попиксельный коэффициент усиления.
36. The method according to p. 23, in which the post-processing of the generated texture contains the steps in which:
- segmentation into k classes is performed for each block;
- for each class, the average absolute value of the generated texture is calculated;
- for each pixel inside the block, the relation between the average absolute value of the generated texture in some small neighborhood and the average absolute value of the corresponding segment is calculated;
- calculate the pixel-by-pixel gain, which takes a zero or very small value if the ratio is very large, and a unit value if this ratio is less than unity or very close to it;
- recalculate each texture pixel in the current block by multiplying by the corresponding pixel-by-pixel gain.
37. Способ по п. 23, в котором используют перекрывающееся расположение блоков. 37. The method of claim 23, wherein the overlapping arrangement of the blocks is used. 38. Способ по п. 37, в котором вторая база данных состоит из патчей, заполняющих только неперекрывающуюся часть входного блока.38. The method according to p. 37, in which the second database consists of patches that fill only the non-overlapping part of the input block. 39. Способ по п. 37, в котором текстуру, сгенерированную для соседних блоков, умножают на некую функцию смешивания координат пикселей внутри блока.39. The method according to p. 37, in which the texture generated for neighboring blocks is multiplied by a certain function of mixing the coordinates of the pixels inside the block. 40. Способ по п. 37, в котором текстуру, сгенерированную для соседних блоков, сшивают по пути минимальной энергии.40. The method according to p. 37, in which the texture generated for neighboring blocks, stitched along the path of minimum energy. 41. Способ по п. 23, в котором блоки имеют прямоугольную форму.41. The method according to p. 23, in which the blocks are rectangular in shape. 42. Способ по п. 23, в котором все блоки имеют одинаковую форму и образуют плоскую мозаичную фрагментацию.42. The method according to p. 23, in which all the blocks have the same shape and form a flat mosaic fragmentation. 43. Способ по п. 23, в котором входное изображение фрагментируют на блоки двух или нескольких различных форм и/или размеров и для каждой формы и/или размера блока сохраняют отдельные первую и вторую базы данных.43. The method of claim 23, wherein the input image is fragmented into blocks of two or more different shapes and / or sizes and for each shape and / or block size, separate first and second databases are stored. 44. Способ многомасштабной обработки изображения с использованием, по меньшей мере, двух масштабов, каждый из которых использует первую и вторую базу данных патчей, причем количество патчей в первой базе данных равно количеству патчей во второй базе данных, причем способ содержит этапы, на которых:
- создают слой текстуры для каждого масштаба, выполняя следующие этапы:
- осуществляют низкочастотную или полосовую фильтрацию входного изображения;
- делят отфильтрованное изображение на блоки такой же формы и размера, как форма и размер патчей в первой базе данных патчей данного масштаба;
- генерируют текстуру для каждого блока, выполняя следующие этапы:
- выполняют предварительную обработку для каждого патча во второй базе данных, вычисляя коэффициенты проекции как сумму произведений пикселей внутри блока предварительно обработанного изображения и соответствующих значений пикселей патча из первой базы данных;
- вычисляют пиксели выходного блока текстуры как сумму коэффициентов проекции и патчей из второй базы данных;
- выполняют нормализацию текстур;
- интерполируют входное изображение, используя метод двухмерной интерполяции;
- составляют результирующую текстуру из слоев текстуры, сгенерированных для, по меньшей мере, двух масштабов;
- выполняют постобработку результирующей текстуры;
- создают изображение сверхвысокого разрешения путем добавления постобработанной текстуры к интерполированному изображению.
44. A method for multiscale image processing using at least two scales, each of which uses the first and second database of patches, the number of patches in the first database being equal to the number of patches in the second database, the method comprising the steps of:
- create a texture layer for each scale by performing the following steps:
- carry out low-pass or band-pass filtering of the input image;
- divide the filtered image into blocks of the same shape and size as the shape and size of the patches in the first database of patches of a given scale;
- generate a texture for each block, performing the following steps:
- pre-processing for each patch in the second database is performed, calculating the projection coefficients as the sum of the products of pixels inside the block of the pre-processed image and the corresponding pixel values of the patch from the first database;
- calculate the pixels of the output texture block as the sum of the projection coefficients and patches from the second database;
- perform texture normalization;
- interpolate the input image using the method of two-dimensional interpolation;
- make up the resulting texture from texture layers generated for at least two scales;
- perform post-processing of the resulting texture;
- create an ultra-high resolution image by adding a post-processed texture to the interpolated image.
45. Способ по п. 44, в котором размер патча первой базы данных равен размеру патча второй базы данных, причем
- интерполяция входного изображения содержит интерполяцию входного изображения до размера, равного размеру требуемого изображения сверхвысокого разрешения.
45. The method of claim 44, wherein the patch size of the first database is equal to the patch size of the second database, wherein
- interpolation of the input image contains interpolation of the input image to a size equal to the size of the desired image ultra-high resolution.
46. Способ по п. 44, в котором
- интерполяция входного изображения содержит интерполяцию каждого блока входного изображения горизонтально в m раз и вертикально в n раз больше;
- добавление постобработанной текстуры к интерполированному изображению содержит добавление постобработанной текстуры к каждому интерполированному блоку входного изображения; и
- изображение сверхвысокого разрешения имеет горизонтальный размер в m раз больше, чем входное изображение, и вертикальный размер в n раз больше, чем входное изображение.
46. The method according to p. 44, in which
- the interpolation of the input image contains the interpolation of each block of the input image horizontally m times and vertically n times more;
- adding a post-processed texture to the interpolated image comprises adding a post-processed texture to each interpolated block of the input image; and
- the ultra-high resolution image has a horizontal size m times larger than the input image, and a vertical size n times larger than the input image.
47. Система для обработки изображения, содержащая: блок фильтрации, блок вычисления коэффициентов проекции, банк низкочастотных текстур, банк высокочастотных текстур и блок синтеза текстуры, причем вход системы соединен с входом блока фильтрации, выход блока фильтрации соединен с первым входом блока вычисления коэффициентов проекции, выход банка низкочастотных текстур соединен со вторым входом блока вычисления коэффициентов проекции, выход блока вычисления коэффициентов проекции соединен с первым входом блока синтеза текстуры, выход банка высокочастотных текстур соединен со вторым входом блока синтеза текстуры, выход блока синтеза текстуры подается на выход системы.47. An image processing system comprising: a filtering unit, a projection coefficient calculation unit, a low-frequency texture bank, a high-frequency texture bank and a texture synthesis unit, the system input being connected to the input of the filtering unit, the output of the filtering unit connected to the first input of the projection coefficient calculating unit, the output of the low-frequency texture bank is connected to the second input of the projection coefficient calculation unit, the output of the projection coefficient calculation unit is connected to the first input of the texture synthesis unit, output ankh high texture connected to the second input of the synthesis of the block texture, texture synthesis unit output is fed to the system output. 48. Система по п. 47, в которой блок фильтрации выполнен с возможностью осуществления низкочастотной или полосовой фильтрации; банк низкочастотных текстур выполнен с возможностью хранения патчей текстур из первой базы данных; банк высокочастотных текстур выполнен с возможностью хранения патчей текстур из второй базы данных; блок вычисления коэффициентов проекции выполнен с возможностью вычисления коэффициентов проекции как
Figure 00000010
, где Pij - значения пикселей и
Figure 00000060
- пиксели патчей из первой базы данных; блок синтеза текстуры выполнен с возможностью вычисления значений пикселей текстуры как
Figure 00000061
, где
Figure 00000062
- пиксели патчей из второй базы данных, и выполнения нормализации текстур.
48. The system of claim 47, wherein the filtering unit is configured to perform low-pass or band-pass filtering; the low-frequency texture bank is configured to store texture patches from the first database; a high-frequency texture bank is configured to store texture patches from a second database; the projection coefficient calculation unit is configured to calculate projection coefficients as
Figure 00000010
where P ij are the pixel values and
Figure 00000060
- pixels of patches from the first database; the texture synthesis unit is configured to calculate texture pixel values as
Figure 00000061
where
Figure 00000062
- pixels of patches from the second database, and performing normalization of textures.
RU2014142016/08A 2014-10-17 2014-10-17 Method and system for image processing RU2583725C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2014142016/08A RU2583725C1 (en) 2014-10-17 2014-10-17 Method and system for image processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2014142016/08A RU2583725C1 (en) 2014-10-17 2014-10-17 Method and system for image processing

Publications (1)

Publication Number Publication Date
RU2583725C1 true RU2583725C1 (en) 2016-05-10

Family

ID=55960149

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2014142016/08A RU2583725C1 (en) 2014-10-17 2014-10-17 Method and system for image processing

Country Status (1)

Country Link
RU (1) RU2583725C1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2652722C1 (en) * 2017-05-03 2018-04-28 Самсунг Электроникс Ко., Лтд. Data processing for super-resolution
RU2695054C1 (en) * 2018-06-18 2019-07-18 Общество с ограниченной ответственностью "Аби Продакшн" Detecting bar codes on images
RU2710659C1 (en) * 2019-02-20 2019-12-30 Самсунг Электроникс Ко., Лтд. Simultaneous uncontrolled segmentation of objects and drawing
US10776904B2 (en) 2017-05-03 2020-09-15 Samsung Electronics Co., Ltd. Method and apparatus for processing image
CN119107225A (en) * 2024-11-08 2024-12-10 浙江华诺康科技有限公司 Image processing method, device and storage medium for suppressing false information
US12493963B2 (en) 2018-11-13 2025-12-09 Samsung Electronics Co., Ltd. Joint unsupervised object segmentation and inpainting

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6434280B1 (en) * 1997-11-10 2002-08-13 Gentech Corporation System and method for generating super-resolution-enhanced mosaic images
US6766067B2 (en) * 2001-04-20 2004-07-20 Mitsubishi Electric Research Laboratories, Inc. One-pass super-resolution images
RU2431889C1 (en) * 2010-08-06 2011-10-20 Дмитрий Валерьевич Шмунк Image super-resolution method and nonlinear digital filter for realising said method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6434280B1 (en) * 1997-11-10 2002-08-13 Gentech Corporation System and method for generating super-resolution-enhanced mosaic images
US6766067B2 (en) * 2001-04-20 2004-07-20 Mitsubishi Electric Research Laboratories, Inc. One-pass super-resolution images
RU2431889C1 (en) * 2010-08-06 2011-10-20 Дмитрий Валерьевич Шмунк Image super-resolution method and nonlinear digital filter for realising said method

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2652722C1 (en) * 2017-05-03 2018-04-28 Самсунг Электроникс Ко., Лтд. Data processing for super-resolution
US10776904B2 (en) 2017-05-03 2020-09-15 Samsung Electronics Co., Ltd. Method and apparatus for processing image
RU2695054C1 (en) * 2018-06-18 2019-07-18 Общество с ограниченной ответственностью "Аби Продакшн" Detecting bar codes on images
US12493963B2 (en) 2018-11-13 2025-12-09 Samsung Electronics Co., Ltd. Joint unsupervised object segmentation and inpainting
RU2710659C1 (en) * 2019-02-20 2019-12-30 Самсунг Электроникс Ко., Лтд. Simultaneous uncontrolled segmentation of objects and drawing
CN119107225A (en) * 2024-11-08 2024-12-10 浙江华诺康科技有限公司 Image processing method, device and storage medium for suppressing false information

Similar Documents

Publication Publication Date Title
Lim et al. DSLR: Deep stacked Laplacian restorer for low-light image enhancement
US10339643B2 (en) Algorithm and device for image processing
Liu et al. On Bayesian adaptive video super resolution
US9258518B2 (en) Method and apparatus for performing super-resolution
Oeztireli et al. Perceptually based downscaling of images
US11887218B2 (en) Image optimization method, apparatus, device and storage medium
Han et al. A novel image interpolation method using the bilateral filter
RU2583725C1 (en) Method and system for image processing
US9076234B2 (en) Super-resolution method and apparatus for video image
Wang et al. Laplacian pyramid adversarial network for face completion
Hou et al. Deep feature consistent deep image transformations: Downscaling, decolorization and HDR tone mapping
JPH06245113A (en) Equipment for improving picture still more by removing noise and other artifact
JP4776705B2 (en) Image processing apparatus and method
US20110205227A1 (en) Method Of Using A Storage Switch
WO2011111819A1 (en) Image processing device, image processing program, and method for generating images
Ni et al. Color image demosaicing using progressive collaborative representation
Jahnavi et al. A comparative study of super-resolution interpolation techniques: Insights for selecting the most appropriate method
Jeong et al. Multi-frame example-based super-resolution using locally directional self-similarity
Hassan et al. Exploring the frontiers of image super-resolution: a review of modern techniques and emerging applications
US20150324953A1 (en) Method and apparatus for performing single-image super-resolution
Soh et al. Joint high dynamic range imaging and super-resolution from a single image
RU2661537C2 (en) Method and system of superresolution by combined sparse approximation
Zhang et al. Deep attentive generative adversarial network for photo-realistic image de-quantization
Damkat Single image super-resolution using self-examples and texture synthesis
Villena et al. Using the Kullback-Leibler divergence to combine image priors in super-resolution image reconstruction