ЭЛЕКТРОННОЕ УСТРОЙСТВО И СПОСОБ УПРАВЛЕНИЯ ИМ
ELECTRONIC DEVICE AND METHOD FOR ITS CONTROL

Область техники, к которой относится изобретение
[1] Настоящее изобретение относится, в целом, к электронному устройству и способу управления им и, например, к электронному устройству, выполняющему обработку изображения и способу управления им.
[2] Настоящее изобретение также относится к системе искусственного интеллекта (AI), моделирующей функцию распознавания и функцию принятия решения человеческого мозга с помощью алгоритма машинного обучения, и ее применению.
Уровень техники
[3] В последнее время, система искусственного интеллекта, реализующая интеллект человеческого уровня, использовалась в различных областях. Система искусственного интеллекта является системой, в которой машина выполняет обучение и принимает решение и становится интеллектуальной сама по себе в отличие от существующей интеллектуальной системы на основе правил. Поскольку система искусственного интеллекта используется все в большей степени, скорость распознавания улучшается, и манера пользователя может более точно пониматься, так что существующая интеллектуальная система на основе правил постепенно заменяется системой искусственного интеллекта на основе глубокого обучения.
[4] Технология искусственного интеллекта может включать в себя машинное обучение (например, глубокое обучение) и элементные технологии, использующие машинное обучение.
[5] Машинное обучение может включать в себя алгоритмическую технологию классификации/изучения отличительных признаков входных данных самостоятельно, а элементная технология может включать в себя технологию функций моделирования, таких как распознавание, принятие решения и т.п., человеческого мозга с помощью алгоритма машинного обучения, такого как глубокое бучение, или т.п., и может включать в себя технические области, такие как лингвистическое понимание, визуальное понимание, логическое рассуждение/прогнозирование, представление знания, управление движением и т.п.
[6] Различные области, к которым технология искусственного интеллекта может быть применена, являются следующими. Лингвистическое понимание может ссылаться на технологию распознавания и применения/обработки человеческих языков и может включать в себя обработку естественного языка, машинный перевод, диалоговую систему, вопрос-ответ, распознавание/синтез речи или т.п. Визуальное понимание может ссылаться на технологию распознавания и обработки предметов аналогично человеческому зрению и может включать в себя распознавание объекта, отслеживание объекта, поиск изображения, распознавание человека, понимание сцены, понимание пространства, улучшение изображения или т.п. Умозаключение/прогнозирование может ссылаться на технологию принятия решения и логического вывода и прогнозирования информации и может включать в себя умозаключение на основе знания/вероятности, прогнозирование оптимизации, планирование на основе предпочтения, рекомендацию или т.п. Представление знания может ссылаться на технологию автоматизации и обработки информации об опыте человека в качестве данных знания и может включать в себя конструирование знания (создание данных/классификацию), управление знанием (использование данных) или т.п. Управление движением может ссылаться на технологию управления самостоятельным движением транспортного средства и управление движением (навигацией, столкновением, вождением), управление манипулированием (управление поведением) или т.п.
[7] Между тем, традиционный способ обработки изображения может быть разделен на технологию без обучения и технологию на основе обучения. Технология без обучения имеет преимущество в том, что скорость обработки изображения является быстрой, но имеет проблему в том, что гибкая обработка изображения в зависимости от характеристик изображения является невозможной. Технология на основе обучения имеет преимущество в том, что гибкая обработка изображения является возможной, но имеет проблему в том, что обработка в реальном времени является затруднительной.
[8] Например, рассмотрим случай увеличения разрешения изображения, способом интерполяции, который является характерным способом технологии без обучения, яркость пиксела, соответствующего позиции, в которой разрешение увеличивается, вычисляется с помощью фильтра, имеющего низкочастотные характеристики. Подробно, существует бикубический способ интерполяции на основе сплайна, способ передискретизации с помощью фильтра Ланцоша, сформированного посредством упрощения идеального низкочастотного фильтра (Sinc Kernel) или т.п. Такая технология без обучения показывает устойчивую характеристику увеличения изображения благодаря низкой сложности, но может не отражать предыдущую информацию, которой обладает только изображение, так что резкость края размывается, край является зазубренным, возникает ступенчатость или образование колец поблизости от края.
[9] В качестве характерного способа технологии на основе обучения, существует способ непосредственного использования базы данных изображений с высоким качеством изображения для воссоздания, способ обучения и использования правила преобразования высокого разрешения для каждого классифицированного класса, способ обучения преобразования низкого разрешения/высокого разрешения в форме сквозного соответствия посредством сети глубокого обучения и увеличения изображения с помощью обученной сети во время увеличения изображения.
[10] В технологиях на основе обучения уникальные характеристики сигнала изображения отражаются в обучении и используются во время увеличения изображения, и технологии на основе обучения могут, таким образом, воссоздавать резкий, незазубренный и гладкий край по сравнению со способами увеличения изображения без обучения. Однако, технологии на основе обучения подходят для прикладных задач, не требующих реального времени вследствие высокой сложности, но затруднительно применять технологии на основе обучения к устройствам, требующим реального времени, таким как телевизор (ТВ). Кроме того, затруднительно применять технологии на основе обучения к реализации системы на кристалле (SoC) для реализации в реальном времени.
[11] Кроме того, технологии на основе обучения показывают отличную производительность относительно крайних компонентов, местные отличительные признаки которых являются ясными, но демонстрируют компоненты помех относительно плоской области, отличительный признак которой является неясным или показывает низкую характеристику на поверхности детального представления. Кроме того, технологии на основе обучения имеют проблему в том, что изображение может не быть увеличено относительно масштабирования без обучения.
[12] Следовательно, требовалось разработать технологию, способную выполнять гибкую обработку изображения и улучшать скорость обработки изображения.
Сущность изобретения
Техническая задача
[13] Примерные варианты осуществления настоящего изобретения устраняют вышеописанные недостатки и другие недостатки, неописанные выше.
[14] Настоящее изобретение предоставляет электронное устройство, выполняющее обработку изображения на основе обучения в реальном времени, и способ управления им.
Решение задачи
[15] Согласно примерному аспекту настоящего изобретения, электронное устройство включает в себя: запоминающее устройство, сконфигурированное, чтобы хранить множество фильтров, каждый фильтр соответствует множеству шаблонов изображения; и процессор, сконфигурированный, чтобы классифицировать блок изображения, включающий в себя целевой пиксел и множество окружающих пикселов, в один из множества шаблонов изображения на основе соотношения между пикселами в блоке изображения и получать конечный блок изображения, в котором целевой пиксел обрабатывается в изображении посредством применения, по меньшей мере, одного фильтра, соответствующего классифицированному шаблону изображения, среди множества фильтров к блоку изображения, при этом множество фильтров получаются посредством изучения соотношения между множеством первых дискретных блоков изображения и множеством вторых дискретных блоков изображения, соответствующих множеству первых дискретных блоков изображения, посредством алгоритма искусственного интеллекта на основе каждого из множества шаблонов изображения.
[16] Процессор может вычислять (определять) градиентный вектор из блока изображения, вычислять (определять) соответствия блока изображения каждому из множества индексных векторов на основе матрицы индексов, хранящейся в запоминающем устройстве и включающей в себя множество индексных векторов и градиентный вектор, и классифицировать блок изображения в один из множества шаблонов изображения на основе вычисленных (определенных) соответствий, и множество индексных векторов могут быть получены на основе множества дискретных градиентных векторов, вычисленных (определенных) из множества первых дискретных блоков изображения и соответствующих множеству шаблонов изображения, соответственно.
[17] Процессор может вычислять градиентный вектор из блока изображения, когда интенсивность горизонтальной направленности блока изображения больше интенсивности вертикальной направленности блока изображения, и может транспонировать блок изображения и вычислять градиентный вектор из транспонированного блока изображения, когда интенсивность горизонтальной направленности блока изображения меньше интенсивности вертикальной направленности блока изображения.
[18] Процессор может уменьшать размер градиентного вектора с помощью собственного вектора, сохраненного в запоминающем устройстве, и вычислять соответствия блока изображения каждому из множества индексных векторов на основе градиентного вектора, размер которого уменьшен, и собственный вектор может быть создан посредством применения анализа основных компонентов из множества дискретных градиентных векторов.
[19] Процессор может вычислять первое соответствие блока изображения каждой из множества групп индексных векторов на основе первой матрицы индексов, хранящейся в запоминающем устройстве, и градиентного вектора, получать одну из множества групп индексных векторов на основе первого соответствия, вычислять второе соответствие блока изображения каждому из множества индексных векторов, включенных в полученную группу индексных векторов, на основе второй матрицы индексов, соответствующей полученной группе индексных векторов, среди множества вторых матриц индексов, сохраненных в запоминающем устройстве, и градиентного вектора, и получать конечный блок изображения посредством применения, по меньшей мере, одного из множества фильтров к блоку изображения на основе второго соответствия, множество групп индексных векторов могут быть получены посредством деления множества индексных векторов на предварительно определенное число групп, первая матрица индексов может включать в себя индексные векторы, представляющие каждую из множества групп индексных векторов, и каждая из множества вторых матриц индексов может включать в себя множество индексных векторов, соответствующих каждой из множества групп индексных векторов.
[20] Процессор может получать один из множества индексных векторов, включенных в полученную группу индексных векторов, на основе второго соответствия, получать, по меньшей мере, один дополнительный индексный вектор, включенный в другие из множества групп индексных векторов и соответствующий полученному индексному вектору, на основе аналогичной информации индексного вектора, сохраненной в запоминающем устройстве, вычислять третье соответствие блока изображения на основе полученного индексного вектора, полученного дополнительного индексного вектора и градиентного вектора и получать конечный блок изображения посредством применения, по меньшей мере, одного из множества фильтров к блоку изображения на основе третьего соответствия.
[21] Процессор может получать, по меньшей мере, два из множества фильтров на основе множества вычисленных соответствий, вычислять конечный фильтр на основе, по меньшей мере, двух фильтров и соответствий, соответствующих каждому, по меньшей мере, из двух фильтров, и получать конечный блок изображения посредством применения вычисленного конечного фильтра к блоку изображения.
[22] Множество первых дискретных блоков изображения могут быть изображениями, в которых разрешения соответствующих вторых дискретных блоков изображения являются уменьшенными, соответственно, и процессор может получать конечный блок изображения, в котором разрешение целевого пиксела увеличивается посредством применения, по меньшей мере, одного из множества фильтров к блоку изображения.
[23] Процессор может получать дополнительный блок изображения, в котором разрешение целевого пиксела укрупняется посредством применения технологии увеличения разрешения без обучения к блоку изображения, и обновлять конечный блок изображения на основе наибольшего соответствия из множества вычисленных соответствий и дополнительного блока изображения.
[24] Процессор может вычислять горизонтальные градиенты и вертикальные градиенты для целевого пиксела и каждого из множества окружающих пикселов и вычислять градиентный вектор на основе горизонтальных градиентов и вертикальных градиентов.
[25] Каждый из множества фильтров может быть получен посредством получения множества первых субдискретных блоков изображения, соответствующих одному из множества индексных векторов, среди множества первых дискретных блоков изображения, получения множества вторых субдискретных блоков изображения, соответствующих множеству первых субдискретных блоков изображения, среди множества вторых дискретных блоков изображения, и изучение соотношения между множеством первых субдискретных блоков изображения и множеством вторых субдискретных блоков изображения посредством алгоритма искусственного интеллекта.
[26] Согласно другому примерному аспекту настоящего изобретения способ для управления электронным устройством включает в себя: классификацию блока изображения, включающего в себя целевой пиксел и множество окружающих пикселов, в один из множества шаблонов изображения на основе соотношения между пикселами в блоке изображения; и получение конечного блока изображения, в котором целевой пиксел обрабатывается в изображении посредством применения, по меньшей мере, одного фильтра, соответствующего классифицированному шаблону изображения, среди множества фильтров, каждый из которых соответствует множеству шаблонов изображения, к блоку изображения, при этом множество фильтров получаются посредством изучения соотношения между множеством первых дискретных блоков изображения и множеством вторых дискретных блоков изображения, соответствующих множеству первых дискретных блоков изображения, посредством алгоритма искусственного интеллекта на основе каждого из множества шаблонов изображения.
[27] Классификация может включать в себя: вычисление (определение) градиентного вектора из блока изображения; вычисление (определение) соответствий блока изображения каждому из множества индексных векторов на основе матрицы индексов, включающей в себя множество индексных векторов, и градиентного вектора; и классификацию блока изображения в один из множества шаблонов изображения на основе вычисленных (определенных) соответствий, и множество индексных векторов могут быть получены на основе множества дискретных градиентных векторов, вычисленных из множества первых дискретных блоков изображения и соответствующих множеству шаблонов изображения, соответственно.
[28] При вычислении градиентного вектора градиентный вектор может быть вычислен из блока изображения, когда интенсивность горизонтальной направленности блока изображения больше интенсивности вертикальной направленности блока изображения, и блок изображения может быть транспонирован, и градиентный вектор может быть вычислен из транспонированного блока изображения, когда интенсивность горизонтальной направленности блока изображения меньше интенсивности вертикальной направленности блока изображения.
[29] Способ может дополнительно включать в себя уменьшение размера градиентного вектора с помощью собственного вектора, при этом, в вычислении соответствий, соответствия блока изображения каждому из множества индексных векторов вычисляются на основе градиентного вектора, размер которого уменьшен, и собственный вектор создается посредством применения анализа основных компонентов из множества дискретных градиентных векторов.
[30] Вычисление соответствий может включать в себя: вычисление первого соответствия блока изображения каждой из множества групп индексных векторов на основе первой матрицы индексов и градиентного вектора; получение одной из множества групп индексных векторов на основе первого соответствия; вычисление второго соответствия блока изображения каждому из множества индексных векторов, включенных в полученную группу индексных векторов, на основе второй матрицы индексов, соответствующей полученной группе индексных векторов, среди множества вторых матриц индексов и градиентного вектора; и получение конечного блока изображения, конечный блок изображения получается посредством применения, по меньшей мере, одного из множества фильтров к блоку изображения на основе второго соответствия, множество групп индексных векторов могут быть получены посредством деления множества индексных векторов на предварительно определенное число групп, первая матрица индексов может включать в себя индексные векторы, представляющие каждую из множества групп индексных векторов, и каждая из множества вторых матриц индексов может включать в себя множество индексных векторов, соответствующих каждой из множества групп индексных векторов.
[31] Вычисление соответствий может включать в себя: получение одного из множества индексных векторов, включенных в полученную группу индексных векторов, на основе второго соответствия; получение, по меньшей мере, одного дополнительного индексного вектора, включенного в другие из множества групп индексных векторов и соответствующего полученному индексному вектору, на основе аналогичной информации индексного вектора; и вычисление третьего соответствия блока изображения на основе полученного индексного вектора, полученного дополнительного индексного вектора и градиентного вектора, и, при получении конечного блока изображения, конечный блок изображения может быть получен посредством применения, по меньшей мере, одного из множества фильтров к блоку изображения на основе третьего соответствия.
[32] Получение конечного блока изображения может включать в себя: получение, по меньшей мере, двух из множества фильтров на основе множества вычисленных соответствий; вычисление конечного фильтра на основе, по меньшей мере, двух фильтров и соответствий, соответствующих каждому, по меньшей мере, из двух фильтров; и получение конечного блока изображения посредством применения вычисленного конечного фильтра к блоку изображения.
[33] Множество первых дискретных блоков изображения могут быть изображениями, в которых разрешения соответствующих вторых дискретных блоков изображения являются уменьшенными, соответственно, и при получении конечного блока изображения конечный блок изображения, в котором разрешение целевого пиксела является увеличенным, может быть получено посредством применения, по меньшей мере, одного из множества фильтров к блоку изображения.
[34] Способ может дополнительно включать в себя: получение дополнительного блока изображения, в котором разрешение целевого пиксела увеличивается посредством применения технологии увеличения разрешения без обучения к блоку изображения; и обновление конечного блока изображения на основе наибольшего соответствия из множества вычисленных соответствий и дополнительного блока изображения.
[35] При вычислении градиентного вектора горизонтальные градиенты и вертикальные градиенты для целевого пиксела и каждый из множества окружающих пикселов могут быть вычислены, и градиентный вектор может быть вычислен на основе горизонтальных градиентов и вертикальных градиентов.
[36] Каждый из множества фильтров может быть получен посредством получения множества первых субдискретных блоков изображения, соответствующих одному из множества индексных векторов, среди множества первых дискретных блоков изображения, получения множества вторых субдискретных блоков изображения, соответствующих множеству первых субдискретных блоков изображения, среди множества вторых дискретных блоков изображения, и изучения соотношения между множеством первых субдискретных блоков изображения и множеством вторых субдискретных блоков изображения посредством алгоритма искусственного интеллекта.
Полезные результаты изобретения
[37] Согласно различным примерным вариантам осуществления настоящего изобретения, как описано выше, электронное устройство может выполнять обработку изображения в реальном времени и, таким образом, использоваться в различных прикладных задачах и может улучать качество обработки изображения по сравнению с обработкой изображения без обучения посредством выполнения обработки изображения на основе обучения.
Краткое описание чертежей
[38] Вышеописанные и/или другие аспекты, отличительные признаки и сопутствующие преимущества настоящего изобретения будут более очевидны и легко понятны из последующего подробного описания, взятого вместе с сопровождающими чертежами, на которых аналогичные ссылочные номера ссылаются на аналогичные элементы, и на которых:
[39] Фиг. 1A является блок-схемой, иллюстрирующей компоненты примерного электронного устройства согласно примерному варианту осуществления настоящего изобретения;
[40] Фиг. 1B является блок-схемой, иллюстрирующей пример компонентов электронного устройства;
[41] Фиг. 2 является схемой, иллюстрирующей примерные операции процессора согласно примерному варианту осуществления настоящего изобретения;
[42] Фиг. 3A, 3B, 3C, 3D и 3E являются схемами, иллюстрирующими примерный способ принятия решения о направленности блока изображения и создания градиентного вектора согласно примерному варианту осуществления настоящего изобретения;
[43] Фиг. 4A и 4B являются схемами, иллюстрирующими примерное уменьшение размера отличительного признака градиентного вектора согласно примерному варианту осуществления настоящего изобретения;
[44] Фиг. 5A и 5B являются схемами, иллюстрирующими примерный поиск фильтра с помощью матрицы индексов согласно примерному варианту осуществления настоящего изобретения;
[45] Фиг. 6A, 6B и 6C являются схемами, иллюстрирующими примерный способ уменьшения объема вычислений для поиска фильтра согласно примерному варианту осуществления настоящего изобретения;
[46] Фиг. 7A и 7B являются схемами, иллюстрирующими примерный способ уменьшения объема вычислений для поиска фильтра согласно другому примерному варианту осуществления настоящего изобретения;
[47] Фиг. 8A и 8B являются схемами, иллюстрирующими примерный способ применения фильтра к блоку изображения согласно примерному варианту осуществления настоящего изобретения;
[48] Фиг. 9A и 9B являются схемами, иллюстрирующими примерный способ обучения для фильтра согласно примерному варианту осуществления настоящего изобретения;
[49] Фиг. 10 является блок-схемой последовательности операций, иллюстрирующей примерную операцию потоковой передачи согласно примерному варианту осуществления настоящего изобретения; и
[50] Фиг. 11 является блок-схемой последовательности операций, иллюстрирующей примерный способ управления электронным устройством согласно примерному варианту осуществления настоящего изобретения.
Оптимальный режим осуществления изобретения
[51] Режим осуществления изобретения
[52] Различные примерные варианты осуществления настоящего изобретения могут быть различным образом модифицированы. Соответственно, конкретные примерные варианты осуществления иллюстрируются на чертежах и описываются подробно в описании изобретения. Однако, следует понимать, что настоящее изобретение не ограничивается конкретным примерным вариантом осуществления, но включает в себя все модификации, эквиваленты и замены без отступления от рамок и духа настоящего изобретения. Также, хорошо известные функции или конструкции могут не описываться подробно, когда они запутывают описание изобретения ненужными подробностями.
[53] Далее в данном документе различные варианты осуществления настоящего изобретения будут описаны более подробно со ссылкой на сопровождающие чертежи.
[54] Фиг. 1A является блок-схемой, иллюстрирующей примерные компоненты электронного устройства 100 согласно примерному варианту осуществления настоящего изобретения. Как иллюстрировано на фиг. 1A, электронное устройство 100 включает в себя запоминающее устройство 110 и процессор (например, включающий в себя схему обработки) 120.
[55] Электронное устройство 100 может быть устройством, выполняющим обработку изображения. Например, электронное устройство 100 может быть устройством, выполняющим обработку изображения на основе данных, изученных посредством алгоритма искусственного интеллекта. Например, электронное устройство 100 может, например, и без ограничения, быть настольным персональным компьютером (PC), переносным компьютером, смартфоном, планшетным PC, сервером, холодильником, стиральной машиной, вывеской или т.п. Кроме того, электронное устройство 100 может, например, и без ограничения, быть самой системой, в которой конфигурируется облачная вычислительная среда. Однако, электронное устройство 100 не ограничивается этим, но может быть устройством, которое может выполнять обработку изображения.
[56] Запоминающее устройство 110 может хранить множество фильтров, соответствующих каждому из множества шаблонов изображения. Здесь, множество шаблонов изображения могут быть классифицированы в зависимости от характеристик изображения. Например, первый шаблон изображения может быть шаблоном изображения, имеющим множество линий в горизонтальном направлении, а второй шаблон изображения может быть шаблоном изображения, имеющим множество линий в направлении вращения.
[57] Запоминающее устройство 110 может дополнительно хранить матрицу индексов, включающую в себя множество индексных векторов. Множество индексных векторов может быть получено на основе множества дискретных градиентных векторов, вычисленных (определенных) из множества первых дискретных блоков изображения, и может соответствовать множеству шаблонов изображения, соответственно. Множество фильтров может быть получено посредством изучения соотношения между множеством первых дискретных блоков изображения и множеством вторых дискретных блоков изображения, соответствующих множеству первых дискретных блоков изображения, посредством алгоритма искусственного интеллекта на основе каждого из множества индексных векторов.
[58] Множество индексных векторов и множество фильтров могут быть созданы внешним сервером вместо электронного устройства 100. Однако, множество индексных векторов и множество фильтров не ограничиваются этим, но могут также быть созданы электронным устройством 100. В этом случае, запоминающее устройство 110 может хранить множество первых дискретных блоков изображения и множество вторых дискретных блоков изображения.
[59] Способ создания градиентных векторов, множество индексных векторов и множество фильтров описывается ниже.
[60] Запоминающее устройство 110 может хранить, по меньшей мере, один блок изображения. Запоминающее устройство 110 может хранить множество первых дискретных блоков изображения и множество вторых дискретных блоков изображения. Кроме того, запоминающее устройство 110 может хранить фильтр без обучения, и вид запоминающего устройства не ограничивается.
[61] Запоминающее устройство 110 может, например, и без ограничения, быть реализовано посредством жесткого диска, энергонезависимой памяти, энергозависимой памяти или т.п. и может быть любым компонентом, который может хранить данные.
[62] Процессор 120 может включать в себя различные схемы обработки и, в целом, управляет работой электронного устройства 100.
[63] Согласно примерному варианту осуществления, процессор 120 может быть реализован, например, и без ограничения, посредством цифрового сигнального процессора (DSP), микропроцессора и/или временного контроллера (TCON) или т.п. Однако, процессор 120 не ограничивается этим, а может включать в себя, например, и без ограничения, один или более из специализированного процессора, центрального процессора (CPU), микроконтроллерного блока (MCU), микропроцессора (MPU), контроллера, прикладного процессора (AP), процессора связи (CP), ARM-процессора и/или может быть определен этими терминами, или т.п. Кроме того, процессор 120 может быть реализован посредством системы на кристалле (SoC) или большой интегральной схемы (LSI), в которую внедрен алгоритм обработки, и/или может быть реализован в форме программируемой пользователем вентильной матрицы (FPGA).
[64] Процессор 120 может принимать блок изображения, включающий в себя целевой пиксел и множество окружающих пикселов, вводимый с внешнего сервера. В этом случае, процессор 120 может сохранять блок изображения в запоминающем устройстве 110. Процессор 120 может считывать блок изображения, сохраненный в запоминающем устройстве 110. Процессор 120 может считывать блок изображения, имеющий предварительно определенный размер, из кадра изображения, сохраненного в запоминающем устройстве 110. Например, процессор 120 может считывать первый блок изображения 3 × 3 для левого верхнего края кадра изображения и может обрабатывать изображение первого блока изображения. Кроме того, процессор 120 может считывать второй блок изображения 3 × 3, перемещенный вправо от левого верхнего края кадра изображения на единичный пиксел, и может обрабатывать изображение второго блока изображения. Таким образом, процессор 120 может выполнять обработку изображения по всему кадру изображения.
[65] Целевой пиксел может быть пикселом, который становится целью фильтрации, которая должна быть описана ниже. Т.е., целевой пиксел может быть отфильтрован на основе значений пикселов для множества окружающих пикселов.
[66] Процессор 120 может классифицировать блок изображения, включающий в себя целевой пиксел и множество окружающих пикселов в один из множества шаблонов изображения на основе соотношения между пикселами в блоке изображения. Например, когда различие между значениями пикселов для пикселов, соседних друг с другом в горизонтальном направлении, меньше различия между значениями пикселов для пикселов, соседних друг с другом в вертикальном направлении, процессор 120 может классифицировать блок изображения в шаблон изображения, имеющий характеристики вертикального направления.
[67] Однако, настоящее изобретение не ограничивается этим, и процессор 120 может также получать соотношение между пикселами в блоке изображения в зависимости от различных способов.
[68] Кроме того, процессор 120 может получать конечный блок изображения, в котором целевой пиксел обрабатывается в изображении посредством применения, по меньшей мере, одного фильтра, соответствующего классифицированному шаблону изображения, среди множества фильтров к блоку изображения.
[69] В качестве другого примера для классификации блока изображения процессор 120 может вычислять (определять) градиентный вектор из блока изображения. Например, процессор 120 может вычислять горизонтальные градиенты и вертикальные градиенты для целевого пиксела и каждого из множества окружающих пикселов и вычислять градиентный вектор на основе горизонтальных градиентов и вертикальных градиентов. Градиентный вектор может указывать величины изменения для пикселов, существующих в предварительно определенном направлении в отношении каждого пиксела. Т.е., характеристики блока изображения могут быть обнаружены посредством градиентного вектора.
[70] Например, процессор 120 может вычислять горизонтальный градиент и вертикальный градиент для блока изображения 3 × 3 с помощью оператора Собела. Каждый из горизонтального градиента и вертикального градиента может включать в себя девять элементов, и процессор 120 может размещать элементы каждого из горизонтального градиента и вертикального градиента в предварительно определенной последовательности и преобразовывать элементы в векторную форму. Предварительно определенная последовательность может быть задана различными способами. Однако, предварительно определенная последовательность может быть такой же, что и последовательность для вычисления градиентного вектора в процессе создания множества индексных векторов и множества фильтров, которые должны быть описаны ниже.
c
[71] Процессор 120 может вычислять градиентный вектор блока изображения посредством различных способов в дополнение к оператору Собела, и различные способы особенно не ограничиваются. В дополнение к горизонтальным и вертикальным градиентным векторам, градиентный вектор, имеющий другой угол, может быть вычислен, и любой способ может быть использован, пока градиентный вектор вычисляется посредством того же способа, что и способ, используемый в процессе создания множества индексных векторов и множества фильтров, которые должны быть описаны ниже. Далее в данном документе, случай, в котором градиентный вектор c × 1 вычисляется, описывается для удобства объяснения. Здесь,  может изменяться в зависимости от размера блока изображения.
[72] Процессор 120 может вычислять соответствия блока изображения каждому из множества индексных векторов на основе матрицы индексов, сохраненных в запоминающем устройстве 110, и градиентного вектора. Матрица индексов может включать в себя множество индексных векторов, и множество индексных векторов может быть получено на основе множества дискретных градиентных векторов, вычисленных из множества первых дискретных блоков изображения.
[73] Например, в случае, в котором 1000000 дискретных градиентных векторов, вычисленных из 1000000 первых дискретных блоков изображения, делятся на группы для каждой из характеристик блока изображения, каждый из множества индексных векторов может быть вектором, представляющим каждую группу. Т.е., соответствия блока изображения каждому из множества индексных векторов могут означать сходства блока изображения с каждой из групп. Кроме того, блок изображения может считаться имеющим характеристики, аналогичные характеристикам группы, соответствующей наибольшему соответствию из соответствий.
[74] Однако, это лишь пример, и число первых дискретных блоков изображения и число групп могут быть изменены. Кроме того, число групп может также быть изменено в зависимости от вида фильтра. Например, в случае увеличивающего разрешение фильтра, число групп равно a, но в случае фильтра повышения резкости число групп может не быть равно a.
[75] Процессор 120 может получать конечный блок изображения, в котором целевой пиксел обрабатывается в изображении посредством применения, по меньшей мере, одного фильтра из множества фильтров к блоку изображения на основе вычисленных соответствий. Здесь, фильтр может быть увеличивающим разрешение фильтром, фильтром повышения резкости или т.п., но не ограничивается этим и может также быть любым фильтром, связанным с обработкой изображения.
[76] Кроме того, множество фильтров может быть получено посредством изучения соотношения между множеством первых дискретных блоков изображения и множеством вторых дискретных блоков изображения, соответствующих множеству первых дискретных блоков изображения, посредством алгоритма искусственного интеллекта на основе каждого из множества индексных векторов.
[77] Например, каждый из множества фильтров может быть получен посредством получения множества первых субдискретных блоков изображения, соответствующих одному из множества индексных векторов, среди множества первых дискретных блоков изображения, получения множества вторых субдискретных блоков изображения, соответствующих множеству первых субдискретных блоков изображения, среди множества вторых дискретных блоков изображения, и изучения соотношения между множеством первых субдискретных блоков изображения и множеством вторых субдискретных блоков изображения посредством алгоритма искусственного интеллекта.
[78] В примере, описанном выше, каждый из множества фильтров может, например, и без ограничения, быть увеличивающим разрешение фильтром, полученным посредством изучения характеристик изображения одной из групп посредством алгоритма искусственного интеллекта. В случае, в котором первые характеристики изображения представляются посредством первого индексного вектора, и первый фильтр, соответствующий первому индексному вектору, существует, и вторые характеристики изображения представляются посредством второго индексного вектора, и второй фильтр, соответствующий второму индексному вектору, существует, когда соответствие между блоком изображения и первыми характеристиками изображения является высоким, блок изображения может показывать более улучшенное качество в случае, в котором его разрешение увеличивается посредством первого фильтра, по сравнению со случаем, в котором его разрешение увеличивается посредством второго фильтра. Это обусловлено тем, что первый фильтр и второй фильтр являются фильтрами, обученные в качестве подходящих для первых характеристик изображения и вторых характеристик изображения, соответственно.
[79] Процессор 120 может вычислять градиентный вектор из блока изображения, когда интенсивность горизонтальной направленности блока изображения больше интенсивности вертикальной направленности блока изображения, и может транспонировать блок изображения и вычислять градиентный вектор из транспонированного блока изображения, когда интенсивность горизонтальной направленности блока изображения меньше интенсивности вертикальной направленности блока изображения.
[80] Например, процессор 120 может транспонировать блок изображения, вертикальная направленность доминирует по отношению к блоку изображения, горизонтальная направленность является доминирующей, и вычислять градиентный вектор из блока изображения, горизонтальная направленность которого является доминирующей. В этом случае, число индексных векторов может быть уменьшено, и скорость вычисления может, таким образом, быть улучшена.
[81] Например, в случае, в котором блок изображения, имеющий горизонтальную направленность, делится на первые группы для каждой из характеристик изображения, блок изображения, имеющий вертикальную направленность, может также быть разделен на вторые группы для каждой из характеристик изображения. Следовательно, всего 2 × a групп может быть сформировано для каждой из характеристик изображения, и всего 2 × a индексных векторов может быть создано.
[82] Следовательно, в случае, в котором процессор 120 транспонирует блок изображения, вертикальная направленность которого является доминирующей, транспонированный блок изображения может иметь горизонтальную направленность и может быть включен в одну из первых групп. Т.е., процессор 120 может обрабатывать блок изображения, принадлежащий одной из вторых групп в одной из первых групп, посредством транспонирования блока изображения, вертикальная направленность которого является доминирующей, и может обрабатывать блок изображения, горизонтальная направленность которого является доминирующей в одной из первых групп, без транспонирования блока изображения, горизонтальная направленность которого является доминирующей. Следовательно, число индексных векторов может быть уменьшено наполовину в зависимости от операции транспонирования, и скорость вычисления может быть улучшена.
[83] Процессор 120 может получать конечный блок изображения, в котором целевой пиксел обрабатывается в изображении посредством применения фильтра к транспонированному блоку изображения, и снова транспонирует блок изображения. В случае блока изображения, который не транспонируется, операция применения фильтра к блоку изображения и затем транспонирования снова блока изображения может быть пропущена.
[84] Между тем, хотя случай, в котором процессор 120 транспонирует блок изображения, вертикальная направленность которого является доминирующей, описан выше в данном документе, это является лишь примером, и процессор 120 может также транспонировать блок изображения, горизонтальная направленность которого является доминирующей.
[85] Между тем, процессор 120 может уменьшать размер градиентного вектора с помощью собственного вектора, сохраненного в запоминающем устройстве 110, и вычислять соответствия блока изображения каждому из множества индексных векторов на основе градиентного вектора, размер которого является уменьшенным. Здесь, собственный вектор может быть создан посредством применения анализа основных компонентов из множества дискретных градиентных векторов.
[86] Когда собственный вектор не используется в состоянии, в котором индексные векторы существуют, матрица индексов может иметь форму a × c. В этом отношении, когда градиентный вектор c × 1 уменьшается до градиентного вектора c' × 1 с помощью собственного вектора, матрица индексов может иметь форму a × c'. Подробно, размеры отличительных признаков множества индексных векторов, включенных в матрицу индексов a × c, могут быть уменьшены с помощью одного и того же собственного вектора, и матрица индексов, включающая в себя множество индексных векторов, размеры отличительных признаков которых уменьшены, может иметь форму a × c'. Здесь, собственный вектор может иметь форму c' × c, и c' может быть меньше c.
[87] Скорость вычисления может быть улучшена в случае использования матрицы индексов a × c' по сравнению со случаем использования матрицы индексов a × c.
[88] Между тем, анализ основных компонентов является статистическим способом извлечения основных компонентов, кратко выражающих изменчивость образцов типов множества переменных как линейную комбинацию первоначальных переменных. Т.е., в случае, в котором существует p переменных, информация, полученная из p переменных, может быть уменьшена до k переменных значительно меньше p. В вышеописанном примере, размеры отличительных признаков c могут считаться уменьшенными до размеров c' отличительных признаков. Однако, число уменьшенных размеров отличительных признаков не ограничивается, а может также быть изменено.
[89] Далее в данном документе описывается случай уменьшения матрицы индексов и градиентных векторов с помощью собственного вектора. Однако, настоящее изобретение не ограничивается этим, и конфигурация, которая не использует собственный вектор, соответствует примерному варианту осуществления настоящего изобретения.
[90] Между тем, процессор 120 может вычислять первое соответствие блока изображения каждой из множества групп индексных векторов на основе первой матрицы индексов, сохраненной в запоминающем устройстве 110, и градиентного вектора, получать одну из множества групп индексных векторов на основе первого соответствия и получать вторую матрицу индексов, соответствующую полученной группе индексных векторов, среди множества вторых матриц индексов, сохраненных в запоминающем устройстве 110.
[91] Здесь, множество групп индексных векторов может быть получено посредством разделения множества индексных векторов на предварительно определенное число групп. Например, множество групп индексных векторов может быть разделено всего на четыре группы в зависимости от характеристик, и каждая из четырех групп может включать в себя b индексных векторов. Т.е., b индексных векторов в одной и той же группе могут быть аналогичны друг другу.
[92] Первая индексная группа может включать в себя индексные векторы, представляющие каждую из множества групп индексных векторов. В примере, описанном выше, в каждой из четырех групп, один из b индексных векторов может быть задан как представляющий, и первая матрица индексов может быть сформирована с помощью четырех индексных векторов, представляющих соответствующие группы. Здесь, первая матрица индексов может иметь форму 4 × c'.
[93] Каждая из множества вторых матриц индексов может включать в себя множество индексных векторов, соответствующих каждой из множества групп индексных векторов. Например, каждый из множества индексных векторов может иметь форму b × c'.
[94] В примере, описанном выше, процессор 120 может определять, к какой из множества групп индексных векторов блок изображения принадлежит, на основе первого соответствия, и получать вторую матрицу индексов, соответствующую соответствующей группе, из множества вторых матриц индексов.
[95] Процессор 120 может вычислять второе соответствие блока изображения каждому из множества индексных векторов, включенных в полученную группу индексных векторов, на основе полученной второй матрицы индексов и градиентного вектора и может получать конечный блок изображения посредством применения, по меньшей мере, одного из множества фильтров к блоку изображения на основе второго соответствия. Скорость вычисления может быть улучшена посредством способа, как описано выше.
[96] Однако, это является лишь примером, и число групп индексных векторов может быть изменено. Кроме того, количества индексных векторов, включенных во множество групп индексных векторов, могут отличаться друг от друга.
[97] Между тем, согласно примерному варианту осуществления, описанному выше, соответствия лишь с некоторыми из всего a индексных векторов могут быть вычислены. Следовательно, вычисление соответствий с другими индексными векторами пропускается, и в случае, в котором группировка является неподходящей, индексный вектор, имеющий наивысшее соответствие, может не быть обнаружен. Далее в данном документе описывается способ дополнения этого.
[98] Процессор 120 может получать один из множества индексных векторов, включенных в полученную группу индексных векторов, на основе второго соответствия, получать, по меньшей мере, один дополнительный индексный вектор, включенный в другие из множества групп индексных векторов и соответствующий полученному индексному вектору, на основе аналогичной информации индексного вектора, сохраненной в запоминающем устройстве 110, вычислять третье соответствие блока изображения на основе полученного индексного вектора, полученного дополнительного индексного вектора и градиентного вектора и получать конечный блок изображения посредством применения, по меньшей мере, одного из множества фильтров к блоку изображения на основе третьего соответствия.
[99] Т.е., запоминающее устройство 110 может дополнительно хранить аналогичную информацию индексного вектора, которая является информацией о дополнительных индексных векторах, включенных в различные группы индексных векторов для каждого индексного вектора, и имеющих аналогичные характеристики.
[100] Когда один индексный вектор получается на основе второго соответствия, процессор 120 может вычислять соответствие блока изображения дополнительным индексным векторам, имеющим характеристики, аналогичные характеристикам полученного индексного вектора, на основе информации, сохраненной в запоминающем устройстве 110. Процессор 120 может получать, по меньшей мере, один фильтр на основе соответствия блоку изображения для полученного индексного вектора и соответствия блоку изображения для дополнительных индексных векторов.
[101] В этом случае, дополнительное умножение выполняется в процессе вычисления соответствия блока изображения дополнительным индексным векторам, так что скорость может быть уменьшена по сравнению с предыдущим примерным вариантом осуществления, но точность может быть улучшена по сравнению с предыдущим примерным вариантом осуществления. Кроме того, в случае, в котором число дополнительных индексных векторов не является многочисленным, уменьшение скорости может быть незначительным.
[102] Процессор 120 может получать, по меньшей мере, два из множества фильтров на основе множества вычисленных соответствий, вычислять конечный фильтр на основе, по меньшей мере, двух фильтров и соответствий, соответствующих каждому, по меньшей мере, из двух фильтров, и получать конечный блок изображения посредством применения вычисленного конечного фильтра к блоку изображения.
[103] Например, процессор 120 может получать первый фильтр и второй фильтр и вычислять конечный фильтр посредством взвешивания и суммирования первого фильтра и второго фильтра на основе первого соответствия и второго соответствия, соответствующих каждому из первого фильтра и второго фильтра.
[104] Однако, настоящее изобретение не ограничивается этим, и процессор 120 может также вычислять конечный фильтр из первого фильтра и второго фильтра без учета соответствий.
[105] Между тем, множество первых дискретных блоков изображения могут быть изображениями, в которых разрешения соответствующих вторых дискретных блоков изображения являются уменьшенными, соответственно, и процессор 120 может получать конечный блок изображения, в котором разрешение целевого пиксела увеличивается посредством применения, по меньшей мере, одного из множества фильтров к блоку изображения.
[106] В этом случае, множество фильтров может быть фильтрами, изученными и полученными посредством алгоритма искусственного интеллекта, чтобы получать соответствующие вторые дискретные блоки изображения, в которых разрешения являются увеличенными, из каждого из множества первых дискретных блоков изображения.
[107] Процессор 120 может получать дополнительный блок изображения, в котором разрешение целевого пиксела увеличивается посредством применения технологии увеличения разрешения без обучения к блоку изображения, и обновлять конечный блок изображения на основе наибольшего соответствия из множества вычисленных соответствий и дополнительного блока изображения.
[108] Например, процессор 120 может выбирать наибольшее соответствие из множества вычисленных соответствий и определять уровень изменения конечного блока изображения на основе выбранного соответствия. Подробно, процессор 120 может минимизировать и/или уменьшать изменение конечного блока изображения, уменьшая влияние дополнительного блока изображения, когда выбранное соответствие становится большим, и увеличивать изменение конечного блока изображения, увеличивая влияние дополнительного блока изображения, когда выбранное соответствие становится малым.
[109] Фиг. 1B является блок-схемой, иллюстрирующей примерные компоненты электронного устройства 100. Как иллюстрировано на фиг. 1B, электронное устройство 100 включает в себя запоминающее устройство 110, процессор (например, включающий в себя схемы обработки) 120, устройство связи (например, включающее в себя схемы связи) 130, дисплей 140, пользовательский интерфейс 150, аудиопроцессор (например, включающий в себя схемы обработки звука) 160 и видеопроцессор (например, включающий в себя схемы обработки видео) 170. Подробное описание компонентов, частично совпадающих с компонентами, иллюстрированными на фиг. 1A, среди компонентов, иллюстрированных на фиг. 1B, может не повторяться здесь.
[110] Процессор 120 может включать в себя различные схемы обработки и, в целом, управляет работой электронного устройства 100 с помощью различных программ, сохраненных в запоминающем устройстве 110.
[111] Например, процессор 120 может включать в себя, без ограничения, оперативное запоминающее устройство (RAM) 121, постоянное запоминающее устройство (ROM) 122, главный центральный процессор (CPU) 123, графический процессор 124, с первого по n-ый интерфейсы 125-1 по 125-n и шину 126.
[112] RAM 121, ROM 122, основной CPU 123, графический процессор 124, с первого по n-ый интерфейсы 125-1 по 125-n, и т.п., могут быть соединены друг с другом через шину 126.
[113] С первого по n-ый интерфейсы 125-1 по 125-n соединяются с различными компонентами, описанными выше. Один из интерфейсов может быть сетевым интерфейсом, соединенным с внешним сервером через сеть.
[114] Главный CPU 123 осуществляет доступ к запоминающему устройству 110, чтобы выполнять первоначальную загрузку с помощью операционной системы (O/S), сохраненной в запоминающем устройстве 110. Кроме того, главный CPU 123 выполняет различные операции с помощью различных программ или т.п., сохраненных в запоминающем устройстве 110.
[115] Набор инструкций для начальной загрузки системы или т.п. могут быть сохранены в ROM 122. Когда команда включения вводится для подачи питания главному CPU 123, главный CPU 123 копирует операционную систему (O/S), сохраненную в запоминающем устройстве 110, в RAM 121 в зависимости от инструкции, сохраненной в ROM 122, и выполняет O/S для начальной загрузки системы. Когда начальная загрузка завершена, главный CPU 123 копирует различные прикладные программы, сохраненные в запоминающем устройстве 110, в RAM 121 и выполняет прикладные программы, скопированные в RAM 121, чтобы выполнять различные операции.
[116] Графический процессор 124 воспроизводит экран, включающий в себя различные объекты, такие как значок, изображение, текст и т.п., с помощью модуля вычисления (не иллюстрирован) и модуля воспроизведения (не иллюстрирован). Модуль вычисления (не иллюстрирован) вычисляет значения атрибутов, такие как значения координат, в которых соответствующие объекты будут отображены, формы, размеры, цвета и т.п. соответствующих объектов в зависимости от компоновки экрана на основе принятой команды управления. Модуль воспроизведения (не иллюстрирован) воспроизводит экраны различных компоновок, включающих в себя объекты, на основе значений атрибутов, вычисленных в модуле вычисления (не иллюстрирован). Экран, воспроизводимый посредством модуля воспроизведения (не иллюстрирован), отображается в области отображения дисплея 140.
[117] Между тем, работа процессора 120, описанная выше, может быть выполнена посредством программы, сохраненной в запоминающем устройстве 110.
[118] Запоминающее устройство 110 хранит различные данные, такие как программный модуль операционной системы (O/S) для приведения в действие электронного устройства 100, модуль анализа блока изображения, модуль фильтра и т.п.
[119] Устройство 130 связи может включать в себя различные схемы связи и является компонентом, выполняющим связь с различными типами внешних серверов в различных типах способов связи. Устройство 130 связи может включать в себя различные схемы связи, включенные в различные микросхемы связи, такие как, например, и без ограничения, микросхема 131 беспроводной достоверности (WiFi), Bluetooth-микросхема 132, микросхема 133 беспроводной связи, микросхема 134 связи ближнего радиуса действия (NFC) или т.п. Процессор 120 выполняет связь с различными внешними серверами с помощью устройства 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 ГГц и т.п.
[121] Процессор 120 может принимать матрицу индексов, множество фильтров и т.п. от внешнего сервера через устройство 130 связи. Альтернативно, процессор 120 может принимать блоки изображения и т.п. в реальном времени от внешнего сервера через устройство 130 связи.
[122] Дисплей 140 может быть реализован посредством различных типов дисплеев, таких как, например, и без ограничения, жидкокристаллический дисплей (LCD), дисплей на органических светоизлучающих диодах (OLED), плазменная панель отображения (PDP) или т.п. Схема возбуждения, блок задней подсветки и т.п., которые могут быть реализованы в форме, такой как аморфный кремний, низкотемпературный поликристаллический кремний (LTPS), тонкопленочный транзистор (TFT), органический транзистор (OTFT) или т.п., могут быть включены в дисплей 140. Между тем, дисплей 140 может быть реализован посредством сенсорного экрана путем объединения с датчиком касания.
[123] Процессор 120 может управлять дисплеем 140, чтобы отображать блок изображения и конечный блок изображения.
[124] Пользовательский интерфейс 150 принимает различные пользовательские инструкции. Здесь, пользовательский интерфейс 150 может быть реализован в различных формах в зависимости от реализации электронного устройства 100. Например, пользовательский интерфейс 150 может включать в себя различные интерфейсные схемы, такие как, например, и без ограничения, кнопку, включенную в электронное устройство 100, микрофон, принимающий голос пользователя, камеру, обнаруживающую движение пользователя, или т.п. В случае, в котором электронное устройство 100 реализуется посредством сенсорного электронного устройства, пользовательский интерфейс 150 может также быть реализован в форме сенсорного экрана, формирующего слоистую структуру вместе с сенсорной панелью. В этом случае, пользовательский интерфейс 150 может быть использован в качестве дисплея 140, описанного выше.
[125] Аудиопроцессор 160 является компонентом, выполняющим обработку аудиоданных. В аудиопроцессоре 160 могут быть включены различные схемы обработки звука и могут выполняться различные виды обработки, такие как, например, и без ограничения, декодирование, усиление, фильтрация шума или т.п., для аудиоданных могут выполняться.
[126] Видеопроцессор 170 является компонентом, выполняющим обработку видеоданных. В видеопроцессор 170 могут быть включены различные схемы обработки видео и могут выполняться различные виды обработки изображения, такие как, например, и без ограничения, декодирование, масштабирование, фильтрация шума, преобразование частоты кадров, преобразование разрешения или т.п., для видеоданных могут выполняться.
[127] Между тем, модель, включающая в себя матрицу индексов, множество фильтров и т.п., предоставленная внешним сервером, как описано выше, является моделью принятия решения, изученной на основе алгоритма искусственного интеллекта, и может быть, например, моделью, основанной на нейронной сети. Изученная модель принятия решения может быть предназначена, чтобы моделировать структуру человеческого мозга на компьютере, и может включать в себя множество сетевых узлов, моделирующих нейроны человеческой нейронной сети и имеющих весовые коэффициенты. Множество сетевых узлов могут формировать соединительное соотношение между собой, чтобы моделировать синаптическую активность нейронов, передающих и принимающих сигналы через синапсы. Кроме того, изученная модель принятия решения может включать в себя, например, модель нейронной сети или модель глубокого обучения, развитую из модели нейронной сети. В модели глубокого обучения множество сетевых узлов могут быть расположены на различных глубинах (или слоях) и могут передавать и принимать данные между собой в зависимости от соединительного соотношения извилины. Пример изученной модели принятия решения может включать в себя, например, и без ограничения, глубокую нейронную сеть (DNN), рекуррентную нейронную сеть (RNN), двунаправленную рекуррентную глубокую нейронную сеть (BRDNN) или т.п., но не ограничивается этим.
[128] Кроме того, электронное устройство 100 может использовать программу личного секретаря, которая является специализированной программой искусственного интеллекта (или агентом искусственного интеллекта), чтобы принимать конечный блок изображения, полученный посредством применения фильтра к блоку изображения, как описано выше. В этом случае, программа личного секретаря, которая является специализированной программой для предоставления службы на основе искусственного интеллекта (AI), может выполняться посредством существующего процессора общего назначения (например, центрального процессора (CPU)) или отдельного специализированного AI-процессора (например, графического процессора (GPU)).
[129] В случае, в котором предварительно определенные пользовательские входные данные (например, фотографирование изображения в зависимости от манипулирования кнопкой фотографирования, или т.п.) вводятся, или блок изображения вводится из внешнего устройства, агент искусственного интеллекта может быть задействован (или выполнен).
[130] Согласно другому примерному варианту осуществления настоящего изобретения, электронное устройство 100 может передавать входной блок изображения внешнему серверу. Внешний сервер может получать конечный блок изображения, непосредственно применяя фильтр к блоку изображения, и передавать полученный конечный блок изображения электронному устройству 100.
[131] Процессор 120 может улучшать качество обработки изображения, выполняя обработку изображения на основе обучения в реальном времени посредством способа, который описан выше.
[132] Далее в данном документе примерные операции процессора 120 описываются более подробно со ссылкой на чертежи.
[133] Фиг. 2 является схемой, иллюстрирующей примерные операции процессора 120 согласно примерному варианту осуществления настоящего изобретения.
[134] Когда блок изображения вводится, процессор 120 может сначала выполнять извлечение 210 градиента для блока изображения. Например, процессор 120 может принимать решение о направленности блока изображения и создавать градиентный вектор. Кроме того, процессор 120 может также транспонировать блок изображения на основе результата принятия решения о направленности блока изображения.
[135] Процессор 120 может выполнять уменьшение 220 отличительного размера градиентного вектора с помощью собственного вектора 260.
[136] Процессор 120 может выполнять поиск 230 фильтра по фильтру, который должен быть применен к градиентному вектору, размер отличительного признака которого уменьшен, с помощью матрицы 270 индексов.
[137] Процессор 120 может получать, по меньшей мере, один из множества фильтров, включенных в базу данных DB 280 фильтров на основе результата поиска, и применять, по меньшей мере, один фильтр к блоку изображения (применение фильтра 240).
[138] Множество фильтров, включенных в базу данных 280 фильтров, могут быть основанными на обучении фильтрами. Например, множество фильтров может быть получено посредством изучения соотношения между множеством первых дискретных блоков изображения и множеством вторых дискретных блоков изображения, соответствующих множеству первых дискретных блоков изображения, посредством алгоритма искусственного интеллекта. Т.е., операция, описанная выше, может рассматриваться как применение фильтра на основе обучения к блоку изображения.
[139] Между тем, процессор 120 может применять фильтр без обучения к блоку изображения (применение 250 фильтра без обучения), отдельно от операции, описанной выше. Например, процессор 120 может выполнять применение основанного на обучении фильтра и применение фильтра без обучения к одному и тому же блоку изображения параллельно.
[140] Кроме того, процессор 120 может взвешивать и суммировать первый результат, зависящий от применения основанного на обучении фильтра, и второй результат, зависящий от применения фильтра без обучения.
[141] Между тем, собственный вектор 260, матрица 270 индексов и база данных 280 фильтров могут быть созданы с помощью множества первых дискретных блоков изображения и множества вторых дискретных блоков изображения, соответствующих множеству первых дискретных блоков изображения.
[142] На фиг. 2 транспонирование блока изображения в зависимости от результата решения о направленности, уменьшение размера отличительного признака градиентного вектора и применение фильтра без обучения являются необязательными операциями и могут быть пропущены.
[143] Фиг. 3A, 3B, 3C, 3D и 3E являются схемами, иллюстрирующими примерный способ принятия решения о направленности блока изображения и создания градиентного вектора согласно примерному варианту осуществления настоящего изобретения.
[144] Как иллюстрировано на фиг. 3, процессор 120 может принимать решение о направленности блока изображения с помощью масок, таких как Sx и Sy. Например, процессор 120 может принимать решение о направленности блока изображения, применяя блок изображения 5 × 5 и маски к следующему уравнению 1:
[145] [Уравнение 1]
[146]
[147] Здесь, GV указывает вертикальную направленность блока изображения, GH указывает горизонтальную направленность блока изображения, n и m указывают индексы для идентификации строки и столбца, соответственно, а i и j указывают начальные точки блока изображения в кадре изображения.
[148] Процессор 120 может получать направленность блока изображения, сравнивая величину вертикальной направленности и величину горизонтальной направленности друг с другом.
[149] Процессор 120 может определять, транспонировать или нет блок изображения, на основе направленности, используемой в случае создания собственного вектора, матрицы индексов и множества фильтров. Например, в случае, в котором только горизонтальная направленность используется, а вертикальная направленность не используется во время создания собственного вектора, матрицы индексов и множества фильтров, процессор 120 не транспонирует блок изображения, когда блок изображения имеет горизонтальную направленность, и может транспонировать блок изображения, когда блок изображения имеет вертикальную направленность. В случае, в котором только вертикальная направленность используется, а горизонтальная направленность не используется во время создания собственного вектора, матрицы индексов и множества фильтров, процессор 120 не транспонирует блок изображения, когда блок изображения имеет вертикальную направленность, и может транспонировать блок изображения, когда блок изображения имеет горизонтальную направленность.
[150] На фиг. 3B, базовый блок указывает направленность, используемую в случае создания собственного вектора, матрицы индексов и множества фильтров.
[151] В случае, в котором базовый блок имеет вертикальную направленность, как на верхнем крае на фиг. 3B, процессор 120 может транспонировать только правый блок изображения из левых двух блоков изображения. В случае, в котором базовый блок имеет горизонтальную направленность, как на нижнем крае на фиг. 3B, процессор 120 может транспонировать только правый блок изображения из левых двух блоков изображения.
[152] Поскольку только одна из вертикальной направленности и горизонтальной направленности используется, объемы данных для собственного вектора, матрицы индексов и множества фильтров могут быть уменьшены. Кроме того, дополнительное вычисление в зависимости от решения о направленности и транспонирования блока изображения может быть сформировано, но объем вычисления может быть уменьшен в последующих операциях, благодаря уменьшению в объемах данных для собственного вектора, матрицы индексов и множества фильтров. Например, полный объем вычислений может быть уменьшен в зависимости от операции принятия решения о направленности.
[153] Между тем, маски, такие как Sx и Sy, иллюстрированные на фиг. 3A, являются лишь примером, и процессор 120 может принимать решение о направленности блока изображения другим способом. Кроме того, хотя только пикселы 3 × 3 в блоке изображения 5 × 5 иллюстрируются на фиг. 3B, это должно иллюстрировать направленность. Процессор 120 может принимать решение о направленности блока изображения посредством применения блока изображения 5 × 5 и масок, как иллюстрировано на фиг. 3A.
[154] Однако, настоящее изобретение не ограничивается этим, и процессор 120 может также принимать решение о направленности блока изображения с помощью лишь некоторых пикселов блока изображения, чтобы улучшать скорость вычислений. Например, процессор 120 может принимать решение о направленности блока изображения, применяя маску для принятия решения о направленности 3 × 3 к пикселам 3 × 3 за исключением пикселов, расположенных поблизости от краев блока изображения 5 × 5.
[155] Далее в данном документе случай, в котором блок изображения 3 × 3 вводится, описывается для удобства объяснения. Однако, настоящее изобретение не ограничивается этим, и процессор 120 может работать таким же образом относительно блоков изображения, имеющих другие размеры. Кроме того, запоминающее устройство 110 может хранить маски, соответствующие различным размерам изображения, оператор вычисления градиента, который должен быть описан ниже, матрицу индексов, множество векторов и т.п.
[156] Процессор 120 может вычислять горизонтальный градиент и вертикальный градиент для блока изображения 3 × 3 с помощью оператора Собела, как иллюстрировано на фиг. 3C. Процессор 120 может получать горизонтальный градиент 3 × 3 и вертикальный градиент 3 × 3 посредством оператора Собела и умножения блока изображения 3× 3, как иллюстрировано на фиг. 3D.
[157] Процессор 120 может вычислять градиентный вектор c × 1 из горизонтального градиента 3 × 3 и вертикального градиента 3 × 3, как иллюстрировано на фиг. 3E.
[158] Хотя случай, в котором градиентный вектор вычисляется после того, как выполняется транспонирование блока изображения, описывается выше в данном документе, настоящее изобретение не ограничивается этим. Например, процессор 120 может принимать решение лишь о направленности блока изображения, и вычислять горизонтальный градиент и вертикальный градиент блока изображения. Кроме того, процессор 120 может изменять последовательность вычисления градиентного вектора, отражая транспонирование из горизонтального градиента и вертикального градиента, когда блок изображения должен быть транспонирован.
[159] Фиг. 4A и 4B являются схемами, иллюстрирующими примерное уменьшение размера отличительного признака градиентного вектора согласно примерному варианту осуществления настоящего изобретения.
[160] Процессор 120 может уменьшать размер отличительного признака градиентного вектора c × 1 с помощью собственного вектора c' × c, как иллюстрировано на фиг. 4A. Например, процессор 120 может получать градиентный вектор c' × 1, размер отличительного признака которого уменьшается посредством умножения между собственным вектором c' × c и градиентным вектором с × 1.
[161] Фиг. 4B иллюстрирует пример градиентного вектора Gradient vector', размер отличительного признака которого является уменьшенным.
[162] Собственный вектор может быть создан посредством способа анализа основных компонентов внешним сервером, и электронное устройство 100 может принимать собственный вектор от внешнего сервера и сохранять собственный вектор в запоминающем устройстве 110. Например, внешний сервер может создавать градиентный вектор для каждого из 10000 первых дискретных блоков изображения. Способ создания градиентного вектора является таким же, что и способ, описанный выше. Здесь, внешний сервер может принимать решение о направленности каждого из первых дискретных блоков изображения, транспонировать первые дискретные блоки изображения на основе оцененной направленности и вычислять градиентные векторы для транспонированных первых дискретных блоков изображения. Затем, внешний сервер может вычислять собственный вектор, применяя способ анализа основных компонентов к каждому из множества вычисленных дискретных градиентных векторов.
[163] Однако, настоящее изобретение не ограничивается этим, и процессор 120 может также непосредственно создавать собственный вектор посредством способа анализа основных компонентов. В этом случае, запоминающее устройство 110 может хранить множество первых дискретных блоков изображения.
[164] Далее в данном документе, случай использования градиентного вектора, размер отличительного признака которого является уменьшенным, описывается для удобства объяснения. Однако, уменьшение размера отличительного признака, как описано выше, является необязательной операций, и последующие операции могут, таким образом, быть выполнены без уменьшения размера отличительного признака градиентного вектора.
[165] Фиг. 5A и 5B являются схемами, иллюстрирующими примерный поиск фильтра с помощью матрицы индексов согласно примерному варианту осуществления настоящего изобретения.
[166] Запоминающее устройство 110 может хранить матрицу индексов a × c', как иллюстрировано на фиг. 5A. Матрица индексов может включать в себя a индексных векторов 1 × c'. Здесь, индексные векторы представляют характеристики блока изображения и могут также называться классами или группами. Фиг. 5A иллюстрирует матрицу индексов, включающую в себя индексные векторы, указывающие характеристики для каждого из классов или групп, в которые характеристики блока изображения делятся.
[167] Процессор 120 может выполнять умножение между матрицей индексов a × c' и градиентным вектором c' × 1, размер отличительного признака которого является уменьшенным, и вычислять вектор соответствия a × 1, как иллюстрировано на фиг. 5B. Каждая строка вектора соответствия указывает соответствие блока изображения каждому классу или группе.
[168] Чем выше число в векторе соответствия, тем выше соответствие. Например, в случае, в котором 0,9 является наибольшим числом на фиг. 5B, процессор 120 может решать, что блок изображения имеет характеристики класса или группы, соответствующие 0,9.
[169] Матрица индексов может быть создана посредством внешнего сервера, и электронное устройство 100 может принимать матрицу индексов от внешнего сервера и сохранять матрицу индексов в запоминающем устройстве 110. Внешний сервер может вычислять a индексных векторов, которые могут представлять множество дискретных градиентных векторов, вычисленных из множества первых дискретных блоков изображения с помощью алгоритма K-SVD или K-средних, который является одним из способов обучения без учителя. Внешний сервер может создавать матрицу индексов, включающую в себя a индексных векторов.
[170] Однако, настоящее изобретение не ограничивается этим, и процессор 120 может также вычислять a индексных векторов, которые могут представлять множество дискретных градиентных векторов, вычисленных из множества первых дискретных блоков изображения.
[171] Кроме того, хотя случай, в котором характеристики блока изображения делятся на a классов или групп, описывается выше в данном документе, характеристики блока изображения не ограничиваются этим, но могут также быть разделены на другое число классов или групп. Однако, далее в данном документе, случай, в котором характеристики блока изображения делятся на a классов или групп, описывается для удобства объяснения. Кроме того, индексные векторы, классы и группы используются вместе выше в данном документе, но случай, в котором классы используются в качестве понятия, указывающего характеристики блока изображения, а индексные векторы указывают каждый класс, описывается далее в данном документе.
[172] Между тем, количества классов или групп могут быть изменены в зависимости от вида фильтров. Например, в случае увеличивающего разрешение фильтра, характеристики блока изображения могут быть разделены на a классов или групп, но в случае фильтра повышения резкости, характеристики блока изображения могут быть разделены на классы или фильтры, число которых отличается от a.
[173] Фиг. 6A, 6B и 6C являются схемами, иллюстрирующими примерный способ уменьшения объема вычислений поиска фильтра согласно примерному варианту осуществления настоящего изобретения.
[174] Фиг. 6A является схемой, иллюстрирующей то, что множество классов группируются в четыре группы, и классы 620, представляющие каждую группу, могут быть назначены в каждой группе 610, 611, 612 и 613. Фиг. 6B иллюстрирует первую матрицу индексов Index Matrix 1, включающую в себя множество индексных векторов, соответствующих классам 620, представляющим каждую группу. Фиг. 6C иллюстрирует вторую матрицу индексов Index Matrix 2, включающую в себя множество индексных векторов, соответствующих классам, включенным в одну из четырех групп. Т.е., число вторых матриц индексов является таким же, что и число групп.
[175] Первая матрица индексов и вторая матрица индексов могут быть созданы внешним сервером, и электронное устройство 100 может принимать первую матрицу индексов и вторую матрицу индексов от внешнего сервера и сохранять первую матрицу индексов и вторую матрицу индексов в запоминающем устройстве 110. Внешний сервер может выполнять группировку по a индексным векторам посредством кластеризации методом k-средних, или т.п., и определять индексные векторы, представляющие каждую группу. Однако, настоящее изобретение не ограничивается этим, и внешний сервер может также вычислять представляющие индексные векторы, представляющие каждую группу. В этом случае, представляющие индексные векторы могут не совпадать со всеми индексными векторами в соответствующей группе.
[176] Однако, настоящее изобретение не ограничивается этим, и процессор 120 может также вычислять первую матрицу индексов и вторую матрицу индексов способом, описанным выше, и сохранять первую матрицу индексов и вторую матрицу индексов в запоминающем устройстве 110.
[177] Процессор 120 может выполнять умножение между первой матрицей индексов 4 × c' и градиентным вектором c' × 1, размер отличительного признака которого является уменьшенным, и вычислять соответствия каждой группе. Процессор 120 может получать одну группу на основе наибольшего соответствия из соответствий каждой группе. Процессор 120 может выполнять умножение между второй матрицей индексов b × c', соответствующей полученной группе, и градиентным вектором c' × 1, размер отличительного признака которого является уменьшенным, и вычислять соответствия каждому из классов, включенных в полученную группу.
[178] В этом случае, вычисление соответствий классам за исключением трех представляющих классов среди b × 3 классов, включенных в другие группы за исключением полученной группы, не выполняется, и точность может быть снижена по сравнению с фиг. 5A и 5B, но скорость вычислений может быть улучшена.
[179] В случае уменьшения числа групп, точность может быть дополнительно улучшена. Скорость вычислений может быть дополнительно улучшена посредством увеличения числа групп.
[180] Фиг. 7A и 7B являются схемами, иллюстрирующими примерный способ уменьшения объема вычислений поиска фильтра согласно другому примерному варианту осуществления настоящего изобретения. Например, способ на фиг. 7A и 7B является способом выбора класса, имеющего более высокое соответствие, посредством дополнительного вычисления, после того как способ на фиг. 6A, 6B и 6C полностью выполнен.
[181] Процессор 120 может получать класс A 710 третьей группы в качестве класса, соответствие которого блоку изображения является наивысшим, в качестве результата вычислений соответствий второй матрице индексов, как иллюстрировано на фиг. 7A.
[182] Запоминающее устройство 110 может хранить третью матрицу индексов Index Matrix 3 для класса A 710, как иллюстрировано на фиг. 7B. Третья матрица индексов может включать в себя множество индексных векторов, соответствующих классам A' 720-1, 720-2 и 720-3, включенным в группы, отличные от группы класса A 710, и имеющим характеристики, аналогичные характеристикам класса A 710. Кроме того, запоминающее устройство 110 может хранить три матрицы индексов для каждого из других классов, которые не являются классом A 710. Например, число матриц третьего индекса может быть таким же, что и число классов. Кроме того, размеры множества третьих матриц индексов могут отличаться друг от друга.
[183] Множество матриц третьих индексов может быть создано внешним сервером или создано процессором 120.
[184] Процессор 120 может выполнять умножение между третьей матрицей индексов 3 × c' и градиентным вектором c' × 1, размер отличительного признака которого является уменьшенным, и вычислять соответствия классам A' 720-1, 720-2 и 720-3, имеющим характеристики, аналогичные характеристикам класса A 710.
[185] Процесс вычисления соответствий третьей матрице индексов может быть добавлен в способ на фиг. 7A и 7B по сравнению со способом на фиг. 6A, 6B и 6C, но точность может быть улучшена.
[186] Фиг. 8A и 8B являются схемами, иллюстрирующими примерный способ применения фильтра к блоку изображения согласно примерному варианту осуществления настоящего изобретения. На фиг. 8A блок изображения 5 × 5 иллюстрируется для удобства объяснения.
[187] Процессор 120 может применять, по меньшей мере, один из множества фильтров к блоку изображения на основе соответствий, вычисленных посредством способов, которые иллюстрированы на фиг. 5A, 5B, 6A, 6B, 6C, 7A и 7B. Например, когда соответствия всем классам вычисляются, как иллюстрировано на фиг. 5B, процессор 120 может получать первый фильтр, соответствующий классу 0,9, второй фильтр, соответствующий классу 0,2, и третий фильтр, соответствующий классу 0,1 в последовательности высоких соответствий. Каждый из множества фильтров может соответствовать каждому из множества классов. Например, в случае, в котором a классов создается в зависимости от характеристик блока изображения, один фильтр, соответствующий каждому из a классов, создается, и всего a фильтров может быть создано. Подробное описание для способа создания фильтров описывается ниже.
[188] Процессор 120 может преобразовывать множество фильтров в один фильтр посредством следующего уравнения 2:
[189] [Уравнение 2]
[190]
[191] Здесь, H(1), H(2) и H(3) указывают первый фильтр, второй фильтр и третий фильтр, соответственно, а C(1), C(2) и C(3) указывают соответствия блока изображения первому фильтру, второму фильтру и третьему фильтру, соответственно.
[192] Однако, настоящее изобретение не ограничивается этим, и процессор 120 может также преобразовывать множество фильтров в один фильтр без учета соответствий каждого фильтра. В этом случае, процессор 120 может преобразовывать множество фильтров в один фильтр, заменяя C(1), C(2) и C(3) на 1 в уравнении 2.
[193] Процессор 120 может получать конечный блок 820 изображения для целевого пиксела 810, применяя фильтр к блоку изображения 5 × 5, как иллюстрировано на фиг. 8A. Правая сторона на фиг. 8A иллюстрирует конечный блок изображения, в котором всего шесть целевых пикселов обрабатываются в изображении, и является видом, в котором применяется фильтр увеличения разрешения. Т.е., один целевой пиксел может быть увеличен до девяти пикселов в итоге.
[194] Процессор 120 может векторизовать блок изображения и применять фильтр к блоку изображения. Например, процессор 120 может векторизовать блок изображения 5 × 5 и применять фильтр к блоку изображения 5 × 5. Т.е., процессор 120 может получать конечный блок изображения 3 × 3, как иллюстрировано с правой стороны на фиг. 8A, выполняя умножение между фильтром и вектором. Способ векторизации блока изображения и получения конечного блока изображения из вектора является таким же, или аналогичным, способу, описанному на фиг. 3E, и дублирующее описание, таким образом, пропускается.
[195] Хотя случай, в котором фильтр увеличения разрешения используется, описан выше в данном документе, настоящее изобретение не ограничивается этим. Например, может быть использован фильтр повышения резкости. В этом случае, разрешение сохраняется как есть, и целевой пиксел может быть отфильтрован для повышения резкости на основе множества окружающих пикселов. Фильтр повышения резкости может также быть создан посредством алгоритма искусственного интеллекта, и дискретное изображение, используемое в процессе обучения, может отличаться от дискретного изображения в фильтре увеличения разрешения. Подробное описание для этого предоставляется ниже.
[196] Между тем, процессор 120 может хранить информацию о том, транспонирован или нет блок изображения в зависимости от направленности первоначального блока изображения, в запоминающем устройстве 110. Когда конечный блок изображения получается из транспонированного блока изображения, процессор 120 может снова транспонировать конечный блок изображения на основе информации, сохраненной в запоминающем устройстве 110, как иллюстрировано на фиг. 8B.
[197] Между тем, процессор 120 может получать дополнительный блок изображения, применяя фильтр без обучения к блоку изображения, и обновлять конечный блок изображения на основе наибольшего соответствия из множества вычисленных соответствий и дополнительного блока изображения.
[198] Подробно, процессор 120 может обновлять конечный блок изображения, как представлено посредством следующего уравнения 3:
[199] [Уравнение 3]
[200]
[201]
[202] Здесь, Y1' указывает обновленный конечный блок изображения, Y1 указывает конечный блок изображения, Y2 указывает дополнительный блок изображения, w указывает весовой коэффициент, c указывает наибольшее соответствие из множества вычисленных соответствий, а k указывает константу.
[203] Фильтр без обучения может показывать лучшую характеристику по сравнению с характеристикой фильтра на основе обучения в зависимости от вида фильтра и вида характеристик изображения. Например, фильтр увеличения разрешения на основе обучения показывает отличную рабочую характеристику относительно крайних компонентов, отличительные признаки изображения которого являются ясными, но демонстрирует шумовой компонент относительно плоской области, отличительный признак изображения которой является неясным, или демонстрирует низкую рабочую характеристику на поверхности детального представления. Следовательно, в случае, в котором конечный блок изображения посредством фильтра увеличения разрешения на основе обучения обновляется с дополнительным блоком изображения посредством фильтра увеличения разрешения без обучения, как представлено следующим уравнением 3, отличная характеристика фильтрации может быть обеспечена относительно плоской области, отличительный признак изображения которой является неясным.
[204] Кроме того, поскольку соответствие между блоком изображения и фильтром увеличения разрешения на основе обучения учитывается в качестве весового коэффициента в процессе обновления, рабочая характеристика может быть дополнительно улучшена. Например, в случае, в котором блок изображения является плоской областью, отличительный признак изображения которой является неясным, соответствия блока изображения множеству классов могут быть низкими. Дискретный блок изображения, включающий в себя плоскую область, отличительный признак изображения которой является неясным, может быть исключен из обучения в процессе обучения.
[205] Между тем, процессор 120 может также выполнять увеличение разрешения относительно неизученного увеличения, соединяя фильтр увеличения разрешения без обучения с фильтром увеличения разрешения на основе обучения последовательно.
[206] Например, фильтр увеличения разрешения на основе обучения задействуется в зависимости только от увеличивающего разрешение увеличения с обучением и может не задействоваться относительно увеличивающего разрешение увеличения без обучения. Однако, процессор 120 может увеличивать разрешение с помощью фильтра увеличения разрешения на основе обучения и затем выполнять передискретизацию с помощью фильтра увеличения разрешения без обучения, чтобы получать результат в зависимости от желаемого увеличивающего разрешение увеличения.
[207] Между тем, хотя случай, в котором три фильтра взвешиваются и суммируются в уравнении 2, описан, настоящее изобретение не ограничивается этим. Например, процессор 120 может использовать только один фильтр или использовать множество фильтров и применять различные весовые коэффициенты к множеству фильтров.
[208] Кроме того, процессор 120 может предоставлять конечный блок изображения с помощью одного фильтра и множество конечных блоков изображения с помощью множества фильтров, к которым применяются различные весовые коэффициенты, и может изменять уравнение 2 в зависимости от выбора пользователя. Например, процессор 120 может предоставлять конечный блок изображения с помощью одного фильтра и множество конечных блоков изображения с помощью множества фильтров в зависимости от уравнения 2, и в случае, в котором пользователь выбирает конечный блок изображения с помощью одного фильтра, процессор 120 может использовать один фильтр в последующем процессе применения фильтра.
[209] Фиг. 9A и 9B являются схемами, иллюстрирующими примерный способ обучения для фильтра согласно примерному варианту осуществления настоящего изобретения. На фиг. 9A и 9B способ обучения фильтра увеличения разрешения и случай, в котором обучение выполняется во внешнем сервере, описываются для удобства объяснения.
[210] Внешний сервер может хранить изображение высокого разрешения, как иллюстрировано на фиг. 9A. Внешний сервер может считывать множество вторых дискретных блоков изображения из изображения высокого разрешения и получать множество первых дискретных изображений, уменьшая разрешение каждого из множества вторых дискретных блоков изображения, как иллюстрировано на фиг. 9B. Внешний сервер может хранить множество вторых дискретных блоков изображения, имеющих высокое разрешение, и множество первых дискретных блоков изображения, соответствующих множеству вторых дискретных блоков изображения и имеющих низкое разрешение. Здесь, высокое разрешение и низкое разрешение должны указывать относительные состояния, и блок изображения низкого разрешения может ссылаться, например, на блок изображения, имеющий разрешение ниже разрешения блока изображения высокого разрешения.
[211] Внешний сервер может получать множество дискретных градиентных векторов из множества первых дискретных изображений. Здесь, внешний сервер может выполнять транспонирование с учетом направленности множества первых дискретных изображений, но это является необязательной операцией.
[212] Внешний сервер может получать собственный вектор из множества дискретных градиентных векторов и уменьшать размеры отличительных признаков множества дискретных градиентных векторов. Однако, внешний сервер может также выполнять обучение без уменьшения размеров отличительных признаков.
[213] Внешний сервер может делить множество дискретных градиентных векторов, размеры отличительных признаков которых уменьшаются, на предварительно определенное число групп для каждой из характеристик блока изображения, и получать индексные векторы, представляющие каждую группу. Здесь, индексные векторы, представляющие каждую группу, могут быть такими же или могут не быть такими же, что и один из множества дискретных градиентных векторов, соответствующих соответствующей группе. Внешний сервер может получать матрицу индексов, включающую в себя множество индексных векторов.
[214] Для удобства объяснения, описывается случай, в котором внешний сервер делит характеристики блока изображения на две группы, имеющие вертикальную направленность и горизонтальную направленность. В этом случае, внешний сервер может получать два индексных вектора, представляющих каждую группу, и получать матрицу индексов, включающую в себя два индексных вектора.
[215] Кроме того, внешний сервер может классифицировать первые дискретные блоки изображения в одну из двух групп. Например, внешний сервер может вычислять первые дискретные градиентные векторы для первых дискретных блоков изображения, вычислять соответствия первых дискретных блоков изображения двум группам посредством умножения между матрицей индексов и первыми дискретными градиентными векторами, и классифицировать первые дискретные блоки изображения в группу, имеющую более высокое соответствие. Внешний сервер может выполнять процесс, который описан выше, по всем из первых дискретных блоков изображения. В результате, например, 354000 из 1000000 первых дискретных блоков изображения могут быть классифицированы в группу, имеющую горизонтальную направленность, а 646000 из 1000000 первых дискретных блоков изображения могут быть классифицированы в группу, имеющую вертикальную направленность.
[216] Внешний сервер может создавать первый фильтр, изучая соотношение между 354000 первыми дискретными блоками изображения, имеющими горизонтальную направленность, и 354000 вторыми дискретными блоками изображения, соответствующими 354000 первым дискретным блокам изображения, посредством алгоритма искусственного интеллекта. Кроме того, внешний сервер может создавать второй фильтр, изучая соотношение между 646000 первых дискретных блоков изображения, имеющих вертикальную направленность, и 646000 вторых дискретных блоков изображения, соответствующих 646000 первых дискретных блоков изображения, посредством алгоритма искусственного интеллекта.
[217] Индексный вектор может рассматриваться как индекс, указывающий характеристики одного блока изображения, и фильтр, соответствующий индексному вектору, может быть получен посредством изучения первых дискретных блоков изображения и вторых дискретных блоков изображения, соответствующих первым дискретным блокам изображения, на основе характеристик блока изображения, соответствующего соответствующему индексному вектору.
[218] Внешний сервер может выполнять обучение посредством способа минимизации и/или уменьшения погрешности норматива L2 и способа минимизации и/или уменьшения погрешности норматива L1. Например, внешний сервер может вычислять фильтр увеличения изображения, минимизирующий и/или уменьшающий погрешность норматива L2 посредством следующего уравнения 4:
[219] [Уравнение 4]
[220]
[221] Здесь, K означает класс, X указывает значение изображения для дискретного блока изображения высокого разрешения, а Y указывает значение изображения для дискретного блока изображения низкого разрешения.
[222] Однако, это является лишь примером, и различные способы обучения могут быть использованы.
[223] Кроме того, хотя случай изучения блока изображения высокого разрешения и блока изображения низкого разрешения описывается на фиг. 9A и 9B, настоящее изобретение не ограничивается этим. Например, внешний сервер может также получать фильтр повышения резкости или фильтр размытия, изучая размытый блок изображения и резкий блок изображения. В этом случае, разрешение блока изображения может не быть изменено. Здесь, размытый блок изображения означает блок изображения, имеющий резкость относительно более низкую по сравнению с резкостью резкого блока изображения.
[224] Кроме того, электронное устройство 100 вместо внешнего сервера может непосредственно выполнять обучение. В этом случае, запоминающее устройство 110 может хранить первые дискретные блоки изображения и вторые дискретные блоки изображения, и процессор 120 может получать матрицу индексов и множество фильтров, выполняя обучение на основе сохраненной информации. Кроме того, когда блок изображения вводится, процессор 120 может создавать конечный блок изображения, применяя, по меньшей мере, один фильтр к введенному блоку изображения.
[225] Между тем, описывается выше, что транспонирование блока изображения в зависимости от результата оценки направленности, уменьшение размера отличительного признака градиентного вектора и применение фильтра без обучения являются необязательными операциями. Например, матрица индексов и фильтры могут быть изменены в зависимости от того, выполняются или нет необязательные операции.
[226] Например, когда транспонирование блока изображения в зависимости от результата оценки направленности выполняется, может быть создана матрица индексов a × c (в случае, в котором уменьшение размера отличительного признака не выполняется). С другой стороны, когда транспонирование блока изображения в зависимости от результата оценки направленности не выполняется, может быть создана матрица индексов 2 × a × c (в случае, в котором уменьшение размера отличительного признака не выполняется). Это обусловлено тем, что в случае, в котором характеристики изображения делятся на a, когда транспонирование не выполняется, два случая горизонтальной направленности и вертикальной направленности разделяются, и характеристики изображения, таким образом, дублируются.
[227] Когда уменьшение размера отличительного признака градиентных векторов выполняется, матрица индексов a × c' (в случае, в котором транспонирование выполняется) может быть создана. С другой стороны, когда уменьшение размера отличительного признака градиентных векторов не выполняется, может быть создана матрица индексов a × c (в случае, в котором транспонирование выполняется).
[228] Фиг. 10 является блок-схемой последовательности операций, иллюстрирующей примерную операцию передачи изображения согласно примерному варианту осуществления настоящего изобретения.
[229] Внешний сервер 200 может, например, и без ограничения, быть устройством, предоставляющим изображение электронному устройству 100. Кроме того, внешний сервер 200 может, например, и без ограничения, быть настольным PC, переносным PC, планшетом, смартфоном или т.п., также как сервером, и может быть любым устройством, которое может выполнять обучение посредством алгоритма искусственного интеллекта и выполнять кодирование.
[230] Внешний сервер 200 может получать изображение низкого разрешения из изображения высокого разрешения (S1010). Например, внешний сервер 200 может получать 4K видео из 8K видео. Способ уменьшения разрешения видео может быть любым способом.
[231] Кроме того, внешний сервер 200 может создавать информацию фильтра, изучая изображение высокого разрешения и изображение низкого разрешения (S1020). Например, внешний сервер 200 может делить соответствующие кадры изображения высокого разрешения на блоки изображения, имеющие предварительно определенный размер, и может также делить изображение низкого разрешения тем же способом. В этом случае, число блоков изображения, созданных из изображения высокого разрешения, может быть таким же, что и число блоков изображения, созданных из изображения низкого разрешения. Кроме того, каждый из блоков изображения, созданных из изображения высокого разрешения, может соответствовать одному из блоков изображения, созданных из изображения низкого разрешения, и может отличаться только в разрешении от одного из блоков изображения, созданных из изображения низкого разрешения. Далее в данном документе блоки изображения, созданные из изображения высокого разрешения и блоки изображения, созданные из изображения низкого разрешения, описываются как блоки изображения высокого разрешения и блоки изображения низкого разрешения, соответственно.
[232] Внешний сервер 200 может создавать множество фильтров, выполняя обучение для получения соответствующих блоков изображения высокого разрешения из блоков изображения низкого разрешения. Здесь, способ создания множества фильтров совпадает со способом, описанным на фиг. 1A-9B, и его описание, таким образом, не повторяется здесь.
[233] Кроме того, внешний сервер 200 может кодировать и сжимать изображение низкого разрешения (S1030). Способ кодирования особенно не ограничивается.
[234] Внешний сервер 200 может передавать закодированное изображение низкого разрешения и информацию фильтра электронному устройству 100 (S1040). Здесь, информация фильтра может включать в себя матрицу индексов и множество фильтров. Кроме того, согласно примерному варианту осуществления, информация фильтра может дополнительно включать в себя собственный вектор. Кроме того, информация фильтра может включать в себя способ деления соответствующего кадра изображения низкого разрешения на блоки изображения, имеющие предварительно определенный размер.
[235] Электронное устройство 100 может декодировать закодированное изображение низкого разрешения, чтобы воссоздавать изображение низкого изображения (S1050). Способ декодирования особенно не ограничивается, пока он соответствует способу кодирования внешнего сервера 200.
[236] Электронное устройство 100 может воссоздавать изображение высокого разрешения, применяя информацию фильтра к изображению низкого разрешения (S1060). Например, электронное устройство 100 может делить изображение низкого разрешения на множество блоков изображения на основе способа деления соответствующих кадров изображения низкого разрешения на блоки изображения, имеющие предварительно определенный размер, включенный в информацию фильтра. Кроме того, электронное устройство 100 может получать блоки изображения высокого разрешения из соответствующих блоков изображения на основе матрицы индексов и множества фильтров. Способ получения блоков изображения высокого разрешения совпадает со способом, описанным на фиг. 1A-9B, и его описание, таким образом, не повторяется здесь. Электронное устройство 100 может получать изображение высокого разрешения из множества блоков изображения высокого разрешения.
[237] Трудно передавать 8K изображение только посредством текущей технологии кодирования, но 8K изображение может быть передано посредством способа, который описан выше. Например, внешний сервер 200 может кодировать 4K изображение и передавать закодированное 4K изображение электронному устройству 100. Кроме того, электронное устройство 100 может декодировать принятую информацию, чтобы воссоздавать 4K изображение, и может создавать 8K изображение из 4K изображения с помощью данных обучения, полученные посредством алгоритма искусственного интеллекта, чтобы получать 8K изображение из 4K изображения.
[238] Информация фильтра, переданная от внешнего сервера 200 электронному устройству 100, является лишь инструментом для получения 8K изображения из 4K изображения и может считаться отличающейся от информации изображения. Например, емкость информации фильтра может быть гораздо меньше емкости, когда 8K изображение непосредственно передается, а в случае использования информации фильтра, как описано выше, потоковая передача 8K изображения может быть возможной.
[239] Фиг. 11 является блок-схемой последовательности операций, иллюстрирующей примерный способ управления электронным устройством согласно примерному варианту осуществления настоящего изобретения.
[240] Блок изображения, включающий в себя целевой пиксел и множество окружающих пикселов, классифицируется в один из множества шаблонов изображения на основе соотношения между пикселами в блоке изображения (S1110). Кроме того, конечный блок изображения, в котором целевой пиксел обрабатывается в изображении, получается посредством применения, по меньшей мере, одного фильтра, соответствующего классифицированному шаблону изображения, среди множества фильтров, каждый из которых соответствует множеству шаблонов изображения, к блоку изображения (S1120). Множество фильтров может быть получено посредством изучения соотношения между множеством первых дискретных блоков изображения и множеством вторых дискретных блоков изображения, соответствующих множеству первых дискретных блоков изображения, посредством алгоритма искусственного интеллекта на основе каждого из множества шаблонов изображения.
[241] Классификация (S1110) может включать в себя вычисление градиентного вектора из блока изображения, вычисление соответствий блока изображения каждому из множества индексных векторов на основе матрицы индексов, включающей в себя множество индексных векторов, и градиентного вектора, и классификацию блока изображения в один из множества шаблонов изображения на основе вычисленных соответствий, и множество индексных векторов могут быть получены на основе множества дискретных градиентных векторов, вычисленных из множества первых дискретных блоков изображения, и могут соответствовать множеству шаблонов изображения, соответственно.
[242] Кроме того, при вычислении градиентного вектора, градиентный вектор может быть вычислен из блока изображения, когда интенсивность горизонтальной направленности блока изображения больше интенсивности вертикальной направленности блока изображения, и блок изображения может быть транспонирован, и градиентный вектор может быть вычислен из транспонированного блока изображения, когда интенсивность горизонтальной направленности блока изображения меньше интенсивности вертикальной направленности блока изображения.
[243] Между тем, способ управления электронным устройством согласно примерному варианту осуществления настоящего изобретения может дополнительно включать в себя уменьшение размера градиентного вектора с помощью собственного вектора, при этом в вычислении соответствий соответствия блока изображения каждому из множества индексных векторов вычисляются на основе градиентного вектора, размер которого является уменьшенным, и собственный вектор создается посредством применения анализа основных компонентов из множества дискретных градиентных векторов.
[244] Кроме того, вычисление соответствий может включать в себя вычисление первого соответствия блока изображения каждой из множества групп индексных векторов на основе первой матрицы индексов и градиентного вектора, получение одной из множества групп индексных векторов на основе первого соответствия, получение второй матрицы индексов, соответствующей полученной группе индексных векторов, среди множества вторых матриц индексов и вычисление второго соответствия блока изображения каждому из множества индексных векторов, включенных в полученную группу индексных векторов, на основе полученной второй матрицы индексов и градиентного вектора, и при получении (S1120) конечного блока изображения конечный блок изображения может быть получен посредством применения, по меньшей мере, одного из множества фильтров к блоку изображения на основе второго соответствия, множество групп индексных векторов могут быть получены посредством деления множества индексных векторов на предварительно определенное число групп, первая матрица индексов может включать в себя индексные векторы, представляющие каждую из множества групп индексных векторов, и каждая из множества вторых матриц индексов может включать в себя множество индексных векторов, соответствующих каждой из множества групп индексных векторов.
[245] Вычисление соответствий может включать в себя получение одного из множества индексных векторов, включенных в полученную группу индексных векторов, на основе второго соответствия, получение, по меньшей мере, одного дополнительного индексного вектора, включенного в другие из множества групп индексных векторов и соответствующего полученному индексному вектору, на основе аналогичной информации индексного вектора, и вычисление третьего соответствия блока изображения на основе полученного индексного вектора, полученного дополнительного индексного вектора и градиентного вектора, и при получении (S1120) конечного блока изображения конечный блок изображения может быть получен посредством применения, по меньшей мере, одного из множества фильтров к блоку изображения на основе третьего соответствия.
[246] Между тем, получение (S1120) конечного блока изображения может включать в себя получение, по меньшей мере, двух из множества фильтров на основе множества вычисленных соответствий, вычисление конечного фильтра на основе, по меньшей мере, двух фильтров и соответствий, соответствующих каждому, по меньшей мере, из двух фильтров, и получение конечного блока изображения посредством применения вычисленного конечного фильтра к блоку изображения.
[247] Кроме того, множество первых дискретных блоков изображения могут быть изображениями, в которых разрешения соответствующих вторых дискретных блоков изображения являются уменьшенными, соответственно, и при получении (S1120) конечного блока изображения конечный блок изображения, в котором разрешение целевого пиксела является увеличенным, может быть получен посредством применения, по меньшей мере, одного из множества фильтров к блоку изображения.
[248] Способ управления электронным устройством согласно примерному варианту осуществления настоящего изобретения может дополнительно включать в себя получение дополнительного блока изображения, в котором разрешение целевого пиксела увеличивается посредством применения технологии увеличения разрешения без обучения к блоку изображения, и обновление конечного блока изображения на основе наибольшего соответствия из множества вычисленных соответствий и дополнительного блока изображения.
[249] Между тем, при вычислении градиентного вектора, горизонтальные градиенты и вертикальные градиенты для целевого пиксела и каждого из множества окружающих пикселов могут быть вычислены, и градиентный вектор может быть вычислен на основе горизонтальных градиентов и вертикальных градиентов.
[250] Кроме того, каждый из множества фильтров может быть получен посредством получения множества первых субдискретных блоков изображения, соответствующих одному из множества индексных векторов, среди множества первых дискретных блоков изображения, получения множества вторых субдискретных блоков изображения, соответствующих множеству первых субдискретных блоков изображения, среди множества вторых дискретных блоков изображения, и изучения соотношения между множеством первых субдискретных блоков изображения и множеством вторых субдискретных блоков изображения посредством алгоритма искусственного интеллекта.
[251] Согласно различным примерным вариантам осуществления настоящего изобретения, как описано выше, электронное устройство может выполнять обработку изображения в реальном времени и, таким образом, использоваться в различных прикладных задачах и может улучшать качество обработки изображения по сравнению с обработкой изображения без обучения посредством выполнения обработки изображения на основе обучения.
[252] Между тем, процессор может применять фильтр для каждого пиксела блока изображения. Процессор может применять фильтр для каждого субпиксела каждого пиксела в блоке изображения. Процессор может применять фильтр только к некоторым из субпикселов. Процессор может отличать составляющую цветности и составляющую яркости каждого пиксела в блоке изображения друг от друга и применять фильтр, по меньшей мере, к одной из составляющей цветности и составляющей яркости.
[253] Между тем, согласно примерному варианту осуществления настоящего изобретения, различные примерные варианты осуществления, описанные выше, могут быть реализованы посредством программного обеспечения, включающего в себя инструкции, сохраненные на машиночитаемом носителе хранения (например, компьютерно-читаемом носителе хранения). Машина может быть устройством, которое вызывает сохраненную инструкцию с носителя хранения и может работать в зависимости от вызванной инструкции, и может включать в себя электронное устройство согласно раскрытым примерным вариантам осуществления. В примере, в котором команда выполняется процессором, процессор может непосредственно выполнять функцию, соответствующую команде, или другие компоненты могут выполнять функцию, соответствующую команде, под управлением процессора. Команда может включать в себя коды, созданные или исполняемые компилятором или интерпретатором. Машиночитаемый носитель хранения может быть предоставлен в форме долговременного носителя хранения. Здесь, термин 'долговременный' может ссылаться, например, на носитель хранения, который является материальным, и не различает, хранятся ли данные почти постоянно или временно на носителе хранения.
[254] Кроме того, согласно примерному варианту осуществления настоящего изобретения, способы согласно различным примерным вариантам осуществления, описанным выше, могут быть включены и предоставлены в компьютерном программном продукте. Компьютерный программный продукт может обращаться как продукт между продавцом и покупателем. Компьютерный программный продукт может распространяться в форме носителя хранения (например, постоянного запоминающего устройства на компакт-диске (CD-ROM)), который может быть считан машиной, или онлайн через магазин приложений (например, PlayStore™). В случае онлайн-распространения, по меньшей мере, фрагменты компьютерного программного продукта могут быть, по меньшей мере, временно сохранены на носителе хранения, таком как память сервера производителя, сервера магазина приложений или сервера ретрансляции или быть временно созданы.
[255] Кроме того, согласно примерному варианту осуществления настоящего изобретения, различные примерные варианты осуществления, описанные выше, могут быть реализованы в компьютере или компьютерно-читаемом носителе хранения с помощью программного обеспечения, аппаратных средств или любого сочетания программного обеспечения и аппаратных средств. В некоторых случаях, примерные варианты осуществления, описанные в настоящем изобретении, могут быть реализованы самим процессором. Согласно программной реализации, примерные варианты осуществления, такие как процедуры и функции, описанные в настоящем изобретении, могут быть реализованы посредством отдельных программных модулей. Каждый из программных модулей может выполнять одну или более функций и операций, описанных в настоящем изобретении.
[256] Между тем, компьютерные инструкции для выполнения операций обработки машин согласно различному примерному варианту осуществления настоящего изобретения, описанному выше, могут быть сохранены на долговременном компьютерно-читаемом носителе. Компьютерные инструкции, сохраненные на долговременном компьютерно-читаемом носителе, предоставляют возможность конкретной машине выполнять операции обработки в машине согласно различным примерным вариантам осуществления, описанным выше, когда они выполняются процессором конкретной машины. Долговременный компьютерно-читаемый носитель может ссылаться, например, на носитель, который почти постоянно хранит данные в себе и является считываемым машиной. Примеры долговременного компьютерно-читаемого носителя могут включать в себя компакт-диск (CD), цифровой универсальный диск (DVD), жесткий диск, диск Blu-ray, универсальную последовательную шину (USB), карту памяти, постоянное запоминающее устройство (ROM) или т.п.
[257] Кроме того, каждый из компонентов (например, модулей или программ) согласно различным примерным вариантам осуществления, описанным выше, может включать в себя единственный объект или множество объектов, и некоторые из соответствующих подкомпонентов, описанных выше, могут быть пропущены, или другие подкомпоненты могут быть дополнительно включены в различные примерные варианты осуществления. Альтернативно или дополнительно, некоторые из компонентов (например, модули или программы) могут быть объединены в один объект и могут выполнять функции, выполняемые соответственными соответствующими компонентами перед объединением, таким же или аналогичным образом. Операции, выполняемые модулями, программами или другими компонентами согласно различным примерным вариантам осуществления, могут выполняться последовательным образом, параллельным образом, итеративным образом или эвристическим образом, по меньшей мере, некоторые из операций могут выполняться в другом порядке или быть пропущены, или другие операции могут быть добавлены.
[258] Хотя различные примерные варианты осуществления настоящего изобретения были иллюстрированы и описаны выше в данном документе, настоящее изобретение не ограничивается вышеупомянутыми конкретными примерными вариантами осуществления, но могут быть по-разному модифицированы специалистами в области техники, к которой настоящее изобретение принадлежит, без отступления от истинного духа и полных рамок настоящего изобретения, как описано в сопровождающей формуле изобретения. Эти модификации следует также понимать как попадающие в рамки и дух настоящего изобретения.