RU2779609C2 - Electronic device and method for its control - Google Patents

Electronic device and method for its control Download PDF

Info

Publication number
RU2779609C2
RU2779609C2 RU2019109207A RU2019109207A RU2779609C2 RU 2779609 C2 RU2779609 C2 RU 2779609C2 RU 2019109207 A RU2019109207 A RU 2019109207A RU 2019109207 A RU2019109207 A RU 2019109207A RU 2779609 C2 RU2779609 C2 RU 2779609C2
Authority
RU
Russia
Prior art keywords
image block
image
index
vector
vectors
Prior art date
Application number
RU2019109207A
Other languages
Russian (ru)
Other versions
RU2019109207A3 (en
RU2019109207A (en
Inventor
Хиун-сеунг ЛИ
Донг-Хиун КИМ
Янг-су МООН
Тае-гиоунг АХН
Original Assignee
Самсунг Электроникс Ко., Лтд.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020180027790A external-priority patent/KR101882704B1/en
Application filed by Самсунг Электроникс Ко., Лтд. filed Critical Самсунг Электроникс Ко., Лтд.
Publication of RU2019109207A publication Critical patent/RU2019109207A/en
Publication of RU2019109207A3 publication Critical patent/RU2019109207A3/ru
Application granted granted Critical
Publication of RU2779609C2 publication Critical patent/RU2779609C2/en

Links

Images

Abstract

FIELD: computer technology.
SUBSTANCE: invention relates to the field of computer technology for image processing. An electronic device includes: a storage device configured to store a set of filters, each filter corresponds to a set of image patterns; and a processor configured to classify an image block including a target pixel and a set of surrounding pixels to one of the set of image patterns based on the ratio between pixels in the image block and obtain a final image block, in which the target pixel is processed in the image by means of application of at least one filter corresponding to the classified image pattern among the set of filters to the image block. At the same time, the set of filters is obtained by means of studying by an artificial intelligence algorithm the ratio between a set of the first discrete image blocks and a set of the second discrete image blocks corresponding to the set of the first discrete image blocks based on each of the set of image patterns.
EFFECT: improvement of an image processing speed.
15 cl, 23 dwg

Description

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

[1] Настоящее изобретение относится, в целом, к электронному устройству и способу управления им и, например, к электронному устройству, выполняющему обработку изображения и способу управления им.[1] The present invention relates generally to an electronic device and a method for controlling the same, and, for example, an electronic device performing image processing and a method for controlling the same.

[2] Настоящее изобретение также относится к системе искусственного интеллекта (AI), моделирующей функцию распознавания и функцию принятия решения человеческого мозга с помощью алгоритма машинного обучения, и ее применению.[2] The present invention also relates to an artificial intelligence (AI) system simulating a recognition function and a decision function of a human brain with a machine learning algorithm and its application.

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

[3] В последнее время, система искусственного интеллекта, реализующая интеллект человеческого уровня, использовалась в различных областях. Система искусственного интеллекта является системой, в которой машина выполняет обучение и принимает решение и становится интеллектуальной сама по себе в отличие от существующей интеллектуальной системы на основе правил. Поскольку система искусственного интеллекта используется все в большей степени, скорость распознавания улучшается, и манера пользователя может более точно пониматься, так что существующая интеллектуальная система на основе правил постепенно заменяется системой искусственного интеллекта на основе глубокого обучения.[3] Recently, an artificial intelligence system realizing human-level intelligence has been used in various fields. An artificial intelligence system is a system in which a machine performs learning and makes a decision and becomes intelligent in itself, unlike the existing rule-based intelligent system. As the artificial intelligence system is used more and more, the recognition speed improves and the user's manner can be more accurately understood, so that the existing rule-based intelligent system is gradually replaced by a deep learning-based artificial intelligence system.

[4] Технология искусственного интеллекта может включать в себя машинное обучение (например, глубокое обучение) и элементные технологии, использующие машинное обучение.[4] Artificial intelligence technology may include machine learning (eg, deep learning) and elemental technologies using machine learning.

[5] Машинное обучение может включать в себя алгоритмическую технологию классификации/изучения отличительных признаков входных данных самостоятельно, а элементная технология может включать в себя технологию функций моделирования, таких как распознавание, принятие решения и т.п., человеческого мозга с помощью алгоритма машинного обучения, такого как глубокое бучение, или т.п., и может включать в себя технические области, такие как лингвистическое понимание, визуальное понимание, логическое рассуждение/прогнозирование, представление знания, управление движением и т.п.[5] Machine learning may include the algorithmic technology of classifying/learning the distinguishing features of input data by itself, and elemental technology may include the technology of modeling functions such as recognition, decision making, etc., of the human brain using a machine learning algorithm such as deep learning, or the like, and may include technical fields such as linguistic understanding, visual understanding, logical reasoning/prediction, knowledge representation, motion control, and the like.

[6] Различные области, к которым технология искусственного интеллекта может быть применена, являются следующими. Лингвистическое понимание может ссылаться на технологию распознавания и применения/обработки человеческих языков и может включать в себя обработку естественного языка, машинный перевод, диалоговую систему, вопрос-ответ, распознавание/синтез речи или т.п. Визуальное понимание может ссылаться на технологию распознавания и обработки предметов аналогично человеческому зрению и может включать в себя распознавание объекта, отслеживание объекта, поиск изображения, распознавание человека, понимание сцены, понимание пространства, улучшение изображения или т.п. Умозаключение/прогнозирование может ссылаться на технологию принятия решения и логического вывода и прогнозирования информации и может включать в себя умозаключение на основе знания/вероятности, прогнозирование оптимизации, планирование на основе предпочтения, рекомендацию или т.п. Представление знания может ссылаться на технологию автоматизации и обработки информации об опыте человека в качестве данных знания и может включать в себя конструирование знания (создание данных/классификацию), управление знанием (использование данных) или т.п. Управление движением может ссылаться на технологию управления самостоятельным движением транспортного средства и управление движением (навигацией, столкновением, вождением), управление манипулированием (управление поведением) или т.п.[6] The various fields to which artificial intelligence technology can be applied are as follows. Linguistic understanding may refer to human language recognition and application/processing technology, and may include natural language processing, machine translation, conversational system, question-answer, speech recognition/synthesis, or the like. Visual understanding may refer to object recognition and processing technology similar to human vision, and may include object recognition, object tracking, image search, person recognition, scene understanding, space understanding, image enhancement, or the like. Inference/prediction may refer to decision and inference and information prediction technology, and may include knowledge/probability based inference, optimization prediction, preference based planning, recommendation, or the like. The knowledge representation may refer to human experience automation and processing technology as knowledge data, and may include knowledge construction (data generation/classification), knowledge management (data exploitation), or the like. The motion control may refer to a vehicle self-driving control technology and motion control (navigation, collision, driving), manipulation control (behavior control), or the like.

[7] Между тем, традиционный способ обработки изображения может быть разделен на технологию без обучения и технологию на основе обучения. Технология без обучения имеет преимущество в том, что скорость обработки изображения является быстрой, но имеет проблему в том, что гибкая обработка изображения в зависимости от характеристик изображения является невозможной. Технология на основе обучения имеет преимущество в том, что гибкая обработка изображения является возможной, но имеет проблему в том, что обработка в реальном времени является затруднительной.[7] Meanwhile, the conventional image processing method can be divided into non-training technology and training-based technology. The technology without training has the advantage that the image processing speed is fast, but has the problem that flexible image processing depending on the characteristics of the image is not possible. The learning-based technology has the advantage that flexible image processing is possible, but has the problem that real-time processing is difficult.

[8] Например, рассмотрим случай увеличения разрешения изображения, способом интерполяции, который является характерным способом технологии без обучения, яркость пиксела, соответствующего позиции, в которой разрешение увеличивается, вычисляется с помощью фильтра, имеющего низкочастотные характеристики. Подробно, существует бикубический способ интерполяции на основе сплайна, способ передискретизации с помощью фильтра Ланцоша, сформированного посредством упрощения идеального низкочастотного фильтра (Sinc Kernel) или т.п. Такая технология без обучения показывает устойчивую характеристику увеличения изображения благодаря низкой сложности, но может не отражать предыдущую информацию, которой обладает только изображение, так что резкость края размывается, край является зазубренным, возникает ступенчатость или образование колец поблизости от края.[8] For example, consider the case of increasing the resolution of an image, by an interpolation method that is a characteristic method of technology without learning, the brightness of a pixel corresponding to a position at which the resolution is increased is calculated with a filter having low-pass characteristics. In detail, there is a spline-based bicubic interpolation method, a Lanczos filter resampling method formed by simplifying an ideal low-pass filter (Sinc Kernel), or the like. Such a non-training technique shows a stable image magnification performance due to low complexity, but may not reflect the previous information that only the image has, so that the edge sharpness is blurred, the edge is jagged, aliasing or ringing occurs near the edge.

[9] В качестве характерного способа технологии на основе обучения, существует способ непосредственного использования базы данных изображений с высоким качеством изображения для воссоздания, способ обучения и использования правила преобразования высокого разрешения для каждого классифицированного класса, способ обучения преобразования низкого разрешения/высокого разрешения в форме сквозного соответствия посредством сети глубокого обучения и увеличения изображения с помощью обученной сети во время увеличения изображения.[9] As a characteristic method of learning-based technology, there is a method of directly using a high-quality image database for reconstruction, a method of learning and using a high-resolution transform rule for each classified class, a method of learning a low-resolution/high-resolution transform in the form of an end-to-end matching through a deep learning network and zooming in using the trained network during image zooming.

[10] В технологиях на основе обучения уникальные характеристики сигнала изображения отражаются в обучении и используются во время увеличения изображения, и технологии на основе обучения могут, таким образом, воссоздавать резкий, незазубренный и гладкий край по сравнению со способами увеличения изображения без обучения. Однако, технологии на основе обучения подходят для прикладных задач, не требующих реального времени вследствие высокой сложности, но затруднительно применять технологии на основе обучения к устройствам, требующим реального времени, таким как телевизор (ТВ). Кроме того, затруднительно применять технологии на основе обучения к реализации системы на кристалле (SoC) для реализации в реальном времени.[10] In learning-based technologies, the unique characteristics of the image signal are reflected in training and used during image enlargement, and learning-based technologies can thus recreate a sharp, jagged, and smooth edge compared to non-trained image enlargement methods. However, learning-based technologies are suitable for non-real-time applications due to high complexity, but it is difficult to apply learning-based technologies to real-time devices such as a television set (TV). In addition, it is difficult to apply learning-based technologies to a system-on-a-chip (SoC) implementation for real-time implementation.

[11] Кроме того, технологии на основе обучения показывают отличную производительность относительно крайних компонентов, местные отличительные признаки которых являются ясными, но демонстрируют компоненты помех относительно плоской области, отличительный признак которой является неясным или показывает низкую характеристику на поверхности детального представления. Кроме того, технологии на основе обучения имеют проблему в том, что изображение может не быть увеличено относительно масштабирования без обучения.[11] In addition, learning-based technologies show excellent performance with respect to edge components whose local features are clear, but exhibit interference components relative to a flat region whose feature is unclear or shows poor performance on the detail surface. In addition, learning-based technologies have a problem in that an image may not be enlarged relative to zoom without learning.

[12] Следовательно, требовалось разработать технологию, способную выполнять гибкую обработку изображения и улучшать скорость обработки изображения.[12] Therefore, it was required to develop a technology capable of performing flexible image processing and improving image processing speed.

Сущность изобретенияThe essence of the invention

Техническая задачаTechnical task

[13] Примерные варианты осуществления настоящего изобретения устраняют вышеописанные недостатки и другие недостатки, неописанные выше.[13] Exemplary embodiments of the present invention overcome the disadvantages described above and other disadvantages not described above.

[14] Настоящее изобретение предоставляет электронное устройство, выполняющее обработку изображения на основе обучения в реальном времени, и способ управления им.[14] The present invention provides an electronic device performing image processing based on real-time learning and a method for controlling the same.

Решение задачиThe solution of the problem

[15] Согласно примерному аспекту настоящего изобретения, электронное устройство включает в себя: запоминающее устройство, сконфигурированное, чтобы хранить множество фильтров, каждый фильтр соответствует множеству шаблонов изображения; и процессор, сконфигурированный, чтобы классифицировать блок изображения, включающий в себя целевой пиксел и множество окружающих пикселов, в один из множества шаблонов изображения на основе соотношения между пикселами в блоке изображения и получать конечный блок изображения, в котором целевой пиксел обрабатывается в изображении посредством применения, по меньшей мере, одного фильтра, соответствующего классифицированному шаблону изображения, среди множества фильтров к блоку изображения, при этом множество фильтров получаются посредством изучения соотношения между множеством первых дискретных блоков изображения и множеством вторых дискретных блоков изображения, соответствующих множеству первых дискретных блоков изображения, посредством алгоритма искусственного интеллекта на основе каждого из множества шаблонов изображения.[15] According to an exemplary aspect of the present invention, the electronic device includes: a storage device configured to store a plurality of filters, each filter corresponding to a plurality of image patterns; and a processor configured to classify the image block including the target pixel and the plurality of surrounding pixels into one of the plurality of image templates based on the relationship between pixels in the image block, and obtain a final image block in which the target pixel is processed in the image by applying, of at least one filter corresponding to the classified image template, among the plurality of filters to the image block, wherein the plurality of filters are obtained by learning the relationship between the plurality of first discrete image blocks and the plurality of second discrete image blocks corresponding to the plurality of first discrete image blocks by means of an artificial intelligence based on each of the many image templates.

[16] Процессор может вычислять (определять) градиентный вектор из блока изображения, вычислять (определять) соответствия блока изображения каждому из множества индексных векторов на основе матрицы индексов, хранящейся в запоминающем устройстве и включающей в себя множество индексных векторов и градиентный вектор, и классифицировать блок изображения в один из множества шаблонов изображения на основе вычисленных (определенных) соответствий, и множество индексных векторов могут быть получены на основе множества дискретных градиентных векторов, вычисленных (определенных) из множества первых дискретных блоков изображения и соответствующих множеству шаблонов изображения, соответственно.[16] The processor may compute (determine) the gradient vector from the image block, calculate (determine) the image block matches each of the plurality of index vectors based on an index matrix stored in the memory including the plurality of index vectors and the gradient vector, and classify the block images into one of the plurality of image templates based on the calculated (determined) matches, and the plurality of index vectors can be obtained based on the plurality of discrete gradient vectors calculated (determined) from the plurality of first discrete image blocks and corresponding to the plurality of image templates, respectively.

[17] Процессор может вычислять градиентный вектор из блока изображения, когда интенсивность горизонтальной направленности блока изображения больше интенсивности вертикальной направленности блока изображения, и может транспонировать блок изображения и вычислять градиентный вектор из транспонированного блока изображения, когда интенсивность горизонтальной направленности блока изображения меньше интенсивности вертикальной направленности блока изображения.[17] The processor may compute a gradient vector from the image block when the image block's horizontal directivity intensity is greater than the image block's vertical directivity intensity, and may transpose the image block and compute a gradient vector from the transposed image block when the image block's horizontal directivity intensity is less than the vertical directivity intensity of the image block. Images.

[18] Процессор может уменьшать размер градиентного вектора с помощью собственного вектора, сохраненного в запоминающем устройстве, и вычислять соответствия блока изображения каждому из множества индексных векторов на основе градиентного вектора, размер которого уменьшен, и собственный вектор может быть создан посредством применения анализа основных компонентов из множества дискретных градиентных векторов.[18] The processor may reduce the size of the gradient vector with the eigenvector stored in the memory, and compute image block mappings to each of the plurality of index vectors based on the reduced gradient vector, and the eigenvector may be created by applying principal component analysis from sets of discrete gradient vectors.

[19] Процессор может вычислять первое соответствие блока изображения каждой из множества групп индексных векторов на основе первой матрицы индексов, хранящейся в запоминающем устройстве, и градиентного вектора, получать одну из множества групп индексных векторов на основе первого соответствия, вычислять второе соответствие блока изображения каждому из множества индексных векторов, включенных в полученную группу индексных векторов, на основе второй матрицы индексов, соответствующей полученной группе индексных векторов, среди множества вторых матриц индексов, сохраненных в запоминающем устройстве, и градиентного вектора, и получать конечный блок изображения посредством применения, по меньшей мере, одного из множества фильтров к блоку изображения на основе второго соответствия, множество групп индексных векторов могут быть получены посредством деления множества индексных векторов на предварительно определенное число групп, первая матрица индексов может включать в себя индексные векторы, представляющие каждую из множества групп индексных векторов, и каждая из множества вторых матриц индексов может включать в себя множество индексных векторов, соответствующих каждой из множества групп индексных векторов.[19] The processor may calculate a first image block correspondence to each of the plurality of index vector groups based on the first index matrix stored in the memory and the gradient vector, obtain one of the plurality of index vector groups based on the first correspondence, calculate a second image block correspondence to each of a plurality of index vectors included in the obtained index vector group, based on a second index matrix corresponding to the obtained index vector group, among a plurality of second index matrices stored in the memory and a gradient vector, and obtain a final image block by applying at least one of the plurality of filters to the image block based on the second match, the plurality of index vector groups may be obtained by dividing the plurality of index vectors into a predetermined number of groups, the first index matrix may include index vectors, n representing each of the plurality of index vector groups, and each of the plurality of second index matrices may include a plurality of index vectors corresponding to each of the plurality of index vector groups.

[20] Процессор может получать один из множества индексных векторов, включенных в полученную группу индексных векторов, на основе второго соответствия, получать, по меньшей мере, один дополнительный индексный вектор, включенный в другие из множества групп индексных векторов и соответствующий полученному индексному вектору, на основе аналогичной информации индексного вектора, сохраненной в запоминающем устройстве, вычислять третье соответствие блока изображения на основе полученного индексного вектора, полученного дополнительного индексного вектора и градиентного вектора и получать конечный блок изображения посредством применения, по меньшей мере, одного из множества фильтров к блоку изображения на основе третьего соответствия.[20] The processor can obtain one of the plurality of index vectors included in the obtained index vector group, based on the second match, obtain at least one additional index vector included in the others of the plurality of index vector groups and corresponding to the obtained index vector, on based on the same index vector information stored in the memory, compute a third image block match based on the obtained index vector, the obtained additional index vector, and the gradient vector, and obtain a final image block by applying at least one of the plurality of filters to the image block based on third match.

[21] Процессор может получать, по меньшей мере, два из множества фильтров на основе множества вычисленных соответствий, вычислять конечный фильтр на основе, по меньшей мере, двух фильтров и соответствий, соответствующих каждому, по меньшей мере, из двух фильтров, и получать конечный блок изображения посредством применения вычисленного конечного фильтра к блоку изображения.[21] The processor may obtain at least two of the plurality of filters based on the plurality of calculated matches, calculate the final filter based on at least two filters and the matches corresponding to each of the at least two filters, and obtain the final the image block by applying the computed final filter to the image block.

[22] Множество первых дискретных блоков изображения могут быть изображениями, в которых разрешения соответствующих вторых дискретных блоков изображения являются уменьшенными, соответственно, и процессор может получать конечный блок изображения, в котором разрешение целевого пиксела увеличивается посредством применения, по меньшей мере, одного из множества фильтров к блоку изображения.[22] The plurality of first discrete image blocks may be images in which the resolutions of the respective second discrete image blocks are reduced, respectively, and the processor may obtain a final image block in which the resolution of the target pixel is increased by applying at least one of the plurality of filters. to the image block.

[23] Процессор может получать дополнительный блок изображения, в котором разрешение целевого пиксела укрупняется посредством применения технологии увеличения разрешения без обучения к блоку изображения, и обновлять конечный блок изображения на основе наибольшего соответствия из множества вычисленных соответствий и дополнительного блока изображения.[23] The processor may obtain an additional image block in which the resolution of the target pixel is upscaled by applying a learningless resolution upscaling technique to the image block, and update the final image block based on the best match of the set of calculated matches and the additional image block.

[24] Процессор может вычислять горизонтальные градиенты и вертикальные градиенты для целевого пиксела и каждого из множества окружающих пикселов и вычислять градиентный вектор на основе горизонтальных градиентов и вертикальных градиентов.[24] The processor may calculate horizontal gradients and vertical gradients for the target pixel and each of the plurality of surrounding pixels, and calculate a gradient vector based on the horizontal gradients and vertical gradients.

[25] Каждый из множества фильтров может быть получен посредством получения множества первых субдискретных блоков изображения, соответствующих одному из множества индексных векторов, среди множества первых дискретных блоков изображения, получения множества вторых субдискретных блоков изображения, соответствующих множеству первых субдискретных блоков изображения, среди множества вторых дискретных блоков изображения, и изучение соотношения между множеством первых субдискретных блоков изображения и множеством вторых субдискретных блоков изображения посредством алгоритма искусственного интеллекта.[25] Each of the plurality of filters can be obtained by obtaining a plurality of first subsample image blocks corresponding to one of the plurality of index vectors, among the plurality of first discrete image blocks, obtaining a plurality of second subsample image blocks corresponding to the plurality of first subsample image blocks, among the plurality of second discrete image blocks, and learning the relationship between the plurality of first sub-sample image blocks and the plurality of second sub-sample image blocks by an artificial intelligence algorithm.

[26] Согласно другому примерному аспекту настоящего изобретения способ для управления электронным устройством включает в себя: классификацию блока изображения, включающего в себя целевой пиксел и множество окружающих пикселов, в один из множества шаблонов изображения на основе соотношения между пикселами в блоке изображения; и получение конечного блока изображения, в котором целевой пиксел обрабатывается в изображении посредством применения, по меньшей мере, одного фильтра, соответствующего классифицированному шаблону изображения, среди множества фильтров, каждый из которых соответствует множеству шаблонов изображения, к блоку изображения, при этом множество фильтров получаются посредством изучения соотношения между множеством первых дискретных блоков изображения и множеством вторых дискретных блоков изображения, соответствующих множеству первых дискретных блоков изображения, посредством алгоритма искусственного интеллекта на основе каждого из множества шаблонов изображения.[26] According to another exemplary aspect of the present invention, a method for controlling an electronic device includes: classifying an image block including a target pixel and a plurality of surrounding pixels into one of a plurality of image templates based on a relationship between pixels in the image block; and obtaining a final image block in which the target pixel is processed in the image by applying at least one filter corresponding to the classified image template, among the plurality of filters, each corresponding to the plurality of image templates, to the image block, wherein the plurality of filters are obtained by studying the relationship between the plurality of first discrete image blocks and the plurality of second discrete image blocks corresponding to the plurality of first discrete image blocks by an artificial intelligence algorithm based on each of the plurality of image templates.

[27] Классификация может включать в себя: вычисление (определение) градиентного вектора из блока изображения; вычисление (определение) соответствий блока изображения каждому из множества индексных векторов на основе матрицы индексов, включающей в себя множество индексных векторов, и градиентного вектора; и классификацию блока изображения в один из множества шаблонов изображения на основе вычисленных (определенных) соответствий, и множество индексных векторов могут быть получены на основе множества дискретных градиентных векторов, вычисленных из множества первых дискретных блоков изображения и соответствующих множеству шаблонов изображения, соответственно.[27] The classification may include: calculating (determining) a gradient vector from an image block; calculating (determining) correspondences of the image block to each of the plurality of index vectors based on an index matrix including the plurality of index vectors and the gradient vector; and classifying the image block into one of the plurality of image templates based on the calculated (determined) matches, and the plurality of index vectors can be obtained based on the plurality of discrete gradient vectors calculated from the plurality of first discrete image blocks and corresponding to the plurality of image templates, respectively.

[28] При вычислении градиентного вектора градиентный вектор может быть вычислен из блока изображения, когда интенсивность горизонтальной направленности блока изображения больше интенсивности вертикальной направленности блока изображения, и блок изображения может быть транспонирован, и градиентный вектор может быть вычислен из транспонированного блока изображения, когда интенсивность горизонтальной направленности блока изображения меньше интенсивности вертикальной направленности блока изображения.[28] When calculating the gradient vector, the gradient vector can be calculated from the image block when the intensity of the horizontal directivity of the image block is greater than the intensity of the vertical directivity of the image block, and the image block can be transposed, and the gradient vector can be calculated from the transposed image block when the intensity of the horizontal directionality of the image block is less than the intensity of the vertical directionality of the image block.

[29] Способ может дополнительно включать в себя уменьшение размера градиентного вектора с помощью собственного вектора, при этом, в вычислении соответствий, соответствия блока изображения каждому из множества индексных векторов вычисляются на основе градиентного вектора, размер которого уменьшен, и собственный вектор создается посредством применения анализа основных компонентов из множества дискретных градиентных векторов.[29] The method may further include reducing the size of the gradient vector with an eigenvector, wherein, in the correspondence calculation, the image block's correspondences to each of the plurality of index vectors are calculated based on the gradient vector whose size is reduced, and the eigenvector is generated by applying analysis principal components from a set of discrete gradient vectors.

[30] Вычисление соответствий может включать в себя: вычисление первого соответствия блока изображения каждой из множества групп индексных векторов на основе первой матрицы индексов и градиентного вектора; получение одной из множества групп индексных векторов на основе первого соответствия; вычисление второго соответствия блока изображения каждому из множества индексных векторов, включенных в полученную группу индексных векторов, на основе второй матрицы индексов, соответствующей полученной группе индексных векторов, среди множества вторых матриц индексов и градиентного вектора; и получение конечного блока изображения, конечный блок изображения получается посредством применения, по меньшей мере, одного из множества фильтров к блоку изображения на основе второго соответствия, множество групп индексных векторов могут быть получены посредством деления множества индексных векторов на предварительно определенное число групп, первая матрица индексов может включать в себя индексные векторы, представляющие каждую из множества групп индексных векторов, и каждая из множества вторых матриц индексов может включать в себя множество индексных векторов, соответствующих каждой из множества групп индексных векторов.[30] Computing the correspondences may include: calculating a first correspondence of the image block to each of the plurality of index vector groups based on the first index matrix and the gradient vector; obtaining one of the plurality of index vector groups based on the first match; calculating a second correspondence of the image block to each of the plurality of index vectors included in the obtained index vector group, based on the second index matrix corresponding to the obtained index vector group, among the plurality of second index matrices and the gradient vector; and obtaining the final image block, the final image block is obtained by applying at least one of the plurality of filters to the image block based on the second match, the plurality of index vector groups can be obtained by dividing the plurality of index vectors into a predetermined number of groups, the first index matrix may include index vectors representing each of the plurality of index vector groups, and each of the plurality of second index matrices may include a plurality of index vectors corresponding to each of the plurality of index vector groups.

[31] Вычисление соответствий может включать в себя: получение одного из множества индексных векторов, включенных в полученную группу индексных векторов, на основе второго соответствия; получение, по меньшей мере, одного дополнительного индексного вектора, включенного в другие из множества групп индексных векторов и соответствующего полученному индексному вектору, на основе аналогичной информации индексного вектора; и вычисление третьего соответствия блока изображения на основе полученного индексного вектора, полученного дополнительного индексного вектора и градиентного вектора, и, при получении конечного блока изображения, конечный блок изображения может быть получен посредством применения, по меньшей мере, одного из множества фильтров к блоку изображения на основе третьего соответствия.[31] Computing matches may include: deriving one of a plurality of index vectors included in the obtained index vector group based on a second match; obtaining at least one additional index vector included in others of the plurality of index vector groups and corresponding to the obtained index vector based on the same index vector information; and calculating a third image block match based on the obtained index vector, the obtained additional index vector, and the gradient vector, and, upon obtaining the final image block, the final image block can be obtained by applying at least one of the plurality of filters to the image block based on third match.

[32] Получение конечного блока изображения может включать в себя: получение, по меньшей мере, двух из множества фильтров на основе множества вычисленных соответствий; вычисление конечного фильтра на основе, по меньшей мере, двух фильтров и соответствий, соответствующих каждому, по меньшей мере, из двух фильтров; и получение конечного блока изображения посредством применения вычисленного конечного фильтра к блоку изображения.[32] Obtaining a final image block may include: obtaining at least two of the plurality of filters based on the plurality of computed matches; calculating a final filter based on the at least two filters and the matches corresponding to each of the at least two filters; and obtaining a final image block by applying the computed final filter to the image block.

[33] Множество первых дискретных блоков изображения могут быть изображениями, в которых разрешения соответствующих вторых дискретных блоков изображения являются уменьшенными, соответственно, и при получении конечного блока изображения конечный блок изображения, в котором разрешение целевого пиксела является увеличенным, может быть получено посредством применения, по меньшей мере, одного из множества фильтров к блоку изображения.[33] The plurality of first discrete image blocks may be images in which the resolutions of the respective second discrete image blocks are reduced, respectively, and when obtaining the final image block, the final image block in which the resolution of the target pixel is increased can be obtained by applying, by at least one of the plurality of filters to the image block.

[34] Способ может дополнительно включать в себя: получение дополнительного блока изображения, в котором разрешение целевого пиксела увеличивается посредством применения технологии увеличения разрешения без обучения к блоку изображения; и обновление конечного блока изображения на основе наибольшего соответствия из множества вычисленных соответствий и дополнительного блока изображения.[34] The method may further include: obtaining an additional image block in which the resolution of the target pixel is increased by applying a learningless resolution increasing technique to the image block; and updating the final image block based on the highest match of the set of calculated matches and the additional image block.

[35] При вычислении градиентного вектора горизонтальные градиенты и вертикальные градиенты для целевого пиксела и каждый из множества окружающих пикселов могут быть вычислены, и градиентный вектор может быть вычислен на основе горизонтальных градиентов и вертикальных градиентов.[35] When calculating the gradient vector, horizontal gradients and vertical gradients for the target pixel and each of the plurality of surrounding pixels can be calculated, and the gradient vector can be calculated based on the horizontal gradients and vertical gradients.

[36] Каждый из множества фильтров может быть получен посредством получения множества первых субдискретных блоков изображения, соответствующих одному из множества индексных векторов, среди множества первых дискретных блоков изображения, получения множества вторых субдискретных блоков изображения, соответствующих множеству первых субдискретных блоков изображения, среди множества вторых дискретных блоков изображения, и изучения соотношения между множеством первых субдискретных блоков изображения и множеством вторых субдискретных блоков изображения посредством алгоритма искусственного интеллекта.[36] Each of the plurality of filters can be obtained by obtaining a plurality of first subsample image blocks corresponding to one of the plurality of index vectors, among the plurality of first discrete image blocks, obtaining a plurality of second subsample image blocks corresponding to the plurality of first subsample image blocks, among the plurality of second discrete image blocks, and learning the relationship between the plurality of first sub-sample image blocks and the plurality of second sub-sample image blocks by an artificial intelligence algorithm.

Полезные результаты изобретенияUseful results of the invention

[37] Согласно различным примерным вариантам осуществления настоящего изобретения, как описано выше, электронное устройство может выполнять обработку изображения в реальном времени и, таким образом, использоваться в различных прикладных задачах и может улучать качество обработки изображения по сравнению с обработкой изображения без обучения посредством выполнения обработки изображения на основе обучения.[37] According to various exemplary embodiments of the present invention, as described above, an electronic device can perform real-time image processing and thus be used in various applications, and can improve image processing quality compared to image processing without training by performing processing images based learning.

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

[38] Вышеописанные и/или другие аспекты, отличительные признаки и сопутствующие преимущества настоящего изобретения будут более очевидны и легко понятны из последующего подробного описания, взятого вместе с сопровождающими чертежами, на которых аналогичные ссылочные номера ссылаются на аналогичные элементы, и на которых:[38] The foregoing and/or other aspects, features and accompanying advantages of the present invention will be more apparent and easily understood from the following detailed description taken in conjunction with the accompanying drawings, in which like reference numerals refer to like elements, and in which:

[39] Фиг. 1A является блок-схемой, иллюстрирующей компоненты примерного электронного устройства согласно примерному варианту осуществления настоящего изобретения;[39] FIG. 1A is a block diagram illustrating components of an exemplary electronic device according to an exemplary embodiment of the present invention;

[40] Фиг. 1B является блок-схемой, иллюстрирующей пример компонентов электронного устройства;[40] FIG. 1B is a block diagram illustrating an example of the components of an electronic device;

[41] Фиг. 2 является схемой, иллюстрирующей примерные операции процессора согласно примерному варианту осуществления настоящего изобретения;[41] FIG. 2 is a diagram illustrating exemplary operations of a processor according to an exemplary embodiment of the present invention;

[42] Фиг. 3A, 3B, 3C, 3D и 3E являются схемами, иллюстрирующими примерный способ принятия решения о направленности блока изображения и создания градиентного вектора согласно примерному варианту осуществления настоящего изобретения;[42] FIG. 3A, 3B, 3C, 3D and 3E are diagrams illustrating an exemplary method for deciding on the directionality of an image block and generating a gradient vector according to an exemplary embodiment of the present invention;

[43] Фиг. 4A и 4B являются схемами, иллюстрирующими примерное уменьшение размера отличительного признака градиентного вектора согласно примерному варианту осуществления настоящего изобретения;[43] FIG. 4A and 4B are diagrams illustrating an exemplary size reduction of a gradient vector feature according to an exemplary embodiment of the present invention;

[44] Фиг. 5A и 5B являются схемами, иллюстрирующими примерный поиск фильтра с помощью матрицы индексов согласно примерному варианту осуществления настоящего изобретения;[44] FIG. 5A and 5B are diagrams illustrating an exemplary filter search with an index matrix according to an exemplary embodiment of the present invention;

[45] Фиг. 6A, 6B и 6C являются схемами, иллюстрирующими примерный способ уменьшения объема вычислений для поиска фильтра согласно примерному варианту осуществления настоящего изобретения;[45] FIG. 6A, 6B, and 6C are diagrams illustrating an exemplary method for reducing the amount of computation for filter search according to an exemplary embodiment of the present invention;

[46] Фиг. 7A и 7B являются схемами, иллюстрирующими примерный способ уменьшения объема вычислений для поиска фильтра согласно другому примерному варианту осуществления настоящего изобретения;[46] FIG. 7A and 7B are diagrams illustrating an exemplary computational reduction method for filter search according to another exemplary embodiment of the present invention;

[47] Фиг. 8A и 8B являются схемами, иллюстрирующими примерный способ применения фильтра к блоку изображения согласно примерному варианту осуществления настоящего изобретения;[47] FIG. 8A and 8B are diagrams illustrating an exemplary method for applying a filter to an image block according to an exemplary embodiment of the present invention;

[48] Фиг. 9A и 9B являются схемами, иллюстрирующими примерный способ обучения для фильтра согласно примерному варианту осуществления настоящего изобретения;[48] FIG. 9A and 9B are diagrams illustrating an exemplary training method for a filter according to an exemplary embodiment of the present invention;

[49] Фиг. 10 является блок-схемой последовательности операций, иллюстрирующей примерную операцию потоковой передачи согласно примерному варианту осуществления настоящего изобретения; и[49] FIG. 10 is a flowchart illustrating an exemplary streaming operation according to an exemplary embodiment of the present invention; and

[50] Фиг. 11 является блок-схемой последовательности операций, иллюстрирующей примерный способ управления электронным устройством согласно примерному варианту осуществления настоящего изобретения.[50] FIG. 11 is a flowchart illustrating an exemplary method for controlling an electronic device according to an exemplary embodiment of the present invention.

Оптимальный режим осуществления изобретенияOptimal Mode for Carrying Out the Invention

[51] Режим осуществления изобретения[51] Mode of carrying out the invention

[52] Различные примерные варианты осуществления настоящего изобретения могут быть различным образом модифицированы. Соответственно, конкретные примерные варианты осуществления иллюстрируются на чертежах и описываются подробно в описании изобретения. Однако, следует понимать, что настоящее изобретение не ограничивается конкретным примерным вариантом осуществления, но включает в себя все модификации, эквиваленты и замены без отступления от рамок и духа настоящего изобретения. Также, хорошо известные функции или конструкции могут не описываться подробно, когда они запутывают описание изобретения ненужными подробностями.[52] Various exemplary embodiments of the present invention may be modified in various ways. Accordingly, specific exemplary embodiments are illustrated in the drawings and described in detail in the specification. However, it should be understood that the present invention is not limited to the specific exemplary embodiment, but includes all modifications, equivalents, and substitutions without departing from the scope and spirit of the present invention. Also, well-known functions or constructions may not be described in detail when they confuse the description of the invention with unnecessary detail.

[53] Далее в данном документе различные варианты осуществления настоящего изобретения будут описаны более подробно со ссылкой на сопровождающие чертежи.[53] Hereinafter, various embodiments of the present invention will be described in more detail with reference to the accompanying drawings.

[54] Фиг. 1A является блок-схемой, иллюстрирующей примерные компоненты электронного устройства 100 согласно примерному варианту осуществления настоящего изобретения. Как иллюстрировано на фиг. 1A, электронное устройство 100 включает в себя запоминающее устройство 110 и процессор (например, включающий в себя схему обработки) 120.[54] FIG. 1A is a block diagram illustrating exemplary components of an electronic device 100 according to an exemplary embodiment of the present invention. As illustrated in FIG. 1A, electronic device 100 includes a memory 110 and a processor (eg, including processing circuitry) 120.

[55] Электронное устройство 100 может быть устройством, выполняющим обработку изображения. Например, электронное устройство 100 может быть устройством, выполняющим обработку изображения на основе данных, изученных посредством алгоритма искусственного интеллекта. Например, электронное устройство 100 может, например, и без ограничения, быть настольным персональным компьютером (PC), переносным компьютером, смартфоном, планшетным PC, сервером, холодильником, стиральной машиной, вывеской или т.п. Кроме того, электронное устройство 100 может, например, и без ограничения, быть самой системой, в которой конфигурируется облачная вычислительная среда. Однако, электронное устройство 100 не ограничивается этим, но может быть устройством, которое может выполнять обработку изображения.[55] The electronic device 100 may be an image processing device. For example, the electronic device 100 may be a device that performs image processing based on data learned by an artificial intelligence algorithm. For example, the electronic device 100 may, for example, and without limitation, be a desktop personal computer (PC), a laptop computer, a smartphone, a tablet PC, a server, a refrigerator, a washing machine, a sign, or the like. In addition, the electronic device 100 may, for example and without limitation, be the system itself in which the cloud computing environment is configured. However, the electronic device 100 is not limited to this, but may be a device that can perform image processing.

[56] Запоминающее устройство 110 может хранить множество фильтров, соответствующих каждому из множества шаблонов изображения. Здесь, множество шаблонов изображения могут быть классифицированы в зависимости от характеристик изображения. Например, первый шаблон изображения может быть шаблоном изображения, имеющим множество линий в горизонтальном направлении, а второй шаблон изображения может быть шаблоном изображения, имеющим множество линий в направлении вращения.[56] The memory 110 may store a plurality of filters corresponding to each of the plurality of image templates. Here, a plurality of image patterns can be classified depending on the characteristics of the image. For example, the first image template may be an image template having a plurality of lines in a horizontal direction, and the second image template may be an image template having a plurality of lines in a rotation direction.

[57] Запоминающее устройство 110 может дополнительно хранить матрицу индексов, включающую в себя множество индексных векторов. Множество индексных векторов может быть получено на основе множества дискретных градиентных векторов, вычисленных (определенных) из множества первых дискретных блоков изображения, и может соответствовать множеству шаблонов изображения, соответственно. Множество фильтров может быть получено посредством изучения соотношения между множеством первых дискретных блоков изображения и множеством вторых дискретных блоков изображения, соответствующих множеству первых дискретных блоков изображения, посредством алгоритма искусственного интеллекта на основе каждого из множества индексных векторов.[57] The memory 110 may further store an index matrix including a plurality of index vectors. A plurality of index vectors may be derived based on a plurality of discrete gradient vectors calculated (determined) from a plurality of first discrete image blocks, and may correspond to a plurality of image templates, respectively. A plurality of filters can be obtained by learning a relationship between a plurality of first discrete image blocks and a plurality of second discrete image blocks corresponding to the plurality of first discrete image blocks by an artificial intelligence algorithm based on each of the plurality of index vectors.

[58] Множество индексных векторов и множество фильтров могут быть созданы внешним сервером вместо электронного устройства 100. Однако, множество индексных векторов и множество фильтров не ограничиваются этим, но могут также быть созданы электронным устройством 100. В этом случае, запоминающее устройство 110 может хранить множество первых дискретных блоков изображения и множество вторых дискретных блоков изображения.[58] The index vector plurality and the filter plurality may be created by the external server instead of the electronic device 100. However, the index vector plurality and the filter plurality may also be created by the electronic device 100. In this case, the storage device 110 may store a plurality of first discrete image blocks; and a plurality of second discrete image blocks.

[59] Способ создания градиентных векторов, множество индексных векторов и множество фильтров описывается ниже.[59] A method for generating gradient vectors, a plurality of index vectors, and a plurality of filters are described below.

[60] Запоминающее устройство 110 может хранить, по меньшей мере, один блок изображения. Запоминающее устройство 110 может хранить множество первых дискретных блоков изображения и множество вторых дискретных блоков изображения. Кроме того, запоминающее устройство 110 может хранить фильтр без обучения, и вид запоминающего устройства не ограничивается.[60] The storage device 110 may store at least one image block. Memory 110 may store a plurality of first discrete image blocks and a plurality of second discrete image blocks. In addition, the memory 110 can store the filter without learning, and the kind of the memory is not limited.

[61] Запоминающее устройство 110 может, например, и без ограничения, быть реализовано посредством жесткого диска, энергонезависимой памяти, энергозависимой памяти или т.п. и может быть любым компонентом, который может хранить данные.[61] The storage device 110 may, for example, and without limitation, be implemented by a hard disk, non-volatile memory, volatile memory, or the like. and can be any component that can store data.

[62] Процессор 120 может включать в себя различные схемы обработки и, в целом, управляет работой электронного устройства 100.[62] The processor 120 may include various processing circuits and generally controls the operation of the electronic device 100.

[63] Согласно примерному варианту осуществления, процессор 120 может быть реализован, например, и без ограничения, посредством цифрового сигнального процессора (DSP), микропроцессора и/или временного контроллера (TCON) или т.п. Однако, процессор 120 не ограничивается этим, а может включать в себя, например, и без ограничения, один или более из специализированного процессора, центрального процессора (CPU), микроконтроллерного блока (MCU), микропроцессора (MPU), контроллера, прикладного процессора (AP), процессора связи (CP), ARM-процессора и/или может быть определен этими терминами, или т.п. Кроме того, процессор 120 может быть реализован посредством системы на кристалле (SoC) или большой интегральной схемы (LSI), в которую внедрен алгоритм обработки, и/или может быть реализован в форме программируемой пользователем вентильной матрицы (FPGA).[63] According to an exemplary embodiment, processor 120 may be implemented, for example, and without limitation, by a digital signal processor (DSP), a microprocessor and/or a timing controller (TCON), or the like. However, the processor 120 is not limited to this, but may include, for example and without limitation, one or more of a dedicated processor, a central processing unit (CPU), a microcontroller unit (MCU), a microprocessor (MPU), a controller, an application processor (AP ), a communications processor (CP), an ARM processor and/or may be defined by these terms, or the like. In addition, processor 120 may be implemented by a system on a chip (SoC) or large scale integrated circuit (LSI) in which a processing algorithm is embedded, and/or may be implemented in the form of a field programmable gate array (FPGA).

[64] Процессор 120 может принимать блок изображения, включающий в себя целевой пиксел и множество окружающих пикселов, вводимый с внешнего сервера. В этом случае, процессор 120 может сохранять блок изображения в запоминающем устройстве 110. Процессор 120 может считывать блок изображения, сохраненный в запоминающем устройстве 110. Процессор 120 может считывать блок изображения, имеющий предварительно определенный размер, из кадра изображения, сохраненного в запоминающем устройстве 110. Например, процессор 120 может считывать первый блок изображения 3 × 3 для левого верхнего края кадра изображения и может обрабатывать изображение первого блока изображения. Кроме того, процессор 120 может считывать второй блок изображения 3 × 3, перемещенный вправо от левого верхнего края кадра изображения на единичный пиксел, и может обрабатывать изображение второго блока изображения. Таким образом, процессор 120 может выполнять обработку изображения по всему кадру изображения.[64] The processor 120 may receive an image block including a target pixel and a plurality of surrounding pixels input from an external server. In this case, processor 120 may store an image block in memory 110. Processor 120 may read an image block stored in memory 110. Processor 120 may read an image block having a predetermined size from an image frame stored in memory 110. For example, processor 120 may read the first 3×3 image block for the upper left edge of the image frame and may process the image of the first image block. In addition, the processor 120 may read the second 3×3 image block moved to the right from the upper left edge of the image frame by a single pixel, and may process the image of the second image block. Thus, processor 120 can perform image processing over the entire image frame.

[65] Целевой пиксел может быть пикселом, который становится целью фильтрации, которая должна быть описана ниже. Т.е., целевой пиксел может быть отфильтрован на основе значений пикселов для множества окружающих пикселов.[65] The target pixel may be the pixel that becomes the target of the filtering to be described below. That is, the target pixel may be filtered based on pixel values for a plurality of surrounding pixels.

[66] Процессор 120 может классифицировать блок изображения, включающий в себя целевой пиксел и множество окружающих пикселов в один из множества шаблонов изображения на основе соотношения между пикселами в блоке изображения. Например, когда различие между значениями пикселов для пикселов, соседних друг с другом в горизонтальном направлении, меньше различия между значениями пикселов для пикселов, соседних друг с другом в вертикальном направлении, процессор 120 может классифицировать блок изображения в шаблон изображения, имеющий характеристики вертикального направления.[66] Processor 120 may classify an image block including a target pixel and a plurality of surrounding pixels into one of a plurality of image templates based on a relationship between pixels in the image block. For example, when the difference between pixel values for pixels adjacent to each other in the horizontal direction is smaller than the difference between pixel values for pixels adjacent to each other in the vertical direction, processor 120 may classify the image block into an image template having vertical direction characteristics.

[67] Однако, настоящее изобретение не ограничивается этим, и процессор 120 может также получать соотношение между пикселами в блоке изображения в зависимости от различных способов.[67] However, the present invention is not limited to this, and the processor 120 may also obtain a ratio between pixels in an image block depending on various methods.

[68] Кроме того, процессор 120 может получать конечный блок изображения, в котором целевой пиксел обрабатывается в изображении посредством применения, по меньшей мере, одного фильтра, соответствующего классифицированному шаблону изображения, среди множества фильтров к блоку изображения.[68] In addition, the processor 120 can obtain a final image block in which a target pixel is processed in the image by applying at least one filter corresponding to the classified image template among the plurality of filters to the image block.

[69] В качестве другого примера для классификации блока изображения процессор 120 может вычислять (определять) градиентный вектор из блока изображения. Например, процессор 120 может вычислять горизонтальные градиенты и вертикальные градиенты для целевого пиксела и каждого из множества окружающих пикселов и вычислять градиентный вектор на основе горизонтальных градиентов и вертикальных градиентов. Градиентный вектор может указывать величины изменения для пикселов, существующих в предварительно определенном направлении в отношении каждого пиксела. Т.е., характеристики блока изображения могут быть обнаружены посредством градиентного вектора.[69] As another example, to classify an image block, processor 120 may compute (determine) a gradient vector from an image block. For example, processor 120 may calculate horizontal gradients and vertical gradients for the target pixel and each of the plurality of surrounding pixels, and calculate a gradient vector based on the horizontal gradients and vertical gradients. The gradient vector may indicate change amounts for pixels existing in a predetermined direction with respect to each pixel. That is, the characteristics of the image block can be detected by the gradient vector.

[70] Например, процессор 120 может вычислять горизонтальный градиент и вертикальный градиент для блока изображения 3 × 3 с помощью оператора Собела. Каждый из горизонтального градиента и вертикального градиента может включать в себя девять элементов, и процессор 120 может размещать элементы каждого из горизонтального градиента и вертикального градиента в предварительно определенной последовательности и преобразовывать элементы в векторную форму. Предварительно определенная последовательность может быть задана различными способами. Однако, предварительно определенная последовательность может быть такой же, что и последовательность для вычисления градиентного вектора в процессе создания множества индексных векторов и множества фильтров, которые должны быть описаны ниже.[70] For example, processor 120 may compute a horizontal gradient and a vertical gradient for a 3×3 image block using the Sobel operator. Each of the horizontal gradient and vertical gradient may include nine elements, and the processor 120 may arrange the elements of each of the horizontal gradient and vertical gradient in a predetermined sequence and convert the elements into vector form. The predetermined sequence may be specified in various ways. However, the predetermined sequence may be the same as the sequence for calculating the gradient vector in the process of creating the index vector set and the filter set, which will be described below.

[71] Процессор 120 может вычислять градиентный вектор блока изображения посредством различных способов в дополнение к оператору Собела, и различные способы особенно не ограничиваются. В дополнение к горизонтальным и вертикальным градиентным векторам, градиентный вектор, имеющий другой угол, может быть вычислен, и любой способ может быть использован, пока градиентный вектор вычисляется посредством того же способа, что и способ, используемый в процессе создания множества индексных векторов и множества фильтров, которые должны быть описаны ниже. Далее в данном документе, случай, в котором градиентный вектор c × 1 вычисляется, описывается для удобства объяснения. Здесь, c может изменяться в зависимости от размера блока изображения.[71] The processor 120 may calculate the image block gradient vector by various methods in addition to the Sobel operator, and the various methods are not particularly limited. In addition to the horizontal and vertical gradient vectors, a gradient vector having a different angle can be calculated, and any method can be used, as long as the gradient vector is calculated by the same method as the method used in the process of creating the index vector set and the filter set. which should be described below. Hereinafter, the case in which the gradient vector c × 1 is calculated is described for the convenience of explanation. Here, c may vary depending on the size of the image block.

[72] Процессор 120 может вычислять соответствия блока изображения каждому из множества индексных векторов на основе матрицы индексов, сохраненных в запоминающем устройстве 110, и градиентного вектора. Матрица индексов может включать в себя множество индексных векторов, и множество индексных векторов может быть получено на основе множества дискретных градиентных векторов, вычисленных из множества первых дискретных блоков изображения.[72] Processor 120 may calculate image block mappings to each of the plurality of index vectors based on the index matrix stored in memory 110 and the gradient vector. The index matrix may include a plurality of index vectors, and the plurality of index vectors may be derived based on the plurality of discrete gradient vectors computed from the plurality of first discrete image blocks.

[73] Например, в случае, в котором 1000000 дискретных градиентных векторов, вычисленных из 1000000 первых дискретных блоков изображения, делятся на группы для каждой из характеристик блока изображения, каждый из множества индексных векторов может быть вектором, представляющим каждую группу. Т.е., соответствия блока изображения каждому из множества индексных векторов могут означать сходства блока изображения с каждой из групп. Кроме того, блок изображения может считаться имеющим характеристики, аналогичные характеристикам группы, соответствующей наибольшему соответствию из соответствий.[73] For example, in a case where 1,000,000 discrete gradient vectors calculated from the first 1,000,000 discrete image blocks are divided into groups for each of the characteristics of the image block, each of the plurality of index vectors may be a vector representing each group. That is, the image block's correspondences to each of the plurality of index vectors may mean the similarities of the image block to each of the groups. In addition, an image block can be considered to have characteristics similar to those of the group corresponding to the highest match of the matches.

[74] Однако, это лишь пример, и число первых дискретных блоков изображения и число групп могут быть изменены. Кроме того, число групп может также быть изменено в зависимости от вида фильтра. Например, в случае увеличивающего разрешение фильтра, число групп равно a, но в случае фильтра повышения резкости число групп может не быть равно a.[74] However, this is only an example, and the number of first discrete image blocks and the number of groups can be changed. In addition, the number of groups can also be changed depending on the type of filter. For example, in the case of a resolution-enhancing filter, the number of groups is a, but in the case of a sharpening filter, the number of groups may not be a.

[75] Процессор 120 может получать конечный блок изображения, в котором целевой пиксел обрабатывается в изображении посредством применения, по меньшей мере, одного фильтра из множества фильтров к блоку изображения на основе вычисленных соответствий. Здесь, фильтр может быть увеличивающим разрешение фильтром, фильтром повышения резкости или т.п., но не ограничивается этим и может также быть любым фильтром, связанным с обработкой изображения.[75] Processor 120 may obtain a final image block in which a target pixel is processed in the image by applying at least one filter from a plurality of filters to the image block based on the computed matches. Here, the filter may be a resolution-enhancing filter, a sharpening filter, or the like, but is not limited to this, and may also be any filter associated with image processing.

[76] Кроме того, множество фильтров может быть получено посредством изучения соотношения между множеством первых дискретных блоков изображения и множеством вторых дискретных блоков изображения, соответствующих множеству первых дискретных блоков изображения, посредством алгоритма искусственного интеллекта на основе каждого из множества индексных векторов.[76] Further, the filter set can be obtained by learning the relationship between the first discrete image block plurality and the second discrete image block plurality corresponding to the first discrete image block plurality by an artificial intelligence algorithm based on each of the plurality of index vectors.

[77] Например, каждый из множества фильтров может быть получен посредством получения множества первых субдискретных блоков изображения, соответствующих одному из множества индексных векторов, среди множества первых дискретных блоков изображения, получения множества вторых субдискретных блоков изображения, соответствующих множеству первых субдискретных блоков изображения, среди множества вторых дискретных блоков изображения, и изучения соотношения между множеством первых субдискретных блоков изображения и множеством вторых субдискретных блоков изображения посредством алгоритма искусственного интеллекта.[77] For example, each of the plurality of filters can be obtained by obtaining a plurality of first subsample image blocks corresponding to one of the plurality of index vectors, among the plurality of first discrete image blocks, obtaining a plurality of second subsample image blocks corresponding to the plurality of first subsample image blocks, among the plurality of second discrete image blocks, and learning the relationship between the plurality of first sub-sample image blocks and the plurality of second sub-sample image blocks by an artificial intelligence algorithm.

[78] В примере, описанном выше, каждый из множества фильтров может, например, и без ограничения, быть увеличивающим разрешение фильтром, полученным посредством изучения характеристик изображения одной из групп посредством алгоритма искусственного интеллекта. В случае, в котором первые характеристики изображения представляются посредством первого индексного вектора, и первый фильтр, соответствующий первому индексному вектору, существует, и вторые характеристики изображения представляются посредством второго индексного вектора, и второй фильтр, соответствующий второму индексному вектору, существует, когда соответствие между блоком изображения и первыми характеристиками изображения является высоким, блок изображения может показывать более улучшенное качество в случае, в котором его разрешение увеличивается посредством первого фильтра, по сравнению со случаем, в котором его разрешение увеличивается посредством второго фильтра. Это обусловлено тем, что первый фильтр и второй фильтр являются фильтрами, обученные в качестве подходящих для первых характеристик изображения и вторых характеристик изображения, соответственно.[78] In the example described above, each of the plurality of filters may, for example and without limitation, be a resolution-enhancing filter obtained by examining the image characteristics of one of the groups by an artificial intelligence algorithm. In the case in which the first image features are represented by the first index vector, and the first filter corresponding to the first index vector exists, and the second image features are represented by the second index vector, and the second filter corresponding to the second index vector exists, when the correspondence between the block image and the first image characteristics is high, the image block can show more improved quality in the case in which its resolution is increased by the first filter compared to the case in which its resolution is increased by the second filter. This is because the first filter and the second filter are filters trained as suitable for the first image features and the second image features, respectively.

[79] Процессор 120 может вычислять градиентный вектор из блока изображения, когда интенсивность горизонтальной направленности блока изображения больше интенсивности вертикальной направленности блока изображения, и может транспонировать блок изображения и вычислять градиентный вектор из транспонированного блока изображения, когда интенсивность горизонтальной направленности блока изображения меньше интенсивности вертикальной направленности блока изображения.[79] Processor 120 may compute a gradient vector from the image block when the horizontal directivity intensity of the image block is greater than the vertical directivity intensity of the image block, and may transpose the image block and calculate a gradient vector from the transposed image block when the horizontal directivity intensity of the image block is less than the vertical directivity intensity. image block.

[80] Например, процессор 120 может транспонировать блок изображения, вертикальная направленность доминирует по отношению к блоку изображения, горизонтальная направленность является доминирующей, и вычислять градиентный вектор из блока изображения, горизонтальная направленность которого является доминирующей. В этом случае, число индексных векторов может быть уменьшено, и скорость вычисления может, таким образом, быть улучшена.[80] For example, processor 120 may transpose an image block whose vertical directionality is dominant with respect to an image block whose horizontal directionality is dominant, and compute a gradient vector from an image block whose horizontal directionality is dominant. In this case, the number of index vectors can be reduced and the calculation speed can thus be improved.

[81] Например, в случае, в котором блок изображения, имеющий горизонтальную направленность, делится на первые группы для каждой из характеристик изображения, блок изображения, имеющий вертикальную направленность, может также быть разделен на вторые группы для каждой из характеристик изображения. Следовательно, всего 2 × a групп может быть сформировано для каждой из характеристик изображения, и всего 2 × a индексных векторов может быть создано.[81] For example, in a case in which an image block having a horizontal directionality is divided into first groups for each of the image characteristics, an image block having a vertical directionality may also be divided into second groups for each of the image characteristics. Therefore, a total of 2×a groups can be generated for each of the image features, and a total of 2×a index vectors can be generated.

[82] Следовательно, в случае, в котором процессор 120 транспонирует блок изображения, вертикальная направленность которого является доминирующей, транспонированный блок изображения может иметь горизонтальную направленность и может быть включен в одну из первых групп. Т.е., процессор 120 может обрабатывать блок изображения, принадлежащий одной из вторых групп в одной из первых групп, посредством транспонирования блока изображения, вертикальная направленность которого является доминирующей, и может обрабатывать блок изображения, горизонтальная направленность которого является доминирующей в одной из первых групп, без транспонирования блока изображения, горизонтальная направленность которого является доминирующей. Следовательно, число индексных векторов может быть уменьшено наполовину в зависимости от операции транспонирования, и скорость вычисления может быть улучшена.[82] Therefore, in the case where the processor 120 transposes an image block whose vertical directionality is dominant, the transposed image block may have a horizontal directionality and may be included in one of the first groups. That is, processor 120 can process an image block belonging to one of the second groups in one of the first groups by transposing an image block whose vertical directionality is dominant, and can process an image block whose horizontal directionality is dominant in one of the first groups. , without transposing the image block whose horizontal orientation is dominant. Therefore, the number of index vectors can be reduced by half depending on the transposition operation, and the calculation speed can be improved.

[83] Процессор 120 может получать конечный блок изображения, в котором целевой пиксел обрабатывается в изображении посредством применения фильтра к транспонированному блоку изображения, и снова транспонирует блок изображения. В случае блока изображения, который не транспонируется, операция применения фильтра к блоку изображения и затем транспонирования снова блока изображения может быть пропущена.[83] The processor 120 may obtain a final image block in which the target pixel is processed in the image by applying a filter to the transposed image block, and transpose the image block again. In the case of an image block that is not transposed, the operation of applying a filter to the image block and then transposing the image block again may be skipped.

[84] Между тем, хотя случай, в котором процессор 120 транспонирует блок изображения, вертикальная направленность которого является доминирующей, описан выше в данном документе, это является лишь примером, и процессор 120 может также транспонировать блок изображения, горизонтальная направленность которого является доминирующей.[84] Meanwhile, although the case in which processor 120 transposes an image block whose vertical directionality is dominant has been described above herein, this is only an example, and processor 120 may also transpose an image block whose horizontal directionality is dominant.

[85] Между тем, процессор 120 может уменьшать размер градиентного вектора с помощью собственного вектора, сохраненного в запоминающем устройстве 110, и вычислять соответствия блока изображения каждому из множества индексных векторов на основе градиентного вектора, размер которого является уменьшенным. Здесь, собственный вектор может быть создан посредством применения анализа основных компонентов из множества дискретных градиентных векторов.[85] Meanwhile, the processor 120 may reduce the size of the gradient vector with the eigenvector stored in the memory 110 and calculate image block correspondences to each of the plurality of index vectors based on the gradient vector whose size is reduced. Here, an eigenvector may be created by applying principal component analysis from a plurality of discrete gradient vectors.

[86] Когда собственный вектор не используется в состоянии, в котором индексные векторы существуют, матрица индексов может иметь форму a × c. В этом отношении, когда градиентный вектор c × 1 уменьшается до градиентного вектора c' × 1 с помощью собственного вектора, матрица индексов может иметь форму a × c'. Подробно, размеры отличительных признаков множества индексных векторов, включенных в матрицу индексов a × c, могут быть уменьшены с помощью одного и того же собственного вектора, и матрица индексов, включающая в себя множество индексных векторов, размеры отличительных признаков которых уменьшены, может иметь форму a × c'. Здесь, собственный вектор может иметь форму c' × c, и c' может быть меньше c.[86] When the eigenvector is not used in the state in which the index vectors exist, the index matrix may be of the form a × c. In this regard, when the gradient vector c × 1 is reduced to the gradient vector c' × 1 using an eigenvector, the index matrix may be of the form a × c'. In detail, the sizes of features of the plurality of index vectors included in the index matrix a × c may be reduced by the same eigenvector, and the index matrix including the plurality of index vectors whose features are reduced in size may be of the form a × c'. Here, the eigenvector may be of the form c' × c, and c' may be less than c.

[87] Скорость вычисления может быть улучшена в случае использования матрицы индексов a × c' по сравнению со случаем использования матрицы индексов a × c.[87] The calculation speed can be improved in the case of using an index matrix a × c' compared to the case of using an index matrix a × c.

[88] Между тем, анализ основных компонентов является статистическим способом извлечения основных компонентов, кратко выражающих изменчивость образцов типов множества переменных как линейную комбинацию первоначальных переменных. Т.е., в случае, в котором существует p переменных, информация, полученная из p переменных, может быть уменьшена до k переменных значительно меньше p. В вышеописанном примере, размеры отличительных признаков c могут считаться уменьшенными до размеров c' отличительных признаков. Однако, число уменьшенных размеров отличительных признаков не ограничивается, а может также быть изменено.[88] Meanwhile, principal component analysis is a statistical method of extracting principal components that succinctly expresses the variability of sample types of a set of variables as a linear combination of the original variables. That is, in the case where there are p variables, the information obtained from the p variables can be reduced to k variables significantly less than p. In the above example, the dimensions of the features c can be considered reduced to the dimensions c' of the features. However, the number of reduced feature sizes is not limited, but may also be changed.

[89] Далее в данном документе описывается случай уменьшения матрицы индексов и градиентных векторов с помощью собственного вектора. Однако, настоящее изобретение не ограничивается этим, и конфигурация, которая не использует собственный вектор, соответствует примерному варианту осуществления настоящего изобретения.[89] Next, this document describes the case of reducing the matrix of indices and gradient vectors using an eigenvector. However, the present invention is not limited to this, and a configuration that does not use an eigenvector corresponds to an exemplary embodiment of the present invention.

[90] Между тем, процессор 120 может вычислять первое соответствие блока изображения каждой из множества групп индексных векторов на основе первой матрицы индексов, сохраненной в запоминающем устройстве 110, и градиентного вектора, получать одну из множества групп индексных векторов на основе первого соответствия и получать вторую матрицу индексов, соответствующую полученной группе индексных векторов, среди множества вторых матриц индексов, сохраненных в запоминающем устройстве 110.[90] Meanwhile, the processor 120 may calculate a first image block correspondence to each of the plurality of index vector groups based on the first index matrix stored in the memory 110 and the gradient vector, obtain one of the plurality of index vector groups based on the first correspondence, and obtain a second an index matrix corresponding to the obtained index vector group among the plurality of second index matrices stored in the memory 110.

[91] Здесь, множество групп индексных векторов может быть получено посредством разделения множества индексных векторов на предварительно определенное число групп. Например, множество групп индексных векторов может быть разделено всего на четыре группы в зависимости от характеристик, и каждая из четырех групп может включать в себя b индексных векторов. Т.е., b индексных векторов в одной и той же группе могут быть аналогичны друг другу.[91] Here, the index vector group set can be obtained by dividing the index vector set into a predetermined number of groups. For example, a plurality of index vector groups may be divided into a total of four groups depending on characteristics, and each of the four groups may include b index vectors. That is, b index vectors in the same group can be similar to each other.

[92] Первая индексная группа может включать в себя индексные векторы, представляющие каждую из множества групп индексных векторов. В примере, описанном выше, в каждой из четырех групп, один из b индексных векторов может быть задан как представляющий, и первая матрица индексов может быть сформирована с помощью четырех индексных векторов, представляющих соответствующие группы. Здесь, первая матрица индексов может иметь форму 4 × c'.[92] The first index group may include index vectors representing each of the plurality of index vector groups. In the example described above, in each of the four groups, one of the b index vectors may be set to represent, and the first index matrix may be formed with the four index vectors representing the respective groups. Here, the first index matrix may be of the form 4 × c'.

[93] Каждая из множества вторых матриц индексов может включать в себя множество индексных векторов, соответствующих каждой из множества групп индексных векторов. Например, каждый из множества индексных векторов может иметь форму b × c'.[93] Each of the plurality of second index matrices may include a plurality of index vectors corresponding to each of the plurality of index vector groups. For example, each of the set of index vectors may be of the form b × c'.

[94] В примере, описанном выше, процессор 120 может определять, к какой из множества групп индексных векторов блок изображения принадлежит, на основе первого соответствия, и получать вторую матрицу индексов, соответствующую соответствующей группе, из множества вторых матриц индексов.[94] In the example described above, processor 120 may determine which of the plurality of index vector groups the image block belongs to based on the first match, and obtain a second index matrix corresponding to the corresponding group from the plurality of second index matrices.

[95] Процессор 120 может вычислять второе соответствие блока изображения каждому из множества индексных векторов, включенных в полученную группу индексных векторов, на основе полученной второй матрицы индексов и градиентного вектора и может получать конечный блок изображения посредством применения, по меньшей мере, одного из множества фильтров к блоку изображения на основе второго соответствия. Скорость вычисления может быть улучшена посредством способа, как описано выше.[95] The processor 120 may calculate a second image block correspondence to each of the plurality of index vectors included in the obtained index vector group based on the obtained second index matrix and the gradient vector, and may obtain the final image block by applying at least one of the plurality of filters to the image block based on the second match. The calculation speed can be improved by the method as described above.

[96] Однако, это является лишь примером, и число групп индексных векторов может быть изменено. Кроме того, количества индексных векторов, включенных во множество групп индексных векторов, могут отличаться друг от друга.[96] However, this is only an example, and the number of index vector groups can be changed. In addition, the numbers of index vectors included in the plurality of index vector groups may differ from each other.

[97] Между тем, согласно примерному варианту осуществления, описанному выше, соответствия лишь с некоторыми из всего a индексных векторов могут быть вычислены. Следовательно, вычисление соответствий с другими индексными векторами пропускается, и в случае, в котором группировка является неподходящей, индексный вектор, имеющий наивысшее соответствие, может не быть обнаружен. Далее в данном документе описывается способ дополнения этого.[97] Meanwhile, according to the exemplary embodiment described above, matches with only some of the total a index vectors can be calculated. Therefore, the calculation of matches with other index vectors is skipped, and in the case in which the grouping is inappropriate, the index vector having the highest match may not be found. Further in this document, a method of supplementing this is described.

[98] Процессор 120 может получать один из множества индексных векторов, включенных в полученную группу индексных векторов, на основе второго соответствия, получать, по меньшей мере, один дополнительный индексный вектор, включенный в другие из множества групп индексных векторов и соответствующий полученному индексному вектору, на основе аналогичной информации индексного вектора, сохраненной в запоминающем устройстве 110, вычислять третье соответствие блока изображения на основе полученного индексного вектора, полученного дополнительного индексного вектора и градиентного вектора и получать конечный блок изображения посредством применения, по меньшей мере, одного из множества фильтров к блоку изображения на основе третьего соответствия.[98] The processor 120 can obtain one of the plurality of index vectors included in the obtained index vector group, based on the second match, obtain at least one additional index vector included in the others of the plurality of index vector groups and corresponding to the obtained index vector, based on the same index vector information stored in memory 110, calculate a third image block match based on the obtained index vector, the obtained additional index vector, and the gradient vector, and obtain a final image block by applying at least one of the plurality of filters to the image block based on the third match.

[99] Т.е., запоминающее устройство 110 может дополнительно хранить аналогичную информацию индексного вектора, которая является информацией о дополнительных индексных векторах, включенных в различные группы индексных векторов для каждого индексного вектора, и имеющих аналогичные характеристики.[99] That is, the memory 110 can further store similar index vector information, which is information about additional index vectors included in different index vector groups for each index vector and having similar characteristics.

[100] Когда один индексный вектор получается на основе второго соответствия, процессор 120 может вычислять соответствие блока изображения дополнительным индексным векторам, имеющим характеристики, аналогичные характеристикам полученного индексного вектора, на основе информации, сохраненной в запоминающем устройстве 110. Процессор 120 может получать, по меньшей мере, один фильтр на основе соответствия блоку изображения для полученного индексного вектора и соответствия блоку изображения для дополнительных индексных векторов.[100] When one index vector is obtained based on the second match, processor 120 may calculate an image block to correspond to additional index vectors having characteristics similar to those of the obtained index vector based on information stored in memory 110. Processor 120 may obtain at least at least one filter based on the image block match for the resulting index vector and the image block match for additional index vectors.

[101] В этом случае, дополнительное умножение выполняется в процессе вычисления соответствия блока изображения дополнительным индексным векторам, так что скорость может быть уменьшена по сравнению с предыдущим примерным вариантом осуществления, но точность может быть улучшена по сравнению с предыдущим примерным вариантом осуществления. Кроме того, в случае, в котором число дополнительных индексных векторов не является многочисленным, уменьшение скорости может быть незначительным.[101] In this case, the additional multiplication is performed in the process of calculating the correspondence of the image block to the additional index vectors, so that the speed can be reduced compared to the previous exemplary embodiment, but the accuracy can be improved compared to the previous exemplary embodiment. In addition, in the case where the number of additional index vectors is not numerous, the speed reduction may be small.

[102] Процессор 120 может получать, по меньшей мере, два из множества фильтров на основе множества вычисленных соответствий, вычислять конечный фильтр на основе, по меньшей мере, двух фильтров и соответствий, соответствующих каждому, по меньшей мере, из двух фильтров, и получать конечный блок изображения посредством применения вычисленного конечного фильтра к блоку изображения.[102] Processor 120 may obtain at least two of the plurality of filters based on the plurality of calculated matches, compute a final filter based on at least two filters and the matches corresponding to each of the at least two filters, and obtain a final image block by applying the computed final filter to the image block.

[103] Например, процессор 120 может получать первый фильтр и второй фильтр и вычислять конечный фильтр посредством взвешивания и суммирования первого фильтра и второго фильтра на основе первого соответствия и второго соответствия, соответствующих каждому из первого фильтра и второго фильтра.[103] For example, processor 120 may obtain a first filter and a second filter and calculate a final filter by weighting and summing the first filter and the second filter based on the first match and the second match corresponding to each of the first filter and the second filter.

[104] Однако, настоящее изобретение не ограничивается этим, и процессор 120 может также вычислять конечный фильтр из первого фильтра и второго фильтра без учета соответствий.[104] However, the present invention is not limited to this, and the processor 120 may also calculate the final filter from the first filter and the second filter without regard to matches.

[105] Между тем, множество первых дискретных блоков изображения могут быть изображениями, в которых разрешения соответствующих вторых дискретных блоков изображения являются уменьшенными, соответственно, и процессор 120 может получать конечный блок изображения, в котором разрешение целевого пиксела увеличивается посредством применения, по меньшей мере, одного из множества фильтров к блоку изображения.[105] Meanwhile, the plurality of first discrete image blocks may be images in which the resolutions of the respective second discrete image blocks are reduced, respectively, and the processor 120 may obtain a final image block in which the resolution of the target pixel is increased by applying at least one of the many filters to the image block.

[106] В этом случае, множество фильтров может быть фильтрами, изученными и полученными посредством алгоритма искусственного интеллекта, чтобы получать соответствующие вторые дискретные блоки изображения, в которых разрешения являются увеличенными, из каждого из множества первых дискретных блоков изображения.[106] In this case, the plurality of filters may be filters learned and obtained by an artificial intelligence algorithm to obtain respective second discrete image blocks in which the resolutions are increased from each of the plurality of first discrete image blocks.

[107] Процессор 120 может получать дополнительный блок изображения, в котором разрешение целевого пиксела увеличивается посредством применения технологии увеличения разрешения без обучения к блоку изображения, и обновлять конечный блок изображения на основе наибольшего соответствия из множества вычисленных соответствий и дополнительного блока изображения.[107] The processor 120 may obtain an additional image block in which the resolution of the target pixel is increased by applying a learningless resolution upscaling technique to the image block, and update the final image block based on the best match of the set of calculated matches and the additional image block.

[108] Например, процессор 120 может выбирать наибольшее соответствие из множества вычисленных соответствий и определять уровень изменения конечного блока изображения на основе выбранного соответствия. Подробно, процессор 120 может минимизировать и/или уменьшать изменение конечного блока изображения, уменьшая влияние дополнительного блока изображения, когда выбранное соответствие становится большим, и увеличивать изменение конечного блока изображения, увеличивая влияние дополнительного блока изображения, когда выбранное соответствие становится малым.[108] For example, processor 120 may select the largest match from the set of calculated matches and determine the level of change of the final image block based on the selected match. In detail, processor 120 can minimize and/or reduce the change of the target image block by decreasing the impact of the additional image block when the selected match becomes large, and increase the change of the end image block by increasing the influence of the additional image block when the selected match becomes small.

[109] Фиг. 1B является блок-схемой, иллюстрирующей примерные компоненты электронного устройства 100. Как иллюстрировано на фиг. 1B, электронное устройство 100 включает в себя запоминающее устройство 110, процессор (например, включающий в себя схемы обработки) 120, устройство связи (например, включающее в себя схемы связи) 130, дисплей 140, пользовательский интерфейс 150, аудиопроцессор (например, включающий в себя схемы обработки звука) 160 и видеопроцессор (например, включающий в себя схемы обработки видео) 170. Подробное описание компонентов, частично совпадающих с компонентами, иллюстрированными на фиг. 1A, среди компонентов, иллюстрированных на фиг. 1B, может не повторяться здесь.[109] FIG. 1B is a block diagram illustrating exemplary components of an electronic device 100. As illustrated in FIG. 1B, electronic device 100 includes a storage device 110, a processor (for example, including processing circuits) 120, a communication device (for example, including communication circuits) 130, a display 140, a user interface 150, an audio processor (for example, including audio processing circuitry) 160; and a video processor (eg, including video processing circuitry) 170. A detailed description of components overlapping with those illustrated in FIG. 1A, among the components illustrated in FIG. 1B may not be repeated here.

[110] Процессор 120 может включать в себя различные схемы обработки и, в целом, управляет работой электронного устройства 100 с помощью различных программ, сохраненных в запоминающем устройстве 110.[110] The processor 120 may include various processing circuits and generally controls the operation of the electronic device 100 through various programs stored in the storage device 110.

[111] Например, процессор 120 может включать в себя, без ограничения, оперативное запоминающее устройство (RAM) 121, постоянное запоминающее устройство (ROM) 122, главный центральный процессор (CPU) 123, графический процессор 124, с первого по n-ый интерфейсы 125-1 по 125-n и шину 126.[111] For example, processor 120 may include, without limitation, random access memory (RAM) 121, read only memory (ROM) 122, main central processing unit (CPU) 123, graphics processor 124, first through n-th interfaces 125-1 to 125-n and bus 126.

[112] RAM 121, ROM 122, основной CPU 123, графический процессор 124, с первого по n-ый интерфейсы 125-1 по 125-n, и т.п., могут быть соединены друг с другом через шину 126.[112] RAM 121, ROM 122, main CPU 123, GPU 124, first to n-th interfaces 125-1 to 125-n, and the like, can be connected to each other via bus 126.

[113] С первого по n-ый интерфейсы 125-1 по 125-n соединяются с различными компонентами, описанными выше. Один из интерфейсов может быть сетевым интерфейсом, соединенным с внешним сервером через сеть.[113] First to n-th interfaces 125-1 to 125-n are connected to various components described above. One of the interfaces may be a network interface connected to an external server via a network.

[114] Главный CPU 123 осуществляет доступ к запоминающему устройству 110, чтобы выполнять первоначальную загрузку с помощью операционной системы (O/S), сохраненной в запоминающем устройстве 110. Кроме того, главный CPU 123 выполняет различные операции с помощью различных программ или т.п., сохраненных в запоминающем устройстве 110.[114] The main CPU 123 accesses the storage device 110 to perform initial boot using the operating system (O/S) stored in the storage device 110. In addition, the main CPU 123 performs various operations with various programs or the like. ., stored in the storage device 110.

[115] Набор инструкций для начальной загрузки системы или т.п. могут быть сохранены в ROM 122. Когда команда включения вводится для подачи питания главному CPU 123, главный CPU 123 копирует операционную систему (O/S), сохраненную в запоминающем устройстве 110, в RAM 121 в зависимости от инструкции, сохраненной в ROM 122, и выполняет O/S для начальной загрузки системы. Когда начальная загрузка завершена, главный CPU 123 копирует различные прикладные программы, сохраненные в запоминающем устройстве 110, в RAM 121 и выполняет прикладные программы, скопированные в RAM 121, чтобы выполнять различные операции.[115] A set of instructions for booting a system or the like. may be stored in the ROM 122. When a power-on command is input to supply power to the main CPU 123, the main CPU 123 copies the operating system (O/S) stored in the memory 110 to the RAM 121 depending on the instruction stored in the ROM 122, and performs an O/S to boot the system. When the boot is completed, the main CPU 123 copies the various application programs stored in the memory 110 to the RAM 121 and executes the application programs copied to the RAM 121 to perform various operations.

[116] Графический процессор 124 воспроизводит экран, включающий в себя различные объекты, такие как значок, изображение, текст и т.п., с помощью модуля вычисления (не иллюстрирован) и модуля воспроизведения (не иллюстрирован). Модуль вычисления (не иллюстрирован) вычисляет значения атрибутов, такие как значения координат, в которых соответствующие объекты будут отображены, формы, размеры, цвета и т.п. соответствующих объектов в зависимости от компоновки экрана на основе принятой команды управления. Модуль воспроизведения (не иллюстрирован) воспроизводит экраны различных компоновок, включающих в себя объекты, на основе значений атрибутов, вычисленных в модуле вычисления (не иллюстрирован). Экран, воспроизводимый посредством модуля воспроизведения (не иллюстрирован), отображается в области отображения дисплея 140.[116] The graphics processor 124 renders a screen including various objects such as an icon, an image, text, and the like with a calculation unit (not illustrated) and a playback unit (not illustrated). A calculation module (not illustrated) calculates attribute values such as coordinate values in which corresponding objects will be displayed, shapes, sizes, colors, and the like. corresponding objects depending on the screen layout based on the received control command. A rendering module (not illustrated) reproduces screens of various layouts including objects based on attribute values calculated in a calculation module (not illustrated). The screen reproduced by the playback unit (not illustrated) is displayed in the display area of the display 140.

[117] Между тем, работа процессора 120, описанная выше, может быть выполнена посредством программы, сохраненной в запоминающем устройстве 110.[117] Meanwhile, the operation of the processor 120 described above can be performed by a program stored in the memory 110.

[118] Запоминающее устройство 110 хранит различные данные, такие как программный модуль операционной системы (O/S) для приведения в действие электронного устройства 100, модуль анализа блока изображения, модуль фильтра и т.п.[118] The storage device 110 stores various data such as an operating system (O/S) program module for driving the electronic device 100, an image block analysis module, a filter module, and the like.

[119] Устройство 130 связи может включать в себя различные схемы связи и является компонентом, выполняющим связь с различными типами внешних серверов в различных типах способов связи. Устройство 130 связи может включать в себя различные схемы связи, включенные в различные микросхемы связи, такие как, например, и без ограничения, микросхема 131 беспроводной достоверности (WiFi), Bluetooth-микросхема 132, микросхема 133 беспроводной связи, микросхема 134 связи ближнего радиуса действия (NFC) или т.п. Процессор 120 выполняет связь с различными внешними серверами с помощью устройства 130 связи.[119] The communication device 130 may include various communication schemes and is a component that communicates with various types of external servers in various types of communication methods. Communication device 130 may include various communication schemes included in various communication chips, such as, for example, and without limitation, wireless fidelity (WiFi) chip 131, Bluetooth chip 132, wireless chip 133, near field communication chip 134 (NFC) or the like. The processor 120 communicates with various external servers via the communication device 130 .

[120] WiFi-микросхема 131 и Bluetooth-микросхема 132 осуществляют связь WiFi-способом и Bluetooth-способом, соответственно. В случае использования WiFi-микросхемы 131 или Bluetooth-микросхемы 132, различные виды информации о соединении, такой как идентификатор набора служб (SSID), ключ сеанса и т.п., сначала передаются и принимаются, связь устанавливается с помощью информации о соединении, и различные виды информации могут затем быть переданы и приняты. Микросхема 133 беспроводной связи означает микросхему, осуществляющую связь в зависимости от различных протоколов связи, таких как протокол Института инженеров по электротехнике и электронике (IEEE), Zigbee, 3-е поколение (3G), проект партнерства 3-го поколения (3GPP), долговременное развитие (LTE) и т.п. NFC-микросхема 134 означает микросхему, работающую NFC-способом с помощью диапазона 13,56 МГц среди различных частотных диапазонов радиочастотной идентификации (RFID), таких как 135 кГц, 13,56 МГц, 433 МГц, 860-960 МГц, 2,45 ГГц и т.п.[120] The WiFi chip 131 and the Bluetooth chip 132 communicate in the WiFi method and the Bluetooth method, respectively. In the case of using the WiFi chip 131 or the Bluetooth chip 132, various kinds of connection information such as a service set identifier (SSID), session key, and the like are first transmitted and received, communication is established using the connection information, and different kinds of information can then be transmitted and received. The wireless communication chip 133 means a chip that communicates depending on various communication protocols such as Institute of Electrical and Electronics Engineers (IEEE) protocol, Zigbee, 3rd generation (3G), 3rd generation partnership project (3GPP), long-term development (LTE), etc. NFC chip 134 means a chip operating in an NFC way using a 13.56MHz band among various radio frequency identification (RFID) frequency bands such as 135kHz, 13.56MHz, 433MHz, 860-960MHz, 2.45GHz etc.

[121] Процессор 120 может принимать матрицу индексов, множество фильтров и т.п. от внешнего сервера через устройство 130 связи. Альтернативно, процессор 120 может принимать блоки изображения и т.п. в реальном времени от внешнего сервера через устройство 130 связи.[121] Processor 120 may receive an index matrix, a plurality of filters, and the like. from an external server through the communication device 130. Alternatively, processor 120 may receive image blocks and the like. in real time from an external server through the communication device 130 .

[122] Дисплей 140 может быть реализован посредством различных типов дисплеев, таких как, например, и без ограничения, жидкокристаллический дисплей (LCD), дисплей на органических светоизлучающих диодах (OLED), плазменная панель отображения (PDP) или т.п. Схема возбуждения, блок задней подсветки и т.п., которые могут быть реализованы в форме, такой как аморфный кремний, низкотемпературный поликристаллический кремний (LTPS), тонкопленочный транзистор (TFT), органический транзистор (OTFT) или т.п., могут быть включены в дисплей 140. Между тем, дисплей 140 может быть реализован посредством сенсорного экрана путем объединения с датчиком касания.[122] The display 140 may be implemented by various types of displays, such as, for example, and without limitation, a liquid crystal display (LCD), an organic light emitting diode (OLED) display, a plasma display panel (PDP), or the like. A drive circuit, a backlight unit, and the like, which may be implemented in a form such as amorphous silicon, low temperature polycrystalline silicon (LTPS), a thin film transistor (TFT), an organic transistor (OTFT), or the like, may be included in the display 140. Meanwhile, the display 140 may be realized by a touch screen by combining with a touch sensor.

[123] Процессор 120 может управлять дисплеем 140, чтобы отображать блок изображения и конечный блок изображения.[123] The processor 120 may control the display 140 to display the image block and the end image block.

[124] Пользовательский интерфейс 150 принимает различные пользовательские инструкции. Здесь, пользовательский интерфейс 150 может быть реализован в различных формах в зависимости от реализации электронного устройства 100. Например, пользовательский интерфейс 150 может включать в себя различные интерфейсные схемы, такие как, например, и без ограничения, кнопку, включенную в электронное устройство 100, микрофон, принимающий голос пользователя, камеру, обнаруживающую движение пользователя, или т.п. В случае, в котором электронное устройство 100 реализуется посредством сенсорного электронного устройства, пользовательский интерфейс 150 может также быть реализован в форме сенсорного экрана, формирующего слоистую структуру вместе с сенсорной панелью. В этом случае, пользовательский интерфейс 150 может быть использован в качестве дисплея 140, описанного выше.[124] The user interface 150 receives various user instructions. Here, the user interface 150 may be implemented in various forms depending on the implementation of the electronic device 100. For example, the user interface 150 may include various interface circuits such as, for example, and without limitation, a button included in the electronic device 100, a microphone , receiving the user's voice, a camera detecting the user's movement, or the like. In the case where the electronic device 100 is implemented by a touch electronic device, the user interface 150 may also be implemented in the form of a touch screen forming a layered structure together with the touch panel. In this case, the user interface 150 may be used as the display 140 described above.

[125] Аудиопроцессор 160 является компонентом, выполняющим обработку аудиоданных. В аудиопроцессоре 160 могут быть включены различные схемы обработки звука и могут выполняться различные виды обработки, такие как, например, и без ограничения, декодирование, усиление, фильтрация шума или т.п., для аудиоданных могут выполняться.[125] The audio processor 160 is a component that performs audio data processing. In the audio processor 160, various audio processing circuits may be enabled and various kinds of processing, such as, for example, and without limitation, decoding, amplification, noise filtering, or the like, may be performed on the audio data.

[126] Видеопроцессор 170 является компонентом, выполняющим обработку видеоданных. В видеопроцессор 170 могут быть включены различные схемы обработки видео и могут выполняться различные виды обработки изображения, такие как, например, и без ограничения, декодирование, масштабирование, фильтрация шума, преобразование частоты кадров, преобразование разрешения или т.п., для видеоданных могут выполняться.[126] The video processor 170 is a component that performs video data processing. Various video processing circuits may be included in the video processor 170, and various kinds of image processing may be performed, such as, for example, and without limitation, decoding, scaling, noise filtering, frame rate conversion, resolution conversion, or the like, may be performed on the video data. .

[127] Между тем, модель, включающая в себя матрицу индексов, множество фильтров и т.п., предоставленная внешним сервером, как описано выше, является моделью принятия решения, изученной на основе алгоритма искусственного интеллекта, и может быть, например, моделью, основанной на нейронной сети. Изученная модель принятия решения может быть предназначена, чтобы моделировать структуру человеческого мозга на компьютере, и может включать в себя множество сетевых узлов, моделирующих нейроны человеческой нейронной сети и имеющих весовые коэффициенты. Множество сетевых узлов могут формировать соединительное соотношение между собой, чтобы моделировать синаптическую активность нейронов, передающих и принимающих сигналы через синапсы. Кроме того, изученная модель принятия решения может включать в себя, например, модель нейронной сети или модель глубокого обучения, развитую из модели нейронной сети. В модели глубокого обучения множество сетевых узлов могут быть расположены на различных глубинах (или слоях) и могут передавать и принимать данные между собой в зависимости от соединительного соотношения извилины. Пример изученной модели принятия решения может включать в себя, например, и без ограничения, глубокую нейронную сеть (DNN), рекуррентную нейронную сеть (RNN), двунаправленную рекуррентную глубокую нейронную сеть (BRDNN) или т.п., но не ограничивается этим.[127] Meanwhile, the model including the index matrix, the plurality of filters, and the like provided by the external server as described above is a decision model learned based on the artificial intelligence algorithm, and may be, for example, a model based on a neural network. The learned decision model may be designed to simulate the structure of the human brain on a computer, and may include a plurality of network nodes that model the neurons of a human neural network and have weights. A plurality of network nodes can form a connection relationship among themselves to model the synaptic activity of neurons transmitting and receiving signals across synapses. In addition, the learned decision model may include, for example, a neural network model or a deep learning model developed from a neural network model. In a deep learning model, many network nodes can be located at different depths (or layers) and can transmit and receive data among themselves depending on the connection ratio of the gyrus. An example of a learned decision model may include, for example, and without limitation, a deep neural network (DNN), a recurrent neural network (RNN), a bidirectional recurrent deep neural network (BRDNN), or the like, but is not limited to this.

[128] Кроме того, электронное устройство 100 может использовать программу личного секретаря, которая является специализированной программой искусственного интеллекта (или агентом искусственного интеллекта), чтобы принимать конечный блок изображения, полученный посредством применения фильтра к блоку изображения, как описано выше. В этом случае, программа личного секретаря, которая является специализированной программой для предоставления службы на основе искусственного интеллекта (AI), может выполняться посредством существующего процессора общего назначения (например, центрального процессора (CPU)) или отдельного специализированного AI-процессора (например, графического процессора (GPU)).[128] In addition, the electronic device 100 may use a personal assistant program, which is a dedicated artificial intelligence program (or artificial intelligence agent), to receive a final image block obtained by applying a filter to the image block as described above. In this case, the personal assistant program, which is a dedicated program for providing an artificial intelligence (AI) service, may be executed by an existing general purpose processor (for example, a central processing unit (CPU)) or a separate dedicated AI processor (for example, a GPU (GPU)).

[129] В случае, в котором предварительно определенные пользовательские входные данные (например, фотографирование изображения в зависимости от манипулирования кнопкой фотографирования, или т.п.) вводятся, или блок изображения вводится из внешнего устройства, агент искусственного интеллекта может быть задействован (или выполнен).[129] In a case in which predetermined user input (for example, photographing an image depending on the manipulation of a photographing button, or the like) is input, or an image block is input from an external device, the artificial intelligence agent may be activated (or performed ).

[130] Согласно другому примерному варианту осуществления настоящего изобретения, электронное устройство 100 может передавать входной блок изображения внешнему серверу. Внешний сервер может получать конечный блок изображения, непосредственно применяя фильтр к блоку изображения, и передавать полученный конечный блок изображения электронному устройству 100.[130] According to another exemplary embodiment of the present invention, the electronic device 100 may transmit an input image block to an external server. The external server may obtain the final image block by directly applying the filter to the image block and transmit the resulting final image block to the electronic device 100.

[131] Процессор 120 может улучшать качество обработки изображения, выполняя обработку изображения на основе обучения в реальном времени посредством способа, который описан выше.[131] The processor 120 can improve image processing quality by performing image processing based on real-time learning through the method described above.

[132] Далее в данном документе примерные операции процессора 120 описываются более подробно со ссылкой на чертежи.[132] Hereinafter, exemplary operations of the processor 120 are described in more detail with reference to the drawings.

[133] Фиг. 2 является схемой, иллюстрирующей примерные операции процессора 120 согласно примерному варианту осуществления настоящего изобретения.[133] FIG. 2 is a diagram illustrating exemplary operations of a processor 120 according to an exemplary embodiment of the present invention.

[134] Когда блок изображения вводится, процессор 120 может сначала выполнять извлечение 210 градиента для блока изображения. Например, процессор 120 может принимать решение о направленности блока изображения и создавать градиентный вектор. Кроме того, процессор 120 может также транспонировать блок изображения на основе результата принятия решения о направленности блока изображения.[134] When an image block is input, processor 120 may first perform gradient extraction 210 for the image block. For example, processor 120 may decide on the directionality of the image block and create a gradient vector. In addition, the processor 120 may also transpose the image block based on the result of the directionality decision of the image block.

[135] Процессор 120 может выполнять уменьшение 220 отличительного размера градиентного вектора с помощью собственного вектора 260.[135] Processor 120 may perform variance size reduction 220 of the gradient vector with eigenvector 260.

[136] Процессор 120 может выполнять поиск 230 фильтра по фильтру, который должен быть применен к градиентному вектору, размер отличительного признака которого уменьшен, с помощью матрицы 270 индексов.[136] Processor 120 may search 230 for a filter on a filter to be applied to a gradient vector whose feature size has been reduced using an index matrix 270 .

[137] Процессор 120 может получать, по меньшей мере, один из множества фильтров, включенных в базу данных DB 280 фильтров на основе результата поиска, и применять, по меньшей мере, один фильтр к блоку изображения (применение фильтра 240).[137] The processor 120 may obtain at least one of the plurality of filters included in the filter database DB 280 based on the search result and apply at least one filter to the image block (filter application 240).

[138] Множество фильтров, включенных в базу данных 280 фильтров, могут быть основанными на обучении фильтрами. Например, множество фильтров может быть получено посредством изучения соотношения между множеством первых дискретных блоков изображения и множеством вторых дискретных блоков изображения, соответствующих множеству первых дискретных блоков изображения, посредством алгоритма искусственного интеллекта. Т.е., операция, описанная выше, может рассматриваться как применение фильтра на основе обучения к блоку изображения.[138] The plurality of filters included in the filter database 280 may be learning-based filters. For example, a plurality of filters can be obtained by learning the relationship between a plurality of first discrete image blocks and a plurality of second discrete image blocks corresponding to the plurality of first discrete image blocks through an artificial intelligence algorithm. That is, the operation described above can be considered as applying a learning-based filter to an image block.

[139] Между тем, процессор 120 может применять фильтр без обучения к блоку изображения (применение 250 фильтра без обучения), отдельно от операции, описанной выше. Например, процессор 120 может выполнять применение основанного на обучении фильтра и применение фильтра без обучения к одному и тому же блоку изображения параллельно.[139] Meanwhile, the processor 120 may apply a non-training filter to the image block (application of the non-training filter 250) separately from the operation described above. For example, processor 120 may perform a learning-based filter application and a non-training filter application on the same image block in parallel.

[140] Кроме того, процессор 120 может взвешивать и суммировать первый результат, зависящий от применения основанного на обучении фильтра, и второй результат, зависящий от применения фильтра без обучения.[140] In addition, the processor 120 may weight and sum the first result, depending on the application of the training-based filter, and the second result, depending on the application of the filter without training.

[141] Между тем, собственный вектор 260, матрица 270 индексов и база данных 280 фильтров могут быть созданы с помощью множества первых дискретных блоков изображения и множества вторых дискретных блоков изображения, соответствующих множеству первых дискретных блоков изображения.[141] Meanwhile, the eigenvector 260, the index matrix 270, and the filter database 280 may be created with a plurality of first discrete image blocks and a plurality of second discrete image blocks corresponding to the plurality of first discrete image blocks.

[142] На фиг. 2 транспонирование блока изображения в зависимости от результата решения о направленности, уменьшение размера отличительного признака градиентного вектора и применение фильтра без обучения являются необязательными операциями и могут быть пропущены.[142] FIG. 2, transposing the image block depending on the result of the directionality decision, reducing the size of the gradient vector feature, and applying the filter without training are optional operations and can be skipped.

[143] Фиг. 3A, 3B, 3C, 3D и 3E являются схемами, иллюстрирующими примерный способ принятия решения о направленности блока изображения и создания градиентного вектора согласно примерному варианту осуществления настоящего изобретения.[143] FIG. 3A, 3B, 3C, 3D and 3E are diagrams illustrating an exemplary method for deciding on the directionality of an image block and generating a gradient vector according to an exemplary embodiment of the present invention.

[144] Как иллюстрировано на фиг. 3, процессор 120 может принимать решение о направленности блока изображения с помощью масок, таких как Sx и Sy. Например, процессор 120 может принимать решение о направленности блока изображения, применяя блок изображения 5 × 5 и маски к следующему уравнению 1:[144] As illustrated in FIG. 3, processor 120 may decide the directionality of the image block using masks such as Sx and Sy. For example, processor 120 may decide on the directionality of an image block by applying a 5×5 image block and masks to the following Equation 1:

[145] [Уравнение 1][145] [Equation 1]

[146][146]

[147] Здесь, GV указывает вертикальную направленность блока изображения, GH указывает горизонтальную направленность блока изображения, n и m указывают индексы для идентификации строки и столбца, соответственно, а i и j указывают начальные точки блока изображения в кадре изображения.[147] Here, GV indicates the vertical directionality of the image block, GH indicates the horizontal directionality of the image block, n and m indicate indexes for identifying row and column, respectively, and i and j indicate the start points of the image block in the image frame.

[148] Процессор 120 может получать направленность блока изображения, сравнивая величину вертикальной направленности и величину горизонтальной направленности друг с другом.[148] The processor 120 can obtain the directionality of the image block by comparing the vertical directionality amount and the horizontal directionality amount with each other.

[149] Процессор 120 может определять, транспонировать или нет блок изображения, на основе направленности, используемой в случае создания собственного вектора, матрицы индексов и множества фильтров. Например, в случае, в котором только горизонтальная направленность используется, а вертикальная направленность не используется во время создания собственного вектора, матрицы индексов и множества фильтров, процессор 120 не транспонирует блок изображения, когда блок изображения имеет горизонтальную направленность, и может транспонировать блок изображения, когда блок изображения имеет вертикальную направленность. В случае, в котором только вертикальная направленность используется, а горизонтальная направленность не используется во время создания собственного вектора, матрицы индексов и множества фильтров, процессор 120 не транспонирует блок изображения, когда блок изображения имеет вертикальную направленность, и может транспонировать блок изображения, когда блок изображения имеет горизонтальную направленность.[149] The processor 120 may determine whether or not to transpose the image block based on the directionality used in the case of creating an eigenvector, an index matrix, and a plurality of filters. For example, in the case where only horizontal directionality is used and vertical directionality is not used during creation of the eigenvector, index matrix, and filter set, processor 120 does not transpose the image block when the image block is horizontal, and may transpose the image block when the image block has a vertical orientation. In the case in which only vertical directionality is used and horizontal directionality is not used during creation of the eigenvector, index matrix, and filter set, processor 120 does not transpose the image block when the image block is vertically directed, and may transpose the image block when the image block has a horizontal direction.

[150] На фиг. 3B, базовый блок указывает направленность, используемую в случае создания собственного вектора, матрицы индексов и множества фильтров.[150] FIG. 3B, the base block indicates the directionality used in the case of creating an eigenvector, an index matrix, and a filter set.

[151] В случае, в котором базовый блок имеет вертикальную направленность, как на верхнем крае на фиг. 3B, процессор 120 может транспонировать только правый блок изображения из левых двух блоков изображения. В случае, в котором базовый блок имеет горизонтальную направленность, как на нижнем крае на фиг. 3B, процессор 120 может транспонировать только правый блок изображения из левых двух блоков изображения.[151] In the case where the base unit is vertically oriented, as in the upper edge in FIG. 3B, processor 120 may only transpose the right image block from the left two image blocks. In the case where the base unit has a horizontal orientation, as in the bottom edge in FIG. 3B, processor 120 may only transpose the right image block from the left two image blocks.

[152] Поскольку только одна из вертикальной направленности и горизонтальной направленности используется, объемы данных для собственного вектора, матрицы индексов и множества фильтров могут быть уменьшены. Кроме того, дополнительное вычисление в зависимости от решения о направленности и транспонирования блока изображения может быть сформировано, но объем вычисления может быть уменьшен в последующих операциях, благодаря уменьшению в объемах данных для собственного вектора, матрицы индексов и множества фильтров. Например, полный объем вычислений может быть уменьшен в зависимости от операции принятия решения о направленности.[152] Since only one of vertical directivity and horizontal directivity is used, the data volumes for the eigenvector, the index matrix, and the filter set can be reduced. In addition, additional calculation depending on the directionality decision and the transposition of the image block can be generated, but the amount of calculation can be reduced in subsequent operations due to the reduction in data amounts for the eigenvector, index matrix, and filter set. For example, the total amount of computation may be reduced depending on the direction decision operation.

[153] Между тем, маски, такие как Sx и Sy, иллюстрированные на фиг. 3A, являются лишь примером, и процессор 120 может принимать решение о направленности блока изображения другим способом. Кроме того, хотя только пикселы 3 × 3 в блоке изображения 5 × 5 иллюстрируются на фиг. 3B, это должно иллюстрировать направленность. Процессор 120 может принимать решение о направленности блока изображения посредством применения блока изображения 5 × 5 и масок, как иллюстрировано на фиг. 3A.[153] Meanwhile, masks such as Sx and Sy illustrated in FIG. 3A are just an example, and processor 120 may decide the directionality of the image block in a different manner. Furthermore, although only 3×3 pixels in a 5×5 image block are illustrated in FIG. 3B, this is to illustrate directionality. Processor 120 may decide on the directionality of the image block by applying the 5×5 image block and masks, as illustrated in FIG. 3A.

[154] Однако, настоящее изобретение не ограничивается этим, и процессор 120 может также принимать решение о направленности блока изображения с помощью лишь некоторых пикселов блока изображения, чтобы улучшать скорость вычислений. Например, процессор 120 может принимать решение о направленности блока изображения, применяя маску для принятия решения о направленности 3 × 3 к пикселам 3 × 3 за исключением пикселов, расположенных поблизости от краев блока изображения 5 × 5.[154] However, the present invention is not limited to this, and the processor 120 may also decide on the directionality of the image block using only some pixels of the image block to improve the calculation speed. For example, processor 120 can decide the directionality of an image block by applying a 3x3 directionality decision mask to 3x3 pixels except for pixels near the edges of the 5x5 image block.

[155] Далее в данном документе случай, в котором блок изображения 3 × 3 вводится, описывается для удобства объяснения. Однако, настоящее изобретение не ограничивается этим, и процессор 120 может работать таким же образом относительно блоков изображения, имеющих другие размеры. Кроме того, запоминающее устройство 110 может хранить маски, соответствующие различным размерам изображения, оператор вычисления градиента, который должен быть описан ниже, матрицу индексов, множество векторов и т.п.[155] Hereinafter, a case in which a 3×3 image block is input is described for the convenience of explanation. However, the present invention is not limited to this, and processor 120 may operate in the same manner with respect to image blocks having different sizes. In addition, the memory 110 may store masks corresponding to different image sizes, a gradient calculation operator to be described below, an index matrix, a plurality of vectors, and the like.

[156] Процессор 120 может вычислять горизонтальный градиент и вертикальный градиент для блока изображения 3 × 3 с помощью оператора Собела, как иллюстрировано на фиг. 3C. Процессор 120 может получать горизонтальный градиент 3 × 3 и вертикальный градиент 3 × 3 посредством оператора Собела и умножения блока изображения 3× 3, как иллюстрировано на фиг. 3D.[156] Processor 120 may compute a horizontal gradient and a vertical gradient for a 3×3 image block using the Sobel operator, as illustrated in FIG. 3C. Processor 120 may obtain a 3×3 horizontal gradient and a 3×3 vertical gradient through the Sobel operator and 3×3 image block multiplication, as illustrated in FIG. 3D.

[157] Процессор 120 может вычислять градиентный вектор c × 1 из горизонтального градиента 3 × 3 и вертикального градиента 3 × 3, как иллюстрировано на фиг. 3E.[157] Processor 120 may compute a c×1 gradient vector from a 3×3 horizontal gradient and a 3×3 vertical gradient, as illustrated in FIG. 3E.

[158] Хотя случай, в котором градиентный вектор вычисляется после того, как выполняется транспонирование блока изображения, описывается выше в данном документе, настоящее изобретение не ограничивается этим. Например, процессор 120 может принимать решение лишь о направленности блока изображения, и вычислять горизонтальный градиент и вертикальный градиент блока изображения. Кроме того, процессор 120 может изменять последовательность вычисления градиентного вектора, отражая транспонирование из горизонтального градиента и вертикального градиента, когда блок изображения должен быть транспонирован.[158] Although the case in which the gradient vector is calculated after the transposition of the image block is performed is described above in this document, the present invention is not limited to this. For example, processor 120 may only decide on the directionality of the image block, and calculate the horizontal gradient and vertical gradient of the image block. In addition, processor 120 may reorder the gradient vector calculation to reflect the transposition from a horizontal gradient and a vertical gradient when the image block is to be transposed.

[159] Фиг. 4A и 4B являются схемами, иллюстрирующими примерное уменьшение размера отличительного признака градиентного вектора согласно примерному варианту осуществления настоящего изобретения.[159] FIG. 4A and 4B are diagrams illustrating an exemplary size reduction of a gradient vector feature according to an exemplary embodiment of the present invention.

[160] Процессор 120 может уменьшать размер отличительного признака градиентного вектора c × 1 с помощью собственного вектора c' × c, как иллюстрировано на фиг. 4A. Например, процессор 120 может получать градиентный вектор c' × 1, размер отличительного признака которого уменьшается посредством умножения между собственным вектором c' × c и градиентным вектором с × 1.[160] Processor 120 may reduce the size of the gradient vector feature c×1 with the eigenvector c'×c, as illustrated in FIG. 4A. For example, processor 120 may obtain a c' × 1 gradient vector whose feature size is reduced by multiplying between the c' × c eigenvector and the c × 1 gradient vector.

[161] Фиг. 4B иллюстрирует пример градиентного вектора Gradient vector', размер отличительного признака которого является уменьшенным.[161] FIG. 4B illustrates an example of a Gradient vector' whose feature size is reduced.

[162] Собственный вектор может быть создан посредством способа анализа основных компонентов внешним сервером, и электронное устройство 100 может принимать собственный вектор от внешнего сервера и сохранять собственный вектор в запоминающем устройстве 110. Например, внешний сервер может создавать градиентный вектор для каждого из 10000 первых дискретных блоков изображения. Способ создания градиентного вектора является таким же, что и способ, описанный выше. Здесь, внешний сервер может принимать решение о направленности каждого из первых дискретных блоков изображения, транспонировать первые дискретные блоки изображения на основе оцененной направленности и вычислять градиентные векторы для транспонированных первых дискретных блоков изображения. Затем, внешний сервер может вычислять собственный вектор, применяя способ анализа основных компонентов к каждому из множества вычисленных дискретных градиентных векторов.[162] The eigenvector may be generated by the external server principal component analysis method, and the electronic device 100 may receive the eigenvector from the external server and store the eigenvector in memory 110. For example, the external server may generate a gradient vector for each of the first 10,000 discrete image blocks. The method for creating the gradient vector is the same as the method described above. Here, the external server may decide on the directionality of each of the first discrete image blocks, transpose the first discrete image blocks based on the estimated directivity, and calculate gradient vectors for the transposed first discrete image blocks. Then, the external server may calculate the eigenvector by applying the principal component analysis method to each of the plurality of computed discrete gradient vectors.

[163] Однако, настоящее изобретение не ограничивается этим, и процессор 120 может также непосредственно создавать собственный вектор посредством способа анализа основных компонентов. В этом случае, запоминающее устройство 110 может хранить множество первых дискретных блоков изображения.[163] However, the present invention is not limited to this, and the processor 120 may also directly create an eigenvector through a principal component analysis method. In this case, the storage device 110 may store a plurality of first discrete image blocks.

[164] Далее в данном документе, случай использования градиентного вектора, размер отличительного признака которого является уменьшенным, описывается для удобства объяснения. Однако, уменьшение размера отличительного признака, как описано выше, является необязательной операций, и последующие операции могут, таким образом, быть выполнены без уменьшения размера отличительного признака градиентного вектора.[164] Hereinafter, the case of using a gradient vector whose feature size is reduced is described for convenience of explanation. However, reducing the feature size as described above is an optional operation, and subsequent operations can thus be performed without reducing the size of the gradient vector feature.

[165] Фиг. 5A и 5B являются схемами, иллюстрирующими примерный поиск фильтра с помощью матрицы индексов согласно примерному варианту осуществления настоящего изобретения.[165] FIG. 5A and 5B are diagrams illustrating an exemplary filter search with an index matrix according to an exemplary embodiment of the present invention.

[166] Запоминающее устройство 110 может хранить матрицу индексов a × c', как иллюстрировано на фиг. 5A. Матрица индексов может включать в себя a индексных векторов 1 × c'. Здесь, индексные векторы представляют характеристики блока изображения и могут также называться классами или группами. Фиг. 5A иллюстрирует матрицу индексов, включающую в себя индексные векторы, указывающие характеристики для каждого из классов или групп, в которые характеристики блока изображения делятся.[166] The memory 110 may store an index matrix a × c', as illustrated in FIG. 5A. The index matrix may include a 1 × c' index vectors. Here, the index vectors represent the characteristics of an image block and may also be referred to as classes or groups. Fig. 5A illustrates an index matrix including index vectors indicating characteristics for each of the classes or groups into which the characteristics of an image block are divided.

[167] Процессор 120 может выполнять умножение между матрицей индексов a × c' и градиентным вектором c' × 1, размер отличительного признака которого является уменьшенным, и вычислять вектор соответствия a × 1, как иллюстрировано на фиг. 5B. Каждая строка вектора соответствия указывает соответствие блока изображения каждому классу или группе.[167] The processor 120 may perform the multiplication between the index matrix a×c' and the gradient vector c'×1 whose feature size is reduced, and calculate the a×1 match vector, as illustrated in FIG. 5b. Each line of the match vector indicates the match of the image block to each class or group.

[168] Чем выше число в векторе соответствия, тем выше соответствие. Например, в случае, в котором 0,9 является наибольшим числом на фиг. 5B, процессор 120 может решать, что блок изображения имеет характеристики класса или группы, соответствующие 0,9.[168] The higher the number in the match vector, the higher the match. For example, in the case where 0.9 is the largest number in FIG. 5B, processor 120 may determine that the image block has class or group characteristics corresponding to 0.9.

[169] Матрица индексов может быть создана посредством внешнего сервера, и электронное устройство 100 может принимать матрицу индексов от внешнего сервера и сохранять матрицу индексов в запоминающем устройстве 110. Внешний сервер может вычислять a индексных векторов, которые могут представлять множество дискретных градиентных векторов, вычисленных из множества первых дискретных блоков изображения с помощью алгоритма K-SVD или K-средних, который является одним из способов обучения без учителя. Внешний сервер может создавать матрицу индексов, включающую в себя a индексных векторов.[169] The index matrix may be created by an external server, and the electronic device 100 may receive the index matrix from the external server and store the index matrix in memory 110. The external server may compute a index vectors, which may represent a plurality of discrete gradient vectors computed from set of first discrete image blocks using the K-SVD or K-means algorithm, which is one of the unsupervised learning methods. The external server may create an index matrix including a index vectors.

[170] Однако, настоящее изобретение не ограничивается этим, и процессор 120 может также вычислять a индексных векторов, которые могут представлять множество дискретных градиентных векторов, вычисленных из множества первых дискретных блоков изображения.[170] However, the present invention is not limited to this, and processor 120 may also calculate a index vectors, which may represent a plurality of discrete gradient vectors computed from a plurality of first discrete image blocks.

[171] Кроме того, хотя случай, в котором характеристики блока изображения делятся на a классов или групп, описывается выше в данном документе, характеристики блока изображения не ограничиваются этим, но могут также быть разделены на другое число классов или групп. Однако, далее в данном документе, случай, в котором характеристики блока изображения делятся на a классов или групп, описывается для удобства объяснения. Кроме того, индексные векторы, классы и группы используются вместе выше в данном документе, но случай, в котором классы используются в качестве понятия, указывающего характеристики блока изображения, а индексные векторы указывают каждый класс, описывается далее в данном документе.[171] In addition, although the case in which the characteristics of the image block are divided into a classes or groups is described above in this document, the characteristics of the image block are not limited to this, but may also be divided into a different number of classes or groups. However, hereinafter, a case in which the characteristics of an image block are divided into a classes or groups is described for the convenience of explanation. In addition, index vectors, classes, and groups are used together above in this document, but the case in which classes are used as a concept indicating characteristics of an image block and index vectors indicate each class is described later in this document.

[172] Между тем, количества классов или групп могут быть изменены в зависимости от вида фильтров. Например, в случае увеличивающего разрешение фильтра, характеристики блока изображения могут быть разделены на a классов или групп, но в случае фильтра повышения резкости, характеристики блока изображения могут быть разделены на классы или фильтры, число которых отличается от a.[172] Meanwhile, the numbers of classes or groups can be changed depending on the kind of filters. For example, in the case of a resolution-enhancing filter, the characteristics of the image block may be divided into a classes or groups, but in the case of a sharpening filter, the characteristics of the image block may be divided into classes or filters whose number is different from a.

[173] Фиг. 6A, 6B и 6C являются схемами, иллюстрирующими примерный способ уменьшения объема вычислений поиска фильтра согласно примерному варианту осуществления настоящего изобретения.[173] FIG. 6A, 6B, and 6C are diagrams illustrating an exemplary filter search computational reduction method according to an exemplary embodiment of the present invention.

[174] Фиг. 6A является схемой, иллюстрирующей то, что множество классов группируются в четыре группы, и классы 620, представляющие каждую группу, могут быть назначены в каждой группе 610, 611, 612 и 613. Фиг. 6B иллюстрирует первую матрицу индексов Index Matrix 1, включающую в себя множество индексных векторов, соответствующих классам 620, представляющим каждую группу. Фиг. 6C иллюстрирует вторую матрицу индексов Index Matrix 2, включающую в себя множество индексных векторов, соответствующих классам, включенным в одну из четырех групп. Т.е., число вторых матриц индексов является таким же, что и число групп.[174] FIG. 6A is a diagram illustrating that a plurality of classes are grouped into four groups, and classes 620 representing each group can be assigned in each group 610, 611, 612, and 613. FIG. 6B illustrates a first Index Matrix 1 including a plurality of index vectors corresponding to classes 620 representing each group. Fig. 6C illustrates a second Index Matrix 2 including a plurality of index vectors corresponding to classes included in one of the four groups. That is, the number of second index matrices is the same as the number of groups.

[175] Первая матрица индексов и вторая матрица индексов могут быть созданы внешним сервером, и электронное устройство 100 может принимать первую матрицу индексов и вторую матрицу индексов от внешнего сервера и сохранять первую матрицу индексов и вторую матрицу индексов в запоминающем устройстве 110. Внешний сервер может выполнять группировку по a индексным векторам посредством кластеризации методом k-средних, или т.п., и определять индексные векторы, представляющие каждую группу. Однако, настоящее изобретение не ограничивается этим, и внешний сервер может также вычислять представляющие индексные векторы, представляющие каждую группу. В этом случае, представляющие индексные векторы могут не совпадать со всеми индексными векторами в соответствующей группе.[175] The first index matrix and the second index matrix may be created by the external server, and the electronic device 100 may receive the first index matrix and the second index matrix from the external server and store the first index matrix and the second index matrix in the storage device 110. The external server may execute grouping by a index vectors by k-means clustering, or the like, and determining index vectors representing each group. However, the present invention is not limited to this, and the external server may also calculate representing index vectors representing each group. In this case, the representing index vectors may not match all of the index vectors in the corresponding group.

[176] Однако, настоящее изобретение не ограничивается этим, и процессор 120 может также вычислять первую матрицу индексов и вторую матрицу индексов способом, описанным выше, и сохранять первую матрицу индексов и вторую матрицу индексов в запоминающем устройстве 110.[176] However, the present invention is not limited to this, and the processor 120 may also calculate the first index matrix and the second index matrix in the manner described above, and store the first index matrix and the second index matrix in the memory 110.

[177] Процессор 120 может выполнять умножение между первой матрицей индексов 4 × c' и градиентным вектором c' × 1, размер отличительного признака которого является уменьшенным, и вычислять соответствия каждой группе. Процессор 120 может получать одну группу на основе наибольшего соответствия из соответствий каждой группе. Процессор 120 может выполнять умножение между второй матрицей индексов b × c', соответствующей полученной группе, и градиентным вектором c' × 1, размер отличительного признака которого является уменьшенным, и вычислять соответствия каждому из классов, включенных в полученную группу.[177] The processor 120 may perform the multiplication between the first 4 × c' index matrix and the c' × 1 gradient vector whose feature size is reduced, and compute matches to each group. Processor 120 may derive one group based on the highest match of the matches for each group. The processor 120 may perform multiplication between the second index matrix b × c' corresponding to the resulting group and the gradient vector c' × 1 whose feature size is reduced and compute matches to each of the classes included in the resulting group.

[178] В этом случае, вычисление соответствий классам за исключением трех представляющих классов среди b × 3 классов, включенных в другие группы за исключением полученной группы, не выполняется, и точность может быть снижена по сравнению с фиг. 5A и 5B, но скорость вычислений может быть улучшена.[178] In this case, the calculation of correspondences to classes except for the three representative classes among b × 3 classes included in other groups except for the obtained group is not performed, and the accuracy may be reduced compared to FIG. 5A and 5B, but the computational speed can be improved.

[179] В случае уменьшения числа групп, точность может быть дополнительно улучшена. Скорость вычислений может быть дополнительно улучшена посредством увеличения числа групп.[179] If the number of groups is reduced, the accuracy can be further improved. The calculation speed can be further improved by increasing the number of groups.

[180] Фиг. 7A и 7B являются схемами, иллюстрирующими примерный способ уменьшения объема вычислений поиска фильтра согласно другому примерному варианту осуществления настоящего изобретения. Например, способ на фиг. 7A и 7B является способом выбора класса, имеющего более высокое соответствие, посредством дополнительного вычисления, после того как способ на фиг. 6A, 6B и 6C полностью выполнен.[180] FIG. 7A and 7B are diagrams illustrating an exemplary filter search computational reduction method according to another exemplary embodiment of the present invention. For example, the method in FIG. 7A and 7B is a method for selecting a class having a higher correspondence by additional calculation after the method in FIG. 6A, 6B and 6C is fully completed.

[181] Процессор 120 может получать класс A 710 третьей группы в качестве класса, соответствие которого блоку изображения является наивысшим, в качестве результата вычислений соответствий второй матрице индексов, как иллюстрировано на фиг. 7A.[181] The processor 120 may obtain the class A 710 of the third group as the class whose correspondence to the image block is the highest as the result of the calculations of the correspondences to the second index matrix, as illustrated in FIG. 7A.

[182] Запоминающее устройство 110 может хранить третью матрицу индексов Index Matrix 3 для класса A 710, как иллюстрировано на фиг. 7B. Третья матрица индексов может включать в себя множество индексных векторов, соответствующих классам A' 720-1, 720-2 и 720-3, включенным в группы, отличные от группы класса A 710, и имеющим характеристики, аналогичные характеристикам класса A 710. Кроме того, запоминающее устройство 110 может хранить три матрицы индексов для каждого из других классов, которые не являются классом A 710. Например, число матриц третьего индекса может быть таким же, что и число классов. Кроме того, размеры множества третьих матриц индексов могут отличаться друг от друга.[182] Memory 110 may store a third Index Matrix 3 for class A 710, as illustrated in FIG. 7B. The third index matrix may include a plurality of index vectors corresponding to classes A' 720-1, 720-2, and 720-3 included in groups other than class A 710 and having similar characteristics to class A 710. In addition, , memory 110 may store three index matrices for each of the other classes that are not class A 710. For example, the number of third index matrices may be the same as the number of classes. In addition, the sizes of the plurality of third index matrices may differ from each other.

[183] Множество матриц третьих индексов может быть создано внешним сервером или создано процессором 120.[183] The plurality of third index matrices may be created by an external server or created by processor 120.

[184] Процессор 120 может выполнять умножение между третьей матрицей индексов 3 × c' и градиентным вектором c' × 1, размер отличительного признака которого является уменьшенным, и вычислять соответствия классам A' 720-1, 720-2 и 720-3, имеющим характеристики, аналогичные характеристикам класса A 710.[184] The processor 120 may perform the multiplication between the 3×c' third index matrix and the c'×1 gradient vector c'×1 whose feature size is reduced, and compute correspondences to the A' classes 720-1, 720-2, and 720-3 having characteristics similar to class A 710.

[185] Процесс вычисления соответствий третьей матрице индексов может быть добавлен в способ на фиг. 7A и 7B по сравнению со способом на фиг. 6A, 6B и 6C, но точность может быть улучшена.[185] A process for calculating matches to a third index matrix can be added to the method of FIG. 7A and 7B compared to the method in FIG. 6A, 6B and 6C, but the accuracy could be improved.

[186] Фиг. 8A и 8B являются схемами, иллюстрирующими примерный способ применения фильтра к блоку изображения согласно примерному варианту осуществления настоящего изобретения. На фиг. 8A блок изображения 5 × 5 иллюстрируется для удобства объяснения.[186] FIG. 8A and 8B are diagrams illustrating an exemplary method for applying a filter to an image block according to an exemplary embodiment of the present invention. In FIG. 8A, a 5×5 image block is illustrated for the convenience of explanation.

[187] Процессор 120 может применять, по меньшей мере, один из множества фильтров к блоку изображения на основе соответствий, вычисленных посредством способов, которые иллюстрированы на фиг. 5A, 5B, 6A, 6B, 6C, 7A и 7B. Например, когда соответствия всем классам вычисляются, как иллюстрировано на фиг. 5B, процессор 120 может получать первый фильтр, соответствующий классу 0,9, второй фильтр, соответствующий классу 0,2, и третий фильтр, соответствующий классу 0,1 в последовательности высоких соответствий. Каждый из множества фильтров может соответствовать каждому из множества классов. Например, в случае, в котором a классов создается в зависимости от характеристик блока изображения, один фильтр, соответствующий каждому из a классов, создается, и всего a фильтров может быть создано. Подробное описание для способа создания фильтров описывается ниже.[187] Processor 120 may apply at least one of a plurality of filters to the image block based on the matches computed by the methods that are illustrated in FIG. 5A, 5B, 6A, 6B, 6C, 7A and 7B. For example, when all class matches are computed, as illustrated in FIG. 5B, processor 120 may obtain a first filter corresponding to class 0.9, a second filter corresponding to class 0.2, and a third filter corresponding to class 0.1 in a high-match sequence. Each of the plurality of filters may correspond to each of the plurality of classes. For example, in a case in which a classes are created depending on the characteristics of the image block, one filter corresponding to each of the a classes is created, and a total of a filters can be created. A detailed description for the filter creation method is described below.

[188] Процессор 120 может преобразовывать множество фильтров в один фильтр посредством следующего уравнения 2:[188] The processor 120 may convert a plurality of filters into a single filter through the following Equation 2:

[189] [Уравнение 2][189] [Equation 2]

[190][190]

[191] Здесь, H(1), H(2) и H(3) указывают первый фильтр, второй фильтр и третий фильтр, соответственно, а C(1), C(2) и C(3) указывают соответствия блока изображения первому фильтру, второму фильтру и третьему фильтру, соответственно.[191] Here, H(1), H(2), and H(3) indicate the first filter, second filter, and third filter, respectively, and C(1), C(2), and C(3) indicate the image block correspondences the first filter, the second filter, and the third filter, respectively.

[192] Однако, настоящее изобретение не ограничивается этим, и процессор 120 может также преобразовывать множество фильтров в один фильтр без учета соответствий каждого фильтра. В этом случае, процессор 120 может преобразовывать множество фильтров в один фильтр, заменяя C(1), C(2) и C(3) на 1 в уравнении 2.[192] However, the present invention is not limited to this, and the processor 120 may also convert a plurality of filters into a single filter without considering the matches of each filter. In this case, processor 120 may convert multiple filters into a single filter by replacing C(1), C(2), and C(3) with 1 in Equation 2.

[193] Процессор 120 может получать конечный блок 820 изображения для целевого пиксела 810, применяя фильтр к блоку изображения 5 × 5, как иллюстрировано на фиг. 8A. Правая сторона на фиг. 8A иллюстрирует конечный блок изображения, в котором всего шесть целевых пикселов обрабатываются в изображении, и является видом, в котором применяется фильтр увеличения разрешения. Т.е., один целевой пиксел может быть увеличен до девяти пикселов в итоге.[193] Processor 120 may obtain final image block 820 for target pixel 810 by applying a filter to the 5×5 image block as illustrated in FIG. 8A. The right side in Fig. 8A illustrates a final image block in which a total of six target pixels are processed in an image, and is a view in which an upscaling filter is applied. That is, one target pixel can be scaled up to a total of nine pixels.

[194] Процессор 120 может векторизовать блок изображения и применять фильтр к блоку изображения. Например, процессор 120 может векторизовать блок изображения 5 × 5 и применять фильтр к блоку изображения 5 × 5. Т.е., процессор 120 может получать конечный блок изображения 3 × 3, как иллюстрировано с правой стороны на фиг. 8A, выполняя умножение между фильтром и вектором. Способ векторизации блока изображения и получения конечного блока изображения из вектора является таким же, или аналогичным, способу, описанному на фиг. 3E, и дублирующее описание, таким образом, пропускается.[194] Processor 120 may vectorize the image block and apply a filter to the image block. For example, processor 120 may vectorize a 5×5 image block and apply a filter to a 5×5 image block. That is, processor 120 may obtain a final 3×3 image block as illustrated on the right side of FIG. 8A by performing the multiplication between the filter and the vector. The method for vectorizing an image block and obtaining a final image block from the vector is the same or similar to the method described in FIG. 3E, and the duplicate description is thus omitted.

[195] Хотя случай, в котором фильтр увеличения разрешения используется, описан выше в данном документе, настоящее изобретение не ограничивается этим. Например, может быть использован фильтр повышения резкости. В этом случае, разрешение сохраняется как есть, и целевой пиксел может быть отфильтрован для повышения резкости на основе множества окружающих пикселов. Фильтр повышения резкости может также быть создан посредством алгоритма искусственного интеллекта, и дискретное изображение, используемое в процессе обучения, может отличаться от дискретного изображения в фильтре увеличения разрешения. Подробное описание для этого предоставляется ниже.[195] Although the case in which the resolution enhancement filter is used is described above in this document, the present invention is not limited thereto. For example, a sharpening filter may be used. In this case, the resolution is kept as is, and the target pixel can be filtered for sharpening based on the plurality of surrounding pixels. The sharpening filter may also be created by an artificial intelligence algorithm, and the discrete image used in the training process may be different from the discrete image in the resolution upscaling filter. A detailed description for this is provided below.

[196] Между тем, процессор 120 может хранить информацию о том, транспонирован или нет блок изображения в зависимости от направленности первоначального блока изображения, в запоминающем устройстве 110. Когда конечный блок изображения получается из транспонированного блока изображения, процессор 120 может снова транспонировать конечный блок изображения на основе информации, сохраненной в запоминающем устройстве 110, как иллюстрировано на фиг. 8B.[196] Meanwhile, the processor 120 may store information about whether or not the image block is transposed depending on the directionality of the original image block in the memory 110. When the final image block is obtained from the transposed image block, the processor 120 may again transpose the final image block based on the information stored in the storage device 110, as illustrated in FIG. 8B.

[197] Между тем, процессор 120 может получать дополнительный блок изображения, применяя фильтр без обучения к блоку изображения, и обновлять конечный блок изображения на основе наибольшего соответствия из множества вычисленных соответствий и дополнительного блока изображения.[197] Meanwhile, the processor 120 can obtain an additional image block by applying a non-learning filter to the image block and update the final image block based on the best match of the set of calculated matches and the additional image block.

[198] Подробно, процессор 120 может обновлять конечный блок изображения, как представлено посредством следующего уравнения 3:[198] In detail, processor 120 may update the final image block as represented by the following Equation 3:

[199] [Уравнение 3][199] [Equation 3]

[200] [200]

[201][201]

[202] Здесь, Y1' указывает обновленный конечный блок изображения, Y1 указывает конечный блок изображения, Y2 указывает дополнительный блок изображения, w указывает весовой коэффициент, c указывает наибольшее соответствие из множества вычисленных соответствий, а k указывает константу.[202] Here, Y1' indicates the updated end image block, Y1 indicates the end image block, Y2 indicates an additional image block, w indicates a weighting factor, c indicates the highest match of the set of calculated matches, and k indicates a constant.

[203] Фильтр без обучения может показывать лучшую характеристику по сравнению с характеристикой фильтра на основе обучения в зависимости от вида фильтра и вида характеристик изображения. Например, фильтр увеличения разрешения на основе обучения показывает отличную рабочую характеристику относительно крайних компонентов, отличительные признаки изображения которого являются ясными, но демонстрирует шумовой компонент относительно плоской области, отличительный признак изображения которой является неясным, или демонстрирует низкую рабочую характеристику на поверхности детального представления. Следовательно, в случае, в котором конечный блок изображения посредством фильтра увеличения разрешения на основе обучения обновляется с дополнительным блоком изображения посредством фильтра увеличения разрешения без обучения, как представлено следующим уравнением 3, отличная характеристика фильтрации может быть обеспечена относительно плоской области, отличительный признак изображения которой является неясным.[203] A filter without training may show a better performance compared to a filter performance based on training, depending on the kind of filter and the kind of image characteristics. For example, a learning-based resolution enhancement filter shows excellent performance relative to edge components whose image features are clear, but exhibits a noise component relative to a flat area whose image feature is unclear, or exhibits poor performance on the detail surface. Therefore, in the case in which the final image block by the learning-based resolution enhancement filter is updated with an additional image block by the non-training-based resolution enhancement filter as represented by the following Equation 3, excellent filtering performance can be provided with respect to a flat area whose image feature is unclear.

[204] Кроме того, поскольку соответствие между блоком изображения и фильтром увеличения разрешения на основе обучения учитывается в качестве весового коэффициента в процессе обновления, рабочая характеристика может быть дополнительно улучшена. Например, в случае, в котором блок изображения является плоской областью, отличительный признак изображения которой является неясным, соответствия блока изображения множеству классов могут быть низкими. Дискретный блок изображения, включающий в себя плоскую область, отличительный признак изображения которой является неясным, может быть исключен из обучения в процессе обучения.[204] In addition, since the correspondence between the image block and the training-based resolution enhancement filter is taken into account as a weighting factor in the update process, the performance can be further improved. For example, in a case in which the image block is a flat area whose image distinguishing feature is not clear, the correspondences of the image block to a plurality of classes may be low. A discrete image block including a flat area whose image feature is not clear may be excluded from training in the training process.

[205] Между тем, процессор 120 может также выполнять увеличение разрешения относительно неизученного увеличения, соединяя фильтр увеличения разрешения без обучения с фильтром увеличения разрешения на основе обучения последовательно.[205] Meanwhile, the processor 120 can also perform resolution enhancement relative to the unlearned magnification by connecting the untrained resolution enhancement filter to the training-based resolution enhancement filter in series.

[206] Например, фильтр увеличения разрешения на основе обучения задействуется в зависимости только от увеличивающего разрешение увеличения с обучением и может не задействоваться относительно увеличивающего разрешение увеличения без обучения. Однако, процессор 120 может увеличивать разрешение с помощью фильтра увеличения разрешения на основе обучения и затем выполнять передискретизацию с помощью фильтра увеличения разрешения без обучения, чтобы получать результат в зависимости от желаемого увеличивающего разрешение увеличения.[206] For example, the training-based resolution enhancement filter is activated depending on the trained resolution enhancement only, and may not be activated relative to the untrained resolution enhancement. However, processor 120 may upsample with the training-based upsampling filter and then resample with the untrained upsampling filter to produce a result depending on the desired upsampling.

[207] Между тем, хотя случай, в котором три фильтра взвешиваются и суммируются в уравнении 2, описан, настоящее изобретение не ограничивается этим. Например, процессор 120 может использовать только один фильтр или использовать множество фильтров и применять различные весовые коэффициенты к множеству фильтров.[207] Meanwhile, although the case in which three filters are weighted and summed in Equation 2 has been described, the present invention is not limited thereto. For example, processor 120 may use only one filter, or use multiple filters and apply different weights to the multiple filters.

[208] Кроме того, процессор 120 может предоставлять конечный блок изображения с помощью одного фильтра и множество конечных блоков изображения с помощью множества фильтров, к которым применяются различные весовые коэффициенты, и может изменять уравнение 2 в зависимости от выбора пользователя. Например, процессор 120 может предоставлять конечный блок изображения с помощью одного фильтра и множество конечных блоков изображения с помощью множества фильтров в зависимости от уравнения 2, и в случае, в котором пользователь выбирает конечный блок изображения с помощью одного фильтра, процессор 120 может использовать один фильтр в последующем процессе применения фильтра.[208] In addition, the processor 120 may provide a leaf image block with a single filter and a plurality of leaf image blocks with a plurality of filters to which different weights are applied, and may modify Equation 2 depending on the user's choice. For example, the processor 120 may provide an end image block with one filter and a plurality of end image blocks with a plurality of filters depending on Equation 2, and in the case where the user selects an end image block with one filter, the processor 120 may use one filter. in the subsequent process of applying the filter.

[209] Фиг. 9A и 9B являются схемами, иллюстрирующими примерный способ обучения для фильтра согласно примерному варианту осуществления настоящего изобретения. На фиг. 9A и 9B способ обучения фильтра увеличения разрешения и случай, в котором обучение выполняется во внешнем сервере, описываются для удобства объяснения.[209] FIG. 9A and 9B are diagrams illustrating an exemplary training method for a filter according to an exemplary embodiment of the present invention. In FIG. 9A and 9B, a resolution enhancement filter training method and a case in which training is performed in an external server are described for convenience of explanation.

[210] Внешний сервер может хранить изображение высокого разрешения, как иллюстрировано на фиг. 9A. Внешний сервер может считывать множество вторых дискретных блоков изображения из изображения высокого разрешения и получать множество первых дискретных изображений, уменьшая разрешение каждого из множества вторых дискретных блоков изображения, как иллюстрировано на фиг. 9B. Внешний сервер может хранить множество вторых дискретных блоков изображения, имеющих высокое разрешение, и множество первых дискретных блоков изображения, соответствующих множеству вторых дискретных блоков изображения и имеющих низкое разрешение. Здесь, высокое разрешение и низкое разрешение должны указывать относительные состояния, и блок изображения низкого разрешения может ссылаться, например, на блок изображения, имеющий разрешение ниже разрешения блока изображения высокого разрешения.[210] An external server may store a high resolution image as illustrated in FIG. 9A. The external server may read the plurality of second discrete picture blocks from the high-resolution image and obtain the plurality of first discrete pictures by reducing the resolution of each of the plurality of second discrete picture blocks, as illustrated in FIG. 9b. The external server may store a plurality of second discrete image blocks having a high resolution and a plurality of first discrete image blocks corresponding to a plurality of second discrete image blocks having a low resolution. Here, high resolution and low resolution should indicate relative states, and the low resolution image block may refer to, for example, an image block having a resolution lower than that of the high resolution image block.

[211] Внешний сервер может получать множество дискретных градиентных векторов из множества первых дискретных изображений. Здесь, внешний сервер может выполнять транспонирование с учетом направленности множества первых дискретных изображений, но это является необязательной операцией.[211] The external server may obtain a plurality of discrete gradient vectors from a plurality of first discrete images. Here, the external server may perform the transposition considering the directionality of the plurality of first discrete images, but this is an optional operation.

[212] Внешний сервер может получать собственный вектор из множества дискретных градиентных векторов и уменьшать размеры отличительных признаков множества дискретных градиентных векторов. Однако, внешний сервер может также выполнять обучение без уменьшения размеров отличительных признаков.[212] The external server may derive an eigenvector from the set of discrete gradient vectors and reduce the size of the features of the set of discrete gradient vectors. However, the external server may also perform training without feature size reduction.

[213] Внешний сервер может делить множество дискретных градиентных векторов, размеры отличительных признаков которых уменьшаются, на предварительно определенное число групп для каждой из характеристик блока изображения, и получать индексные векторы, представляющие каждую группу. Здесь, индексные векторы, представляющие каждую группу, могут быть такими же или могут не быть такими же, что и один из множества дискретных градиентных векторов, соответствующих соответствующей группе. Внешний сервер может получать матрицу индексов, включающую в себя множество индексных векторов.[213] The external server may divide the plurality of discrete gradient vectors whose feature sizes are reduced into a predetermined number of groups for each of the characteristics of the image block, and obtain index vectors representing each group. Here, the index vectors representing each group may or may not be the same as one of the plurality of discrete gradient vectors corresponding to the corresponding group. The external server may receive an index matrix including a plurality of index vectors.

[214] Для удобства объяснения, описывается случай, в котором внешний сервер делит характеристики блока изображения на две группы, имеющие вертикальную направленность и горизонтальную направленность. В этом случае, внешний сервер может получать два индексных вектора, представляющих каждую группу, и получать матрицу индексов, включающую в себя два индексных вектора.[214] For convenience of explanation, a case is described in which an external server divides the characteristics of an image block into two groups having a vertical orientation and a horizontal orientation. In this case, the external server may obtain two index vectors representing each group and obtain an index matrix including the two index vectors.

[215] Кроме того, внешний сервер может классифицировать первые дискретные блоки изображения в одну из двух групп. Например, внешний сервер может вычислять первые дискретные градиентные векторы для первых дискретных блоков изображения, вычислять соответствия первых дискретных блоков изображения двум группам посредством умножения между матрицей индексов и первыми дискретными градиентными векторами, и классифицировать первые дискретные блоки изображения в группу, имеющую более высокое соответствие. Внешний сервер может выполнять процесс, который описан выше, по всем из первых дискретных блоков изображения. В результате, например, 354000 из 1000000 первых дискретных блоков изображения могут быть классифицированы в группу, имеющую горизонтальную направленность, а 646000 из 1000000 первых дискретных блоков изображения могут быть классифицированы в группу, имеющую вертикальную направленность.[215] In addition, the external server may classify the first discrete image blocks into one of two groups. For example, the external server may compute the first discrete gradient vectors for the first discrete image blocks, compute the correspondences of the first discrete image blocks to two groups by multiplying between the index matrix and the first discrete gradient vectors, and classify the first discrete image blocks into a group having a higher match. The external server may perform the process as described above on all of the first discrete image blocks. As a result, for example, 354,000 out of 1,000,000 first discrete image blocks can be classified into a group having a horizontal directionality, and 646,000 out of 1,000,000 first discrete image blocks can be classified into a group having a vertical directionality.

[216] Внешний сервер может создавать первый фильтр, изучая соотношение между 354000 первыми дискретными блоками изображения, имеющими горизонтальную направленность, и 354000 вторыми дискретными блоками изображения, соответствующими 354000 первым дискретным блокам изображения, посредством алгоритма искусственного интеллекта. Кроме того, внешний сервер может создавать второй фильтр, изучая соотношение между 646000 первых дискретных блоков изображения, имеющих вертикальную направленность, и 646000 вторых дискретных блоков изображения, соответствующих 646000 первых дискретных блоков изображения, посредством алгоритма искусственного интеллекта.[216] The external server may create a first filter by learning the relationship between the 354,000 first discrete image blocks having horizontal directionality and the 354,000 second discrete image blocks corresponding to the 354,000 first discrete image blocks through an artificial intelligence algorithm. In addition, the external server can create a second filter by learning the relationship between the 646,000 first discrete image blocks having a vertical directionality and the 646,000 second discrete image blocks corresponding to the first 646,000 discrete image blocks through the artificial intelligence algorithm.

[217] Индексный вектор может рассматриваться как индекс, указывающий характеристики одного блока изображения, и фильтр, соответствующий индексному вектору, может быть получен посредством изучения первых дискретных блоков изображения и вторых дискретных блоков изображения, соответствующих первым дискретным блокам изображения, на основе характеристик блока изображения, соответствующего соответствующему индексному вектору.[217] An index vector may be considered as an index indicating the characteristics of one image block, and a filter corresponding to the index vector may be obtained by examining the first discrete image blocks and the second discrete image blocks corresponding to the first discrete image blocks based on the characteristics of the image block, corresponding to the corresponding index vector.

[218] Внешний сервер может выполнять обучение посредством способа минимизации и/или уменьшения погрешности норматива L2 и способа минимизации и/или уменьшения погрешности норматива L1. Например, внешний сервер может вычислять фильтр увеличения изображения, минимизирующий и/или уменьшающий погрешность норматива L2 посредством следующего уравнения 4:[218] The external server may perform training by the L2 target error minimization and/or reduction method and the L1 target error minimization and/or reduction method. For example, the external server may compute an image enlargement filter that minimizes and/or reduces the L2 target error through the following Equation 4:

[219] [Уравнение 4][219] [Equation 4]

[220][220]

[221] Здесь, K означает класс, X указывает значение изображения для дискретного блока изображения высокого разрешения, а Y указывает значение изображения для дискретного блока изображения низкого разрешения.[221] Here, K means a class, X indicates an image value for a high-resolution discrete image block, and Y indicates an image value for a low-resolution discrete image block.

[222] Однако, это является лишь примером, и различные способы обучения могут быть использованы.[222] However, this is only an example, and various teaching methods can be used.

[223] Кроме того, хотя случай изучения блока изображения высокого разрешения и блока изображения низкого разрешения описывается на фиг. 9A и 9B, настоящее изобретение не ограничивается этим. Например, внешний сервер может также получать фильтр повышения резкости или фильтр размытия, изучая размытый блок изображения и резкий блок изображения. В этом случае, разрешение блока изображения может не быть изменено. Здесь, размытый блок изображения означает блок изображения, имеющий резкость относительно более низкую по сравнению с резкостью резкого блока изображения.[223] In addition, although the case of learning a high resolution image block and a low resolution image block is described in FIG. 9A and 9B, the present invention is not limited thereto. For example, the external server may also obtain a sharpening filter or a blur filter by learning a blurry image block and a sharp image block. In this case, the resolution of the image block may not be changed. Here, blurry image block means an image block having a sharpness relatively lower than that of a sharp image block.

[224] Кроме того, электронное устройство 100 вместо внешнего сервера может непосредственно выполнять обучение. В этом случае, запоминающее устройство 110 может хранить первые дискретные блоки изображения и вторые дискретные блоки изображения, и процессор 120 может получать матрицу индексов и множество фильтров, выполняя обучение на основе сохраненной информации. Кроме того, когда блок изображения вводится, процессор 120 может создавать конечный блок изображения, применяя, по меньшей мере, один фильтр к введенному блоку изображения.[224] In addition, the electronic device 100 can directly perform training instead of an external server. In this case, the memory 110 may store the first discrete image blocks and the second discrete image blocks, and the processor 120 may obtain an index matrix and a plurality of filters by performing learning based on the stored information. In addition, when an image block is input, processor 120 may create a final image block by applying at least one filter to the input image block.

[225] Между тем, описывается выше, что транспонирование блока изображения в зависимости от результата оценки направленности, уменьшение размера отличительного признака градиентного вектора и применение фильтра без обучения являются необязательными операциями. Например, матрица индексов и фильтры могут быть изменены в зависимости от того, выполняются или нет необязательные операции.[225] Meanwhile, it is described above that transposing the image block depending on the directivity estimation result, reducing the size of the gradient vector feature, and applying the filter without training are optional operations. For example, the index matrix and filters can be changed depending on whether optional operations are performed or not.

[226] Например, когда транспонирование блока изображения в зависимости от результата оценки направленности выполняется, может быть создана матрица индексов a × c (в случае, в котором уменьшение размера отличительного признака не выполняется). С другой стороны, когда транспонирование блока изображения в зависимости от результата оценки направленности не выполняется, может быть создана матрица индексов 2 × a × c (в случае, в котором уменьшение размера отличительного признака не выполняется). Это обусловлено тем, что в случае, в котором характеристики изображения делятся на a, когда транспонирование не выполняется, два случая горизонтальной направленности и вертикальной направленности разделяются, и характеристики изображения, таким образом, дублируются.[226] For example, when the transposition of the image block depending on the result of the directionality estimation is performed, an a × c index matrix can be created (in the case in which the feature size reduction is not performed). On the other hand, when the transposition of the image block depending on the directivity estimation result is not performed, a 2 × a × c index matrix may be created (in the case in which feature size reduction is not performed). This is because in a case in which image characteristics are divided by a, when no transposition is performed, the two cases of horizontal directionality and vertical directionality are separated, and image characteristics are thus duplicated.

[227] Когда уменьшение размера отличительного признака градиентных векторов выполняется, матрица индексов a × c' (в случае, в котором транспонирование выполняется) может быть создана. С другой стороны, когда уменьшение размера отличительного признака градиентных векторов не выполняется, может быть создана матрица индексов a × c (в случае, в котором транспонирование выполняется).[227] When reducing the size of the feature of the gradient vectors is performed, an index matrix a × c' (in the case in which the transposition is performed) can be created. On the other hand, when the feature size reduction of the gradient vectors is not performed, an a × c index matrix (in the case in which the transposition is performed) can be created.

[228] Фиг. 10 является блок-схемой последовательности операций, иллюстрирующей примерную операцию передачи изображения согласно примерному варианту осуществления настоящего изобретения.[228] FIG. 10 is a flowchart illustrating an exemplary image transmission operation according to an exemplary embodiment of the present invention.

[229] Внешний сервер 200 может, например, и без ограничения, быть устройством, предоставляющим изображение электронному устройству 100. Кроме того, внешний сервер 200 может, например, и без ограничения, быть настольным PC, переносным PC, планшетом, смартфоном или т.п., также как сервером, и может быть любым устройством, которое может выполнять обучение посредством алгоритма искусственного интеллекта и выполнять кодирование.[229] The external server 200 may, for example and without limitation, be a device that provides an image to the electronic device 100. In addition, the external server 200 may, for example and without limitation, be a desktop PC, laptop PC, tablet, smartphone, or the like. as well as a server, and can be any device that can perform AI learning and encoding.

[230] Внешний сервер 200 может получать изображение низкого разрешения из изображения высокого разрешения (S1010). Например, внешний сервер 200 может получать 4K видео из 8K видео. Способ уменьшения разрешения видео может быть любым способом.[230] The external server 200 may obtain a low-resolution image from a high-resolution image (S1010). For example, external server 200 may receive 4K video from 8K video. The way to reduce video resolution can be any way.

[231] Кроме того, внешний сервер 200 может создавать информацию фильтра, изучая изображение высокого разрешения и изображение низкого разрешения (S1020). Например, внешний сервер 200 может делить соответствующие кадры изображения высокого разрешения на блоки изображения, имеющие предварительно определенный размер, и может также делить изображение низкого разрешения тем же способом. В этом случае, число блоков изображения, созданных из изображения высокого разрешения, может быть таким же, что и число блоков изображения, созданных из изображения низкого разрешения. Кроме того, каждый из блоков изображения, созданных из изображения высокого разрешения, может соответствовать одному из блоков изображения, созданных из изображения низкого разрешения, и может отличаться только в разрешении от одного из блоков изображения, созданных из изображения низкого разрешения. Далее в данном документе блоки изображения, созданные из изображения высокого разрешения и блоки изображения, созданные из изображения низкого разрешения, описываются как блоки изображения высокого разрешения и блоки изображения низкого разрешения, соответственно.[231] In addition, the external server 200 can generate filter information by examining a high-resolution image and a low-resolution image (S1020). For example, the external server 200 may divide the corresponding high-resolution image frames into image blocks having a predetermined size, and may also divide the low-resolution image in the same manner. In this case, the number of image blocks created from the high resolution image may be the same as the number of image blocks created from the low resolution image. In addition, each of the image blocks created from the high resolution image may correspond to one of the image blocks created from the low resolution image, and may only differ in resolution from one of the image blocks created from the low resolution image. Hereinafter, image blocks created from a high-resolution image and image blocks created from a low-resolution image are described as high-resolution image blocks and low-resolution image blocks, respectively.

[232] Внешний сервер 200 может создавать множество фильтров, выполняя обучение для получения соответствующих блоков изображения высокого разрешения из блоков изображения низкого разрешения. Здесь, способ создания множества фильтров совпадает со способом, описанным на фиг. 1A-9B, и его описание, таким образом, не повторяется здесь.[232] The external server 200 may create a plurality of filters by performing training to obtain corresponding high-resolution image blocks from low-resolution image blocks. Here, the method for creating a plurality of filters is the same as the method described in FIG. 1A-9B, and its description is thus not repeated here.

[233] Кроме того, внешний сервер 200 может кодировать и сжимать изображение низкого разрешения (S1030). Способ кодирования особенно не ограничивается.[233] In addition, the external server 200 may encode and compress the low resolution image (S1030). The encoding method is not particularly limited.

[234] Внешний сервер 200 может передавать закодированное изображение низкого разрешения и информацию фильтра электронному устройству 100 (S1040). Здесь, информация фильтра может включать в себя матрицу индексов и множество фильтров. Кроме того, согласно примерному варианту осуществления, информация фильтра может дополнительно включать в себя собственный вектор. Кроме того, информация фильтра может включать в себя способ деления соответствующего кадра изображения низкого разрешения на блоки изображения, имеющие предварительно определенный размер.[234] The external server 200 may transmit the low-resolution encoded image and filter information to the electronic device 100 (S1040). Here, the filter information may include an index matrix and a plurality of filters. In addition, according to an exemplary embodiment, the filter information may further include an eigenvector. In addition, the filter information may include a method for dividing the corresponding low-resolution image frame into image blocks having a predetermined size.

[235] Электронное устройство 100 может декодировать закодированное изображение низкого разрешения, чтобы воссоздавать изображение низкого изображения (S1050). Способ декодирования особенно не ограничивается, пока он соответствует способу кодирования внешнего сервера 200.[235] The electronic device 100 may decode the low resolution encoded image to recreate the low image image (S1050). The decoding method is not particularly limited as long as it matches the encoding method of the external server 200.

[236] Электронное устройство 100 может воссоздавать изображение высокого разрешения, применяя информацию фильтра к изображению низкого разрешения (S1060). Например, электронное устройство 100 может делить изображение низкого разрешения на множество блоков изображения на основе способа деления соответствующих кадров изображения низкого разрешения на блоки изображения, имеющие предварительно определенный размер, включенный в информацию фильтра. Кроме того, электронное устройство 100 может получать блоки изображения высокого разрешения из соответствующих блоков изображения на основе матрицы индексов и множества фильтров. Способ получения блоков изображения высокого разрешения совпадает со способом, описанным на фиг. 1A-9B, и его описание, таким образом, не повторяется здесь. Электронное устройство 100 может получать изображение высокого разрешения из множества блоков изображения высокого разрешения.[236] The electronic device 100 can recreate a high resolution image by applying the filter information to the low resolution image (S1060). For example, the electronic device 100 may divide a low-resolution image into a plurality of image blocks based on a method for dividing corresponding low-resolution image frames into image blocks having a predetermined size included in the filter information. In addition, the electronic device 100 can obtain high-resolution image blocks from the corresponding image blocks based on an index matrix and a plurality of filters. The method for obtaining high-resolution image blocks is the same as that described in FIG. 1A-9B, and its description is thus not repeated here. The electronic device 100 may acquire a high resolution image from a plurality of high resolution image blocks.

[237] Трудно передавать 8K изображение только посредством текущей технологии кодирования, но 8K изображение может быть передано посредством способа, который описан выше. Например, внешний сервер 200 может кодировать 4K изображение и передавать закодированное 4K изображение электронному устройству 100. Кроме того, электронное устройство 100 может декодировать принятую информацию, чтобы воссоздавать 4K изображение, и может создавать 8K изображение из 4K изображения с помощью данных обучения, полученные посредством алгоритма искусственного интеллекта, чтобы получать 8K изображение из 4K изображения.[237] It is difficult to transmit an 8K image only by the current coding technology, but an 8K image can be transmitted by the method described above. For example, the external server 200 may encode a 4K image and transmit the encoded 4K image to the electronic device 100. In addition, the electronic device 100 may decode the received information to recreate a 4K image, and may create an 8K image from the 4K image using the training data obtained by the algorithm artificial intelligence to get 8K image from 4K image.

[238] Информация фильтра, переданная от внешнего сервера 200 электронному устройству 100, является лишь инструментом для получения 8K изображения из 4K изображения и может считаться отличающейся от информации изображения. Например, емкость информации фильтра может быть гораздо меньше емкости, когда 8K изображение непосредственно передается, а в случае использования информации фильтра, как описано выше, потоковая передача 8K изображения может быть возможной.[238] The filter information transmitted from the external server 200 to the electronic device 100 is only a tool for obtaining an 8K image from a 4K image, and can be considered different from the image information. For example, the filter information capacity may be much smaller than the capacity when an 8K image is directly transmitted, and in the case of using the filter information as described above, 8K image streaming may be possible.

[239] Фиг. 11 является блок-схемой последовательности операций, иллюстрирующей примерный способ управления электронным устройством согласно примерному варианту осуществления настоящего изобретения.[239] FIG. 11 is a flowchart illustrating an exemplary method for controlling an electronic device according to an exemplary embodiment of the present invention.

[240] Блок изображения, включающий в себя целевой пиксел и множество окружающих пикселов, классифицируется в один из множества шаблонов изображения на основе соотношения между пикселами в блоке изображения (S1110). Кроме того, конечный блок изображения, в котором целевой пиксел обрабатывается в изображении, получается посредством применения, по меньшей мере, одного фильтра, соответствующего классифицированному шаблону изображения, среди множества фильтров, каждый из которых соответствует множеству шаблонов изображения, к блоку изображения (S1120). Множество фильтров может быть получено посредством изучения соотношения между множеством первых дискретных блоков изображения и множеством вторых дискретных блоков изображения, соответствующих множеству первых дискретных блоков изображения, посредством алгоритма искусственного интеллекта на основе каждого из множества шаблонов изображения.[240] An image block including a target pixel and a plurality of surrounding pixels is classified into one of the plurality of image templates based on the relationship between pixels in the image block (S1110). In addition, the final image block in which the target pixel is processed in the image is obtained by applying at least one filter corresponding to the classified image template among the plurality of filters each corresponding to the plurality of image templates to the image block (S1120). The plurality of filters can be obtained by learning the relationship between the plurality of first discrete image blocks and the plurality of second discrete image blocks corresponding to the plurality of first discrete image blocks by an artificial intelligence algorithm based on each of the plurality of image templates.

[241] Классификация (S1110) может включать в себя вычисление градиентного вектора из блока изображения, вычисление соответствий блока изображения каждому из множества индексных векторов на основе матрицы индексов, включающей в себя множество индексных векторов, и градиентного вектора, и классификацию блока изображения в один из множества шаблонов изображения на основе вычисленных соответствий, и множество индексных векторов могут быть получены на основе множества дискретных градиентных векторов, вычисленных из множества первых дискретных блоков изображения, и могут соответствовать множеству шаблонов изображения, соответственно.[241] Classifying (S1110) may include calculating a gradient vector from the image block, calculating correspondences of the image block to each of the plurality of index vectors based on an index matrix including the plurality of index vectors and the gradient vector, and classifying the image block into one of the image pattern sets based on the calculated matches, and the index vector set may be obtained based on the set of discrete gradient vectors calculated from the set of first discrete image blocks and may correspond to the set of image patterns, respectively.

[242] Кроме того, при вычислении градиентного вектора, градиентный вектор может быть вычислен из блока изображения, когда интенсивность горизонтальной направленности блока изображения больше интенсивности вертикальной направленности блока изображения, и блок изображения может быть транспонирован, и градиентный вектор может быть вычислен из транспонированного блока изображения, когда интенсивность горизонтальной направленности блока изображения меньше интенсивности вертикальной направленности блока изображения.[242] In addition, when calculating the gradient vector, the gradient vector can be calculated from the image block when the intensity of the horizontal directivity of the image block is greater than the intensity of the vertical directivity of the image block, and the image block can be transposed, and the gradient vector can be calculated from the transposed image block when the intensity of the horizontal directivity of the image block is less than the intensity of the vertical directivity of the image block.

[243] Между тем, способ управления электронным устройством согласно примерному варианту осуществления настоящего изобретения может дополнительно включать в себя уменьшение размера градиентного вектора с помощью собственного вектора, при этом в вычислении соответствий соответствия блока изображения каждому из множества индексных векторов вычисляются на основе градиентного вектора, размер которого является уменьшенным, и собственный вектор создается посредством применения анализа основных компонентов из множества дискретных градиентных векторов.[243] Meanwhile, the method for controlling the electronic device according to the exemplary embodiment of the present invention may further include reducing the size of the gradient vector with an eigenvector, wherein in computing the correspondences of the image block to each of the plurality of index vectors, based on the gradient vector, the size which is reduced, and the eigenvector is created by applying principal component analysis from a set of discrete gradient vectors.

[244] Кроме того, вычисление соответствий может включать в себя вычисление первого соответствия блока изображения каждой из множества групп индексных векторов на основе первой матрицы индексов и градиентного вектора, получение одной из множества групп индексных векторов на основе первого соответствия, получение второй матрицы индексов, соответствующей полученной группе индексных векторов, среди множества вторых матриц индексов и вычисление второго соответствия блока изображения каждому из множества индексных векторов, включенных в полученную группу индексных векторов, на основе полученной второй матрицы индексов и градиентного вектора, и при получении (S1120) конечного блока изображения конечный блок изображения может быть получен посредством применения, по меньшей мере, одного из множества фильтров к блоку изображения на основе второго соответствия, множество групп индексных векторов могут быть получены посредством деления множества индексных векторов на предварительно определенное число групп, первая матрица индексов может включать в себя индексные векторы, представляющие каждую из множества групп индексных векторов, и каждая из множества вторых матриц индексов может включать в себя множество индексных векторов, соответствующих каждой из множества групп индексных векторов.[244] Further, calculating the matches may include calculating a first match of the image block to each of the plurality of index vector groups based on the first index matrix and the gradient vector, deriving one of the plurality of index vector groups based on the first match, deriving a second index matrix corresponding to obtained index vector group, among the plurality of second index matrices, and calculating a second image block correspondence to each of the plurality of index vectors included in the obtained index vector group, based on the obtained second index matrix and the gradient vector, and upon obtaining (S1120) the end image block, the end block image may be obtained by applying at least one of the plurality of filters to the image block based on the second match, the plurality of index vector groups may be obtained by dividing the plurality of index vectors by a predetermined number group layer, the first index matrix may include index vectors representing each of the plurality of index vector groups, and each of the plurality of second index matrices may include a plurality of index vectors corresponding to each of the plurality of index vector groups.

[245] Вычисление соответствий может включать в себя получение одного из множества индексных векторов, включенных в полученную группу индексных векторов, на основе второго соответствия, получение, по меньшей мере, одного дополнительного индексного вектора, включенного в другие из множества групп индексных векторов и соответствующего полученному индексному вектору, на основе аналогичной информации индексного вектора, и вычисление третьего соответствия блока изображения на основе полученного индексного вектора, полученного дополнительного индексного вектора и градиентного вектора, и при получении (S1120) конечного блока изображения конечный блок изображения может быть получен посредством применения, по меньшей мере, одного из множества фильтров к блоку изображения на основе третьего соответствия.[245] Calculating matches may include deriving one of the plurality of index vectors included in the obtained index vector group based on the second match, deriving at least one additional index vector included in others of the plurality of index vector groups and corresponding to the obtained to the index vector, based on the same information of the index vector, and calculating a third image block correspondence based on the obtained index vector, the obtained additional index vector, and the gradient vector, and when obtaining (S1120) the end image block, the end image block can be obtained by applying at least at least one of the plurality of filters to the image block based on the third match.

[246] Между тем, получение (S1120) конечного блока изображения может включать в себя получение, по меньшей мере, двух из множества фильтров на основе множества вычисленных соответствий, вычисление конечного фильтра на основе, по меньшей мере, двух фильтров и соответствий, соответствующих каждому, по меньшей мере, из двух фильтров, и получение конечного блока изображения посредством применения вычисленного конечного фильтра к блоку изображения.[246] Meanwhile, obtaining (S1120) a final image block may include obtaining at least two of the plurality of filters based on the plurality of calculated matches, calculating the final filter based on at least two filters and the correspondences corresponding to each of at least two filters, and obtaining a final image block by applying the computed final filter to the image block.

[247] Кроме того, множество первых дискретных блоков изображения могут быть изображениями, в которых разрешения соответствующих вторых дискретных блоков изображения являются уменьшенными, соответственно, и при получении (S1120) конечного блока изображения конечный блок изображения, в котором разрешение целевого пиксела является увеличенным, может быть получен посредством применения, по меньшей мере, одного из множества фильтров к блоку изображения.[247] In addition, the plurality of first discrete image blocks may be images in which the resolutions of the respective second discrete image blocks are reduced, respectively, and when obtaining (S1120) the target image block, the target image block in which the resolution of the target pixel is increased may be obtained by applying at least one of the plurality of filters to the image block.

[248] Способ управления электронным устройством согласно примерному варианту осуществления настоящего изобретения может дополнительно включать в себя получение дополнительного блока изображения, в котором разрешение целевого пиксела увеличивается посредством применения технологии увеличения разрешения без обучения к блоку изображения, и обновление конечного блока изображения на основе наибольшего соответствия из множества вычисленных соответствий и дополнительного блока изображения.[248] The method for controlling an electronic device according to an exemplary embodiment of the present invention may further include obtaining an additional image block in which the resolution of the target pixel is increased by applying a learning-less resolution upscaling technique to the image block, and updating the final image block based on the best match of a set of computed matches and an additional image block.

[249] Между тем, при вычислении градиентного вектора, горизонтальные градиенты и вертикальные градиенты для целевого пиксела и каждого из множества окружающих пикселов могут быть вычислены, и градиентный вектор может быть вычислен на основе горизонтальных градиентов и вертикальных градиентов.[249] Meanwhile, when calculating the gradient vector, horizontal gradients and vertical gradients for the target pixel and each of the plurality of surrounding pixels can be calculated, and the gradient vector can be calculated based on the horizontal gradients and vertical gradients.

[250] Кроме того, каждый из множества фильтров может быть получен посредством получения множества первых субдискретных блоков изображения, соответствующих одному из множества индексных векторов, среди множества первых дискретных блоков изображения, получения множества вторых субдискретных блоков изображения, соответствующих множеству первых субдискретных блоков изображения, среди множества вторых дискретных блоков изображения, и изучения соотношения между множеством первых субдискретных блоков изображения и множеством вторых субдискретных блоков изображения посредством алгоритма искусственного интеллекта.[250] In addition, each of the plurality of filters can be obtained by obtaining a plurality of first subsample image blocks corresponding to one of the plurality of index vectors, among the plurality of first discrete image blocks, obtaining a plurality of second subsample image blocks corresponding to the plurality of first subsample image blocks, among the plurality of second sub-sample image blocks, and learning the relationship between the plurality of first sub-sample image blocks and the plurality of second sub-sample image blocks by an artificial intelligence algorithm.

[251] Согласно различным примерным вариантам осуществления настоящего изобретения, как описано выше, электронное устройство может выполнять обработку изображения в реальном времени и, таким образом, использоваться в различных прикладных задачах и может улучшать качество обработки изображения по сравнению с обработкой изображения без обучения посредством выполнения обработки изображения на основе обучения.[251] According to various exemplary embodiments of the present invention, as described above, an electronic device can perform real-time image processing and thus be used in various applications, and can improve image processing quality compared to image processing without training by performing processing images based learning.

[252] Между тем, процессор может применять фильтр для каждого пиксела блока изображения. Процессор может применять фильтр для каждого субпиксела каждого пиксела в блоке изображения. Процессор может применять фильтр только к некоторым из субпикселов. Процессор может отличать составляющую цветности и составляющую яркости каждого пиксела в блоке изображения друг от друга и применять фильтр, по меньшей мере, к одной из составляющей цветности и составляющей яркости.[252] Meanwhile, the processor may apply the filter to each pixel of the image block. The processor may apply the filter to each subpixel of each pixel in the image block. The processor may only apply the filter to some of the subpixels. The processor may distinguish the chrominance component and the luma component of each pixel in the image block from each other and apply a filter to at least one of the chrominance component and the luminance component.

[253] Между тем, согласно примерному варианту осуществления настоящего изобретения, различные примерные варианты осуществления, описанные выше, могут быть реализованы посредством программного обеспечения, включающего в себя инструкции, сохраненные на машиночитаемом носителе хранения (например, компьютерно-читаемом носителе хранения). Машина может быть устройством, которое вызывает сохраненную инструкцию с носителя хранения и может работать в зависимости от вызванной инструкции, и может включать в себя электронное устройство согласно раскрытым примерным вариантам осуществления. В примере, в котором команда выполняется процессором, процессор может непосредственно выполнять функцию, соответствующую команде, или другие компоненты могут выполнять функцию, соответствующую команде, под управлением процессора. Команда может включать в себя коды, созданные или исполняемые компилятором или интерпретатором. Машиночитаемый носитель хранения может быть предоставлен в форме долговременного носителя хранения. Здесь, термин 'долговременный' может ссылаться, например, на носитель хранения, который является материальным, и не различает, хранятся ли данные почти постоянно или временно на носителе хранения.[253] Meanwhile, according to an exemplary embodiment of the present invention, the various exemplary embodiments described above can be implemented by software including instructions stored on a computer-readable storage medium (eg, a computer-readable storage medium). The machine may be a device that recalls a stored instruction from a storage medium and may operate depending on the recalled instruction, and may include an electronic device according to the disclosed exemplary embodiments. In the example in which the instruction is executed by the processor, the processor may directly perform the function corresponding to the instruction, or other components may perform the function corresponding to the instruction under the control of the processor. The command may include codes generated or executed by a compiler or interpreter. The computer-readable storage medium may be provided in the form of a durable storage medium. Here, the term 'durable' may refer to, for example, a storage medium that is tangible and does not distinguish whether data is stored almost permanently or temporarily on the storage medium.

[254] Кроме того, согласно примерному варианту осуществления настоящего изобретения, способы согласно различным примерным вариантам осуществления, описанным выше, могут быть включены и предоставлены в компьютерном программном продукте. Компьютерный программный продукт может обращаться как продукт между продавцом и покупателем. Компьютерный программный продукт может распространяться в форме носителя хранения (например, постоянного запоминающего устройства на компакт-диске (CD-ROM)), который может быть считан машиной, или онлайн через магазин приложений (например, PlayStore™). В случае онлайн-распространения, по меньшей мере, фрагменты компьютерного программного продукта могут быть, по меньшей мере, временно сохранены на носителе хранения, таком как память сервера производителя, сервера магазина приложений или сервера ретрансляции или быть временно созданы.[254] In addition, according to an exemplary embodiment of the present invention, the methods according to the various exemplary embodiments described above may be included and provided in a computer program product. The computer program product may be traded as a product between the seller and the buyer. The computer program product may be distributed in the form of a storage medium (eg, compact disc read only memory (CD-ROM)) that can be read by a machine, or online through an application store (eg, PlayStore™). In the case of online distribution, at least portions of the computer program product may be at least temporarily stored on a storage medium, such as the memory of a manufacturer's server, an application store server, or a relay server, or be temporarily created.

[255] Кроме того, согласно примерному варианту осуществления настоящего изобретения, различные примерные варианты осуществления, описанные выше, могут быть реализованы в компьютере или компьютерно-читаемом носителе хранения с помощью программного обеспечения, аппаратных средств или любого сочетания программного обеспечения и аппаратных средств. В некоторых случаях, примерные варианты осуществления, описанные в настоящем изобретении, могут быть реализованы самим процессором. Согласно программной реализации, примерные варианты осуществления, такие как процедуры и функции, описанные в настоящем изобретении, могут быть реализованы посредством отдельных программных модулей. Каждый из программных модулей может выполнять одну или более функций и операций, описанных в настоящем изобретении.[255] In addition, according to an exemplary embodiment of the present invention, the various exemplary embodiments described above may be implemented in a computer or computer-readable storage medium using software, hardware, or any combination of software and hardware. In some cases, the exemplary embodiments described in the present invention may be implemented by the processor itself. According to software implementation, exemplary embodiments such as the procedures and functions described in the present invention may be implemented by separate software modules. Each of the software modules may perform one or more of the functions and operations described in the present invention.

[256] Между тем, компьютерные инструкции для выполнения операций обработки машин согласно различному примерному варианту осуществления настоящего изобретения, описанному выше, могут быть сохранены на долговременном компьютерно-читаемом носителе. Компьютерные инструкции, сохраненные на долговременном компьютерно-читаемом носителе, предоставляют возможность конкретной машине выполнять операции обработки в машине согласно различным примерным вариантам осуществления, описанным выше, когда они выполняются процессором конкретной машины. Долговременный компьютерно-читаемый носитель может ссылаться, например, на носитель, который почти постоянно хранит данные в себе и является считываемым машиной. Примеры долговременного компьютерно-читаемого носителя могут включать в себя компакт-диск (CD), цифровой универсальный диск (DVD), жесткий диск, диск Blu-ray, универсальную последовательную шину (USB), карту памяти, постоянное запоминающее устройство (ROM) или т.п.[256] Meanwhile, computer instructions for performing the processing operations of the machines according to the various exemplary embodiment of the present invention described above can be stored in a non-volatile computer-readable medium. Computer instructions stored on a non-volatile computer-readable medium enable a particular machine to perform processing operations on the machine according to the various exemplary embodiments described above when they are executed by the processor of the particular machine. A durable computer-readable medium may refer to, for example, a medium that stores data almost permanently in itself and is machine-readable. Examples of non-volatile computer-readable media may include a compact disc (CD), a digital versatile disc (DVD), a hard drive, a Blu-ray disc, a universal serial bus (USB), a memory card, a read only memory (ROM), or the like. .P.

[257] Кроме того, каждый из компонентов (например, модулей или программ) согласно различным примерным вариантам осуществления, описанным выше, может включать в себя единственный объект или множество объектов, и некоторые из соответствующих подкомпонентов, описанных выше, могут быть пропущены, или другие подкомпоненты могут быть дополнительно включены в различные примерные варианты осуществления. Альтернативно или дополнительно, некоторые из компонентов (например, модули или программы) могут быть объединены в один объект и могут выполнять функции, выполняемые соответственными соответствующими компонентами перед объединением, таким же или аналогичным образом. Операции, выполняемые модулями, программами или другими компонентами согласно различным примерным вариантам осуществления, могут выполняться последовательным образом, параллельным образом, итеративным образом или эвристическим образом, по меньшей мере, некоторые из операций могут выполняться в другом порядке или быть пропущены, или другие операции могут быть добавлены.[257] In addition, each of the components (e.g., modules or programs) according to the various exemplary embodiments described above may include a single object or a plurality of objects, and some of the respective subcomponents described above may be omitted, or others subcomponents may be further included in various exemplary embodiments. Alternatively or additionally, some of the components (eg, modules or programs) may be combined into one entity and may perform the functions performed by the respective respective components before being combined in the same or similar manner. The operations performed by modules, programs, or other components according to various exemplary embodiments may be performed in a serial manner, in a parallel manner, in an iterative manner, or in a heuristic manner, at least some of the operations may be performed in a different order or omitted, or other operations may be added.

[258] Хотя различные примерные варианты осуществления настоящего изобретения были иллюстрированы и описаны выше в данном документе, настоящее изобретение не ограничивается вышеупомянутыми конкретными примерными вариантами осуществления, но могут быть по-разному модифицированы специалистами в области техники, к которой настоящее изобретение принадлежит, без отступления от истинного духа и полных рамок настоящего изобретения, как описано в сопровождающей формуле изобретения. Эти модификации следует также понимать как попадающие в рамки и дух настоящего изобретения.[258] Although various exemplary embodiments of the present invention have been illustrated and described above herein, the present invention is not limited to the above specific exemplary embodiments, but can be modified in various ways by those skilled in the art to which the present invention belongs without departing from the true spirit and full scope of the present invention as described in the accompanying claims. These modifications are also to be understood as falling within the scope and spirit of the present invention.

Claims (40)

1. Электронное устройство, выполняющее обработку изображения, содержащее:1. An electronic device that performs image processing, comprising: запоминающее устройство, сконфигурированное, чтобы хранить множество фильтров, причем каждый из множества фильтров соответствует множеству шаблонов изображения; и a storage device configured to store a plurality of filters, each of the plurality of filters corresponding to a plurality of image templates; and процессор, сконфигурированный, чтобы классифицировать блок изображения, включающий в себя целевой пиксел и множество окружающих пикселов, в один из множества шаблонов изображения на основе соотношения между пикселами в блоке изображения и получать конечный блок изображения, в котором целевой пиксел обрабатывается в изображении посредством применения по меньшей мере одного фильтра, соответствующего классифицированному шаблону изображения, среди множества фильтров к блоку изображения,a processor configured to classify an image block including a target pixel and a plurality of surrounding pixels into one of the plurality of image templates based on a relationship between pixels in the image block, and obtain a final image block in which the target pixel is processed in the image by applying at least at least one filter corresponding to the classified image template, among the plurality of filters to the image block, при этом множество фильтров получаются посредством изучения, через алгоритм искусственного интеллекта, соотношения между множеством первых дискретных блоков изображения и множеством вторых дискретных блоков изображения, соответствующих множеству первых дискретных блоков изображения, на основе каждого из множества шаблонов изображения.wherein the plurality of filters are obtained by learning, through the artificial intelligence algorithm, the relationship between the plurality of first discrete image blocks and the plurality of second discrete image blocks corresponding to the plurality of first discrete image blocks based on each of the plurality of image templates. 2. Электронное устройство по п. 1, в котором процессор конфигурируется, чтобы определять градиентный вектор из блока изображения, определять соответствия блока изображения каждому из множества индексных векторов на основе матрицы индексов, сохраненной в запоминающем устройстве и включающей в себя множество индексных векторов, и градиентного вектора, и классифицировать блок изображения в один из множества шаблонов изображения на основе определенных соответствий, и2. The electronic device of claim 1, wherein the processor is configured to determine a gradient vector from the image block, determine image block mappings to each of the plurality of index vectors based on an index matrix stored in the memory including the plurality of index vectors, and the gradient vector, and classify the image block into one of a plurality of image templates based on certain matches, and множество индексных векторов получаются на основе множества дискретных градиентных векторов, определенных из множества первых дискретных блоков изображения, при этом множество индексных векторов соответствуют множеству шаблонов изображения.a plurality of index vectors are obtained based on a plurality of discrete gradient vectors determined from a plurality of first discrete image blocks, wherein the plurality of index vectors correspond to the plurality of image templates. 3. Электронное устройство по п. 2, в котором процессор конфигурируется, чтобы определять градиентный вектор из блока изображения, когда интенсивность горизонтальной направленности блока изображения больше интенсивности вертикальной направленности блока изображения, и транспонировать блок изображения и определять градиентный вектор из транспонированного блока изображения, когда интенсивность горизонтальной направленности блока изображения меньше интенсивности вертикальной направленности блока изображения.3. The electronic device of claim 2, wherein the processor is configured to determine a gradient vector from the image block when the intensity of the horizontal directivity of the image block is greater than the intensity of the vertical directivity of the image block, and transpose the image block and determine the gradient vector from the transposed image block when the intensity the horizontal directivity of the image block is less than the intensity of the vertical directivity of the image block. 4. Электронное устройство по п. 2, в котором процессор конфигурируется, чтобы уменьшать размер градиентного вектора с помощью собственного вектора, сохраненного в запоминающем устройстве, и определять соответствия блока изображения каждому из множества индексных векторов на основе градиентного вектора, размер которого является уменьшенным, и4. The electronic device of claim 2, wherein the processor is configured to reduce the size of the gradient vector with an eigenvector stored in the memory and determine image block mappings to each of the plurality of index vectors based on the gradient vector whose size is reduced, and собственный вектор создается посредством применения анализа основных компонентов из множества дискретных градиентных векторов.the eigenvector is created by applying principal component analysis from a set of discrete gradient vectors. 5. Электронное устройство по п. 2, в котором процессор конфигурируется, чтобы определять первое соответствие блока изображения каждой из множества групп индексных векторов на основе первой матрицы индексов, сохраненной в запоминающем устройстве, и градиентного вектора, получать одну из множества групп индексных векторов на основе первого соответствия, определять второе соответствие блока изображения каждому из множества индексных векторов, включенных в полученную группу индексных векторов, на основе второй матрицы индексов, соответствующей полученной группе индексных векторов, среди множества вторых матриц индексов, сохраненных в запоминающем устройстве, и градиентного вектора, и получать конечный блок изображения, применяя, по меньшей мере, один из множества фильтров к блоку изображения на основе второго соответствия, при этом:5. The electronic device of claim 2, wherein the processor is configured to determine a first image block correspondence to each of the plurality of index vector groups based on the first index matrix stored in the memory and the gradient vector, obtain one of the plurality of index vector groups based on of the first match, determine the second match of the image block to each of the plurality of index vectors included in the obtained index vector group, based on the second index matrix corresponding to the obtained index vector group, among the plurality of second index matrices stored in the memory and the gradient vector, and obtain final image block, applying at least one of the plurality of filters to the image block based on the second match, wherein: множество групп индексных векторов получаются посредством деления множества индексных векторов на предварительно определенное число групп, the set of index vector groups are obtained by dividing the set of index vectors by a predetermined number of groups, первая матрица индексов включает в себя индексные векторы, представляющие каждую из множества групп индексных векторов, иthe first index matrix includes index vectors representing each of the plurality of index vector groups, and каждая из множества вторых матриц индексов включает в себя множество индексных векторов, соответствующих каждой из множества групп индексных векторов.each of the plurality of second index matrices includes a plurality of index vectors corresponding to each of the plurality of index vector groups. 6. Электронное устройство по п. 5, в котором процессор конфигурируется, чтобы получать один из множества индексных векторов, включенных в полученную группу индексных векторов, на основе второго соответствия, получать по меньшей мере один дополнительный индексный вектор, включенный в множество групп индексных векторов, отличный от полученного одного из множества индексных векторов и соответствующий полученному индексному вектору, на основе аналогичной информации индексного вектора, сохраненной в запоминающем устройстве, определять третье соответствие блока изображения на основе полученного индексного вектора, полученного дополнительного индексного вектора и градиентного вектора и получать конечный блок изображения, применяя, по меньшей мере, один из множества фильтров к блоку изображения на основе третьего соответствия.6. The electronic device according to claim 5, wherein the processor is configured to obtain one of the plurality of index vectors included in the obtained index vector group, based on the second match, to obtain at least one additional index vector included in the plurality of index vector groups, different from the received one of the plurality of index vectors and corresponding to the received index vector, based on the similar information of the index vector stored in the storage device, determine the third image block matching based on the received index vector, the obtained additional index vector and the gradient vector, and obtain the final image block, applying at least one of the plurality of filters to the image block based on the third match. 7. Электронное устройство по п. 2, в котором процессор конфигурируется, чтобы получать, по меньшей мере, два из множества фильтров на основе множества определенных соответствий, определять конечный фильтр на основе, по меньшей мере, двух фильтров и соответствий, соответствующих каждому, по меньшей мере, из двух фильтров, и получать конечный блок изображения, применяя определенный конечный фильтр к блоку изображения.7. The electronic device of claim. 2, wherein the processor is configured to obtain at least two of the plurality of filters based on the plurality of defined matches, determine the final filter based on at least two filters and the matches corresponding to each, at least two filters, and obtain a final image block by applying the determined final filter to the image block. 8. Электронное устройство по п. 2, в котором множество первых дискретных блоков изображения содержат изображения, в которых разрешения соответствующих вторых дискретных блоков изображения являются уменьшенными, и 8. The electronic device of claim 2, wherein the plurality of first discrete image blocks comprise images in which the resolutions of the respective second discrete image blocks are reduced, and процессор конфигурируется, чтобы получать конечный блок изображения, в котором разрешение целевого пиксела увеличивается посредством применения по меньшей мере одного из множества фильтров к блоку изображения.the processor is configured to obtain a final image block in which the resolution of the target pixel is increased by applying at least one of the plurality of filters to the image block. 9. Электронное устройство по п. 8, в котором процессор конфигурируется, чтобы получать дополнительный блок изображения, в котором разрешение целевого пиксела увеличивается посредством применения технологии увеличения разрешения без обучения к блоку изображения, и обновлять конечный блок изображения на основе наибольшего соответствия из множества определенных соответствий и дополнительного блока изображения.9. The electronic device of claim 8, wherein the processor is configured to obtain an additional image block in which the resolution of the target pixel is increased by applying a learningless resolution upscaling technique to the image block, and to update the final image block based on the best match among the set of determined matches. and an additional image block. 10. Электронное устройство по п. 2, в котором электронное устройство конфигурируется, чтобы получать каждый из множества фильтров, получая множество первых субдискретных блоков изображения, соответствующих одному из множества индексных векторов среди множества первых дискретных блоков изображения, получая множество вторых субдискретных блоков изображения, соответствующих множеству первых субдискретных блоков изображения, среди множества вторых дискретных блоков изображения, и изучая, посредством алгоритма искусственного интеллекта, соотношение между множеством первых субдискретных блоков изображения и множеством вторых субдискретных блоков изображения.10. The electronic device of claim 2, wherein the electronic device is configured to obtain each of the plurality of filters, obtaining a plurality of first subsample image blocks corresponding to one of the plurality of index vectors among the plurality of first discrete image blocks, obtaining a plurality of second subsample image blocks corresponding to a plurality of first sub-sampled image blocks, among the plurality of second sub-sampled image blocks, and learning, by means of an artificial intelligence algorithm, a relationship between the plurality of first sub-sampled image blocks and the plurality of second sub-sampled image blocks. 11. Способ управления электронным устройством, выполняющим обработку изображения, содержащий этапы, на которых:11. A method for controlling an electronic device that performs image processing, comprising the steps of: классифицируют блок изображения, включающий в себя целевой пиксел и множество окружающих пикселов, в один из множества шаблонов изображения на основе соотношения между пикселами в блоке изображения; и classifying the image block including the target pixel and the plurality of surrounding pixels into one of the plurality of image templates based on a relationship between pixels in the image block; and получают конечный блок изображения, в котором целевой пиксел обрабатывается в изображении посредством применения по меньшей мере одного фильтра, соответствующего классифицированному шаблону изображения, среди множества фильтров, каждый из которых соответствует множеству шаблонов изображения, к блоку изображения, obtaining a final image block in which the target pixel is processed in the image by applying at least one filter corresponding to the classified image template, among a plurality of filters, each corresponding to a plurality of image templates, to the image block, при этом множество фильтров получаются посредством изучения, через алгоритм искусственного интеллекта, соотношения между множеством первых дискретных блоков изображения и множеством вторых дискретных блоков изображения, соответствующих множеству первых дискретных блоков изображения, на основе каждого из множества шаблонов изображения.wherein the plurality of filters are obtained by learning, through the artificial intelligence algorithm, the relationship between the plurality of first discrete image blocks and the plurality of second discrete image blocks corresponding to the plurality of first discrete image blocks based on each of the plurality of image templates. 12. Способ по п. 11, в котором классификация содержит этапы, на которых:12. The method of claim 11, wherein the classification comprises the steps of: определяют градиентный вектор из блока изображения;determining a gradient vector from the image block; определяют соответствия блока изображения каждому из множества индексных векторов на основе матрицы индексов, включающей в себя множество индексных векторов, и градиентного вектора; иdetermining the correspondence of the image block to each of the plurality of index vectors based on an index matrix including the plurality of index vectors and the gradient vector; and классифицируют блок изображения в один из множества шаблонов изображения на основе определенных соответствий, иclassifying the image block into one of the plurality of image templates based on certain matches, and получают множество индексных векторов на основе множества дискретных градиентных векторов, вычисленных из множества первых дискретных блоков изображения, при этом множество индексных векторов соответствуют множеству шаблонов изображения.a plurality of index vectors are obtained based on a plurality of discrete gradient vectors calculated from a plurality of first discrete image blocks, wherein the plurality of index vectors correspond to the plurality of image templates. 13. Способ по п. 12, в котором, при определении градиентного вектора, градиентный вектор вычисляется из блока изображения, когда интенсивность горизонтальной направленности блока изображения больше интенсивности вертикальной направленности блока изображения, и блок изображения транспонируется, и градиентный вектор вычисляется из транспонированного блока изображения, когда интенсивность горизонтальной направленности блока изображения меньше интенсивности вертикальной направленности блока изображения.13. The method of claim 12, wherein, when determining the gradient vector, the gradient vector is calculated from the image block when the horizontal directivity intensity of the image block is greater than the vertical directivity intensity of the image block, and the image block is transposed, and the gradient vector is calculated from the transposed image block, when the intensity of the horizontal directivity of the image block is less than the intensity of the vertical directivity of the image block. 14. Способ по п. 12, дополнительно содержащий этап, на котором уменьшают размер градиентного вектора с помощью собственного вектора, 14. The method of claim 12, further comprising reducing the size of the gradient vector with an eigenvector, при этом при определении соответствий соответствия блока изображения каждому из множества индексных векторов вычисляются на основе градиентного вектора, размер которого является уменьшенным, и wherein, when determining the correspondences, the correspondences of the image block to each of the plurality of index vectors are calculated based on the gradient vector, the size of which is reduced, and собственный вектор создается посредством применения анализа основных компонентов из множества дискретных градиентных векторов.the eigenvector is created by applying principal component analysis from a set of discrete gradient vectors. 15. Способ по п. 12, в котором определение соответствий включает в себя этапы, на которых:15. The method of claim 12, wherein determining the matches includes the steps of: определяют первое соответствие блока изображения каждой из множества групп индексных векторов на основе первой матрицы индексов и градиентного вектора;determining a first correspondence of the image block to each of the plurality of index vector groups based on the first index matrix and the gradient vector; получают одну из множества групп индексных векторов на основе первого соответствия;obtaining one of the plurality of index vector groups based on the first match; определяют второе соответствие блока изображения каждому из множества индексных векторов, включенных в полученную группу индексных векторов, на основе второй матрицы индексов, соответствующей полученной группе индексных векторов, среди множества вторых матриц индексов и градиентного вектора, иdetermining a second correspondence of the image block to each of the plurality of index vectors included in the obtained index vector group, based on the second index matrix corresponding to the obtained index vector group, among the plurality of second index matrices and the gradient vector, and при этом, при получении конечного блока изображения, конечный блок изображения получается посредством применения по меньшей мере одного из множества фильтров к блоку изображения на основе второго соответствия, при этом:wherein, upon obtaining the final image block, the final image block is obtained by applying at least one of the plurality of filters to the image block based on the second match, wherein: множество групп индексных векторов получаются посредством деления множества индексных векторов на предварительно определенное число групп,the set of index vector groups are obtained by dividing the set of index vectors by a predetermined number of groups, первая матрица индексов включает в себя индексные векторы, представляющие каждую из множества групп индексных векторов, иthe first index matrix includes index vectors representing each of the plurality of index vector groups, and каждая из множества вторых матриц индексов включает в себя множество индексных векторов, соответствующих каждой из множества групп индексных векторов.each of the plurality of second index matrices includes a plurality of index vectors corresponding to each of the plurality of index vector groups.
RU2019109207A 2017-12-18 2018-05-24 Electronic device and method for its control RU2779609C2 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762599936P 2017-12-18 2017-12-18
US62/599,936 2017-12-18
KR10-2018-0027790 2018-03-09
KR1020180027790A KR101882704B1 (en) 2017-12-18 2018-03-09 Electronic apparatus and control method thereof
PCT/KR2018/005907 WO2019124652A1 (en) 2017-12-18 2018-05-24 Electronic apparatus and control method thereof

Publications (3)

Publication Number Publication Date
RU2019109207A RU2019109207A (en) 2020-09-29
RU2019109207A3 RU2019109207A3 (en) 2021-09-21
RU2779609C2 true RU2779609C2 (en) 2022-09-12

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006350498A (en) * 2005-06-14 2006-12-28 Fujifilm Holdings Corp Image processor and image processing method and program
US20080013835A1 (en) * 2006-03-16 2008-01-17 Sony Corporation Image processing apparatus and method, program recording medium, and program
JP2009010853A (en) * 2007-06-29 2009-01-15 Noritsu Koki Co Ltd Image correction method and image correction apparatus
JP2011019190A (en) * 2009-07-10 2011-01-27 Toshiba Corp Image processing apparatus, and image processing method
RU2011134204A (en) * 2011-08-15 2013-02-20 Дмитрий Валерьевич Шмунк METHOD OF SEGMENTATION OF IMAGES

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006350498A (en) * 2005-06-14 2006-12-28 Fujifilm Holdings Corp Image processor and image processing method and program
US20080013835A1 (en) * 2006-03-16 2008-01-17 Sony Corporation Image processing apparatus and method, program recording medium, and program
JP2009010853A (en) * 2007-06-29 2009-01-15 Noritsu Koki Co Ltd Image correction method and image correction apparatus
JP2011019190A (en) * 2009-07-10 2011-01-27 Toshiba Corp Image processing apparatus, and image processing method
RU2011134204A (en) * 2011-08-15 2013-02-20 Дмитрий Валерьевич Шмунк METHOD OF SEGMENTATION OF IMAGES

Similar Documents

Publication Publication Date Title
CN109934792B (en) Electronic device and control method thereof
JP6441980B2 (en) Method, computer and program for generating teacher images
CN111869220B (en) Electronic device and control method thereof
US11074671B2 (en) Electronic apparatus and control method thereof
CN110830849A (en) Electronic device, method of controlling electronic device, and method for controlling server
Li et al. From beginner to master: A survey for deep learning-based single-image super-resolution
WO2021244270A1 (en) Image processing method and apparatus, device, and computer readable storage medium
CN114008663A (en) Real-time video super-resolution
KR102616700B1 (en) Image processing apparatus and image processing method thereof
US11823322B2 (en) Utilizing voxel feature transformations for view synthesis
EP4150581A1 (en) Inverting neural radiance fields for pose estimation
US20210407153A1 (en) High-resolution controllable face aging with spatially-aware conditional gans
WO2024032331A9 (en) Image processing method and apparatus, electronic device, and storage medium
RU2779609C2 (en) Electronic device and method for its control
US20230093827A1 (en) Image processing framework for performing object depth estimation
KR102562052B1 (en) Electronic apparatus and contorl method thereof
US11893710B2 (en) Image reconstruction method, electronic device and computer-readable storage medium
US20220164923A1 (en) Electronic apparatus and controlling method thereof
EP3720138A1 (en) Image processing apparatus and image processing method
US20220383628A1 (en) Conditional Object-Centric Learning with Slot Attention for Video and Other Sequential Data
RU2770132C1 (en) Image generators with conditionally independent pixel synthesis
CN114581973A (en) Face pose estimation method and device, storage medium and computer equipment
CN117422613A (en) Image processing method, super-resolution model training method and electronic equipment
CN117523560A (en) Semantic segmentation method, semantic segmentation device and storage medium
WO2023056149A1 (en) Image processing framework for performing object depth estimation