KR102548993B1 - Image scaling system and method for supporting various image mode - Google Patents
Image scaling system and method for supporting various image mode Download PDFInfo
- Publication number
- KR102548993B1 KR102548993B1 KR1020210163187A KR20210163187A KR102548993B1 KR 102548993 B1 KR102548993 B1 KR 102548993B1 KR 1020210163187 A KR1020210163187 A KR 1020210163187A KR 20210163187 A KR20210163187 A KR 20210163187A KR 102548993 B1 KR102548993 B1 KR 102548993B1
- Authority
- KR
- South Korea
- Prior art keywords
- image
- scaling
- user
- preset
- scaler
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 23
- 239000000872 buffer Substances 0.000 claims description 58
- 238000002156 mixing Methods 0.000 claims description 54
- 238000013135 deep learning Methods 0.000 claims description 28
- 230000006870 function Effects 0.000 claims description 12
- 238000001914 filtration Methods 0.000 claims description 8
- 238000013473 artificial intelligence Methods 0.000 claims 1
- 239000000203 mixture Substances 0.000 abstract description 8
- 230000000694 effects Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 12
- 230000008859 change Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 239000012636 effector Substances 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000009365 direct transmission Effects 0.000 description 1
- 230000009349 indirect transmission Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4053—Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4046—Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Processing (AREA)
Abstract
이미지 스케일링 시스템은 제1 스케일링 알고리즘에 의하여 입력 이미지를 스케일링하는 이미지 스케일러 장치, 상기 제1 스케일링 알고리즘과 다른 제2 스케일링 알고리즘에 의하여 상기 입력 이미지를 스케일링하는 이미지 프로세서, 그리고 상기 이미지 스케일러 장치가 출력하는 제1 스케일링 이미지와 상기 이미지 프로세서가 출력하는 제2 스케일링 이미지를 블렌딩(Blending)하고, 블렌딩한 최종 이미지를 출력하는 이미지 블렌더를 포함한다.The image scaling system includes an image scaler device that scales an input image according to a first scaling algorithm, an image processor that scales the input image according to a second scaling algorithm different from the first scaling algorithm, and a second scaling algorithm output by the image scaler device. and an image blender that blends the first scaled image and the second scaled image output from the image processor and outputs the blended final image.
Description
본 발명은 다양한 영상 모드를 지원하는 이미지 스케일링 시스템 및 그 방법 에 관한 것이다.The present invention relates to an image scaling system and method supporting various video modes.
입력된 영상 데이터의 해상도를 높이기 위하여 알고리즘적으로 해상도를 높이는 스케일러(scaler)를 이용하거나, 기계 학습에 의해 해상도를 높이는 Super-resolution imaging을 이용할 수 있다. Super-resolution imaging은 종전의 알고리즘 기반의 스케일러 보다 개선된 영상을 얻을 수 있으며 학습 데이터에의 종류에 따라 스케일링을 제외한 다른 이미지 프로세싱의 결과를 동시에 얻을 수 있다. In order to increase the resolution of input image data, a scaler that increases resolution algorithmically may be used, or super-resolution imaging that increases resolution through machine learning may be used. Super-resolution imaging can obtain an improved image compared to the previous algorithm-based scaler, and can simultaneously obtain results of other image processing except for scaling depending on the type of learning data.
기존 CNN(convolution neural network) 기반의 Super-resolution imaging, 즉, SRCNN에서는 기계 학습을 통해 얻은 필터의 파라미터 값들을 활용하여 이미지 스케일링을 진행한다. CNN에서 이용되는 수많은 파라미터 값은 학습 과정에서 사용된 데이터셋에 의해 결정이 되며, 다른 특성을 가지는 데이터셋을 이용하여 학습할 경우 파라미터 값 또한 다르게 정해진다. SRCNN을 이용하여 이미지를 처리할 때는 단순 이미지 해상도만 증가시키는 것뿐만 아니라 이미지에 특정 필터를 적용한 효과를 동시에 얻을 수 있다. 즉, 기존에 이미지 스케일러와는 다르게 학습데이터의 종류에 따라 이미지의 해상도를 변경하는 것뿐만이 아니라 이미지에 필터를 적용하는 효과를 동시에 얻을 수 있다.예를 들면, 이미지를 보다 선명하게 하거나, HDR(High Dynamic Range)를 강조하는 효과 등을 적용할 수 있다. 이를 위해서는 각 효과가 적용된 이미지로 구성된 데이터셋을 기반으로 사전 학습이 이루어져야 한다. Super-resolution imaging based on the existing convolution neural network (CNN), that is, SRCNN, performs image scaling by utilizing filter parameter values obtained through machine learning. Numerous parameter values used in CNN are determined by the dataset used in the learning process, and parameter values are also determined differently when learning using datasets having different characteristics. When processing an image using SRCNN, the effect of applying a specific filter to the image can be simultaneously obtained as well as simply increasing the image resolution. That is, unlike conventional image scalers, the effect of applying a filter to an image as well as changing the resolution of an image according to the type of training data can be obtained at the same time. High Dynamic Range) can be applied. To do this, pre-learning must be performed based on a dataset composed of images with each effect applied.
SRCNN은 필터의 종류를 변경하거나 필터의 세기를 조절하고자 하면 수많은 필터의 파라미터 값들을 전부 변경해주어야 한다. 그런데, 파라미터는 학습 데이터를 기반으로 정해지는 값이므로, 필터의 세기가 조금만 바뀌어도 처음부터 학습을 다시 진행하여야 하며 이미 학습된 파라미터의 값을 재사용하기 힘들다는 문제점이 있다. 출력 영상의 필터 효과를 변경하고 싶을 경우에는 변경하여야 하는 파라미터의 수가 매우 많기 때문에 변경하는 과정에서 많은 비용을 발생시키는 문제점이 있다. 이처럼, SRCNN 스케일러 만을 사용할 경우 다양한 영상 모드에 대하여 파라미터를 생성하기 위하여 비용이 많은 요구되는 학습(training) 과정을 거쳐야 한다. 따라서, SRCNN에서 필터 및 스케일러의 종류를 실시간으로 변화시키는 것으 어렵다. In SRCNN, if you want to change the type of filter or adjust the strength of the filter, you must change all the parameter values of numerous filters. However, since the parameter is a value determined based on the learning data, even if the strength of the filter is slightly changed, learning must be performed again from the beginning, and it is difficult to reuse the already learned parameter value. When changing the filter effect of the output image, there is a problem of incurring a lot of cost in the process of changing because the number of parameters to be changed is very large. As such, when only the SRCNN scaler is used, an expensive training process is required to generate parameters for various image modes. Therefore, it is difficult to change the type of filter and scaler in real time in SRCNN.
뿐만 아니라, 출력 영상의 옵션을 설정 또는 변경하고자 할 경우, 매우 많은 개수의 필터 파라미터 값을 즉시 업데이트 해주어야 한다. 이 과정에서 MCU(microcontroller unit)는 변경하고 싶은 파라미터 값을 사전에 보유하고 있어야 하므로, 많은 양의 오프-칩(off-chip) 메모리의 사용을 필요로 한다. 또한, 파라미터는 사람이 정하는 것이 아닌 기계 학습에 의해 정해지는 값이기 때문에 사전에 수많은 옵션에 대한 파라미터 값을 보유하고 있는 것에는 한계가 있다. In addition, when setting or changing the options of the output image, a large number of filter parameter values must be updated immediately. In this process, since a microcontroller unit (MCU) must hold parameter values to be changed in advance, the use of a large amount of off-chip memory is required. In addition, since parameters are values determined by machine learning rather than by humans, there is a limit to having parameter values for numerous options in advance.
또한, 파라미터 값을 업데이트 하면 현재 출력되는 프레임 도중에 파라미터 값이 변경되면 한 프레임 내에서의 이미지가 손상되게 되므로 수직 동기화를 맞춰줄 필요성이 존재하므로, 이를 방지하기 위해 전체 파라미터 개수만큼 버퍼를 필요로 하게 되어 부담이 발생한다.In addition, if the parameter value is updated, the image within one frame is damaged if the parameter value is changed during the currently output frame, so there is a need to match the vertical synchronization. becomes a burden.
해결하고자 하는 과제는 실시간 SRCNN(Super resolution convolution neural network) 기반 이미지 스케일러의 처리 결과와 이미지 프로세서의 처리 결과를 블렌딩(Blending)함으로써, 다양한 영상 모드를 연출할 수 있는 이미지 스케일링 시스템 및 그 방법을 제공하는 것이다.The problem to be solved is to provide an image scaling system and method capable of producing various image modes by blending the processing result of an image scaler based on real-time SRCNN (Super resolution convolution neural network) and the processing result of an image processor. .
하나의 특징에 따르면, 이미지 스케일링 시스템은 제1 스케일링 알고리즘에 의하여 입력 이미지를 스케일링하는 이미지 스케일러 장치, 상기 제1 스케일링 알고리즘과 다른 제2 스케일링 알고리즘에 의하여 상기 입력 이미지를 스케일링하는 이미지 프로세서, 그리고 상기 이미지 스케일러 장치가 출력하는 제1 스케일링 이미지와 상기 이미지 프로세서가 출력하는 제2 스케일링 이미지를 블렌딩(Blending)하고, 블렌딩한 최종 이미지를 출력하는 이미지 블렌더를 포함한다.According to one feature, the image scaling system includes an image scaler device for scaling an input image by a first scaling algorithm, an image processor for scaling the input image by a second scaling algorithm different from the first scaling algorithm, and the image scaling algorithm. and an image blender that blends the first scaled image output from the scaler device and the second scaled image output from the image processor and outputs the blended final image.
상기 이미지 스케일러 장치는, 초해상도(Super Resolution)를 스케일링하는 딥러닝 알고리즘에 학습된 스케일링 파라미터를 이용할 수 있다.The image scaler device may use a scaling parameter learned in a deep learning algorithm for scaling super resolution.
상기 이미지 프로세서는, 사용자 입력에 따른 프리셋 선택 신호를 출력하는 버퍼 레지스터, 각각의 정해진 스케일링 팩터(Factor)를 사용하여 이미지 스케일링을 수행하는 복수의 이미지 스케일러, 그리고 상기 프리셋 선택 신호에 따라 상기 복수의 이미지 스케일러 중 하나의 이미지 스케일러를 선택하는 먹서를 포함하고, 상기 제2 스케일링 이미지는, 상기 선택한 하나의 이미지 스케일러에 의한 이미지 스케일링이 적용될 수 있다.The image processor includes a buffer register outputting a preset selection signal according to a user input, a plurality of image scalers performing image scaling using each predetermined scaling factor, and the plurality of images according to the preset selection signal. A muxer selects one of the scalers, and image scaling by the selected one image scaler may be applied to the second scaled image.
상기 이미지 스케일링 시스템은 사용자 설정에 따른 이미지 스케일링 정보를 입력받아 상기 버퍼 레지스터로 출력하는 MCU(microcontroller unit), 그리고 상기 MCU로부터 상기 이미지 스케일링 정보를 입력받아 저장하고, 저장된 이미지 스케일링 정보에 따른 이미지 스케일링을 수행하는 적어도 하나의 사용자 이미지 스케일러를 더 포함하고, 상기 프리셋 선택 신호는, 상기 복수의 이미지 스케일러 및 상기 적어도 하나의 사용자 이미지 스케일러 중에서 하나를 선택하게 할 수 있다.The image scaling system includes a microcontroller unit (MCU) that receives image scaling information according to user settings and outputs the image scaling information to the buffer register, receives and stores the image scaling information from the MCU, and performs image scaling according to the stored image scaling information. and at least one user image scaler that performs a user image scaler, and the preset selection signal enables selection of one of the plurality of image scalers and the at least one user image scaler.
상기 이미지 스케일링 시스템은 각각의 정해진 필터 프리셋 정보를 저장하는 복수의 필터 프리셋, 상기 프리셋 선택 신호에 따라 상기 복수의 필터 프리셋 중 하나의 필터 프리셋을 선택하는 먹서, 그리고 상기 먹서가 선택한 필터 프리셋에 저장된 필터 프리셋 정보를 이용하여 이미지 필터링 기능을 수행하고, 필터링된 이미지를 상기 복수의 이미지 스케일러 중 하나의 이미지 스케일러로 출력하는 필터를 더 포함할 수 있다.The image scaling system includes a plurality of filter presets for storing predetermined filter preset information, a muxer for selecting one of the plurality of filter presets according to the preset selection signal, and a filter stored in the filter preset selected by the muxer. A filter for performing an image filtering function using preset information and outputting the filtered image to one of the plurality of image scalers may be further included.
상기 이미지 스케일링 시스템은 사용자 설정에 따른 필터 프리셋 정보를 입력받아 상기 버퍼 레지스터로 출력하는 MCU(microcontroller unit), 그리고 상기 MCU로부터 상기 필터 프리셋 정보를 입력받아 저장하는 적어도 하나의 사용자 프리셋 레지스터를 더 포함하고, 상기 프리셋 선택 신호는, 상기 복수의 필터 프리셋 및 상기 적어도 하나의 사용자 프리셋 레지스터 중에서 하나를 선택하게 할 수 있다.The image scaling system further includes a microcontroller unit (MCU) for receiving and outputting filter preset information according to user settings to the buffer register, and at least one user preset register for receiving and storing the filter preset information from the MCU, , The preset selection signal may select one from among the plurality of filter presets and the at least one user preset register.
상기 이미지 스케일링 시스템음 사용자 입력에 따른 블렌딩 팩터를 상기 이미지 블렌더로 출력하는 버퍼 레지스터를 더 포함하고, 상기 이미지 블렌더는, 상기 제1 스케일링 이미지와 상기 제2 스케일링 이미지에 대하여, 상기 블렌딩 팩터에 기초하여 결정된 블렌딩 파라미터를 적용하여 블렌딩을 수행할 수 있다.The image scaling system sound further includes a buffer register outputting a blending factor according to a user input to the image blender, wherein the image blender, for the first scaling image and the second scaling image, based on the blending factor Blending may be performed by applying the determined blending parameter.
다른 특징에 따르면, 컴퓨팅 장치의 이미지 스케일링 방법으로서, 제1 스케일링 알고리즘에 의하여 스케일링된 제1 스케일링 이미지와 제2 스케일링 알고리즘에 의하여 스케일링된 제2 스케일링 이미지를 사전 정의된 블렌딩 파라미터에 기초하여 블렌딩(Blending)하는 단계, 그리고 상기 블렌딩한 최종 이미지를 출력하는 단계를 포함하고, 상기 제1 스케일링 알고리즘은, 초해상도(Super Resolution)를 스케일링하는 딥러닝 알고리즘에 학습된 스케일링 파라미터를 이용하고, 상기 제2 스케일링 알고리즘은, 각각의 정해진 스케일링 팩터(Factor)를 사용하는 복수의 이미지 스케일링 알고리즘 중에서 선택될 수 있다.According to another feature, a method for scaling an image of a computing device includes blending a first scaling image scaled by a first scaling algorithm and a second scaling image scaled by a second scaling algorithm based on a predefined blending parameter. ), and outputting the blended final image, wherein the first scaling algorithm uses a scaling parameter learned in a deep learning algorithm for scaling super resolution, and the second scaling algorithm The algorithm may be selected from among a plurality of image scaling algorithms using respective predetermined scaling factors.
상기 블렌딩하는 단계 이전에, 사용자 입력에 따른 프리셋 정보를 설정하는 단계, 그리고 상기 프리셋 정보에 기초하여, 상기 복수의 이미지 스케일링 알고리즘 중에서 하나의 제2 스케일링 알고리즘을 선택하는 단계를 더 포함할 수 있다.Prior to the blending, the method may further include setting preset information according to a user input and selecting a second scaling algorithm from among the plurality of image scaling algorithms based on the preset information.
상기 블렌딩하는 단계는, 사용자 입력에 따른 블렌딩 팩터에 기초하여 결정된 블렌딩 파라미터를 상기 제1 스케일링 이미지와 상기 제2 스케일링 이미지에 적용하여 블렌딩을 수행할 수 있다.In the blending, blending may be performed by applying a blending parameter determined based on a blending factor according to a user input to the first scaled image and the second scaled image.
실시예에 따르면, Super resolution과 별도로 기존의 이미지 프로세서를 병행하여 사용하고, 각 출력을 일정한 비율로 합치면 이미지 프로세서의 효과와 super resolution에 의한 이미지 스케일링 효과를 동시에 얻을 수 있다. 이처럼, 전통적인 이미지 프로세서 및 스케일러를 병행하여 사용하고 두 스케일러의 출력을 일정 비율로 블렌딩(blending)하는 하드웨어를 추가함으로써, 고정된 SRCNN 파라미터 내에서도 다양한 효과가 적용된 고해상도의 영상 출력을 얻을 수 있다.According to the embodiment, the effect of the image processor and the image scaling effect by super resolution can be simultaneously obtained by using an existing image processor in parallel with super resolution and combining the respective outputs at a constant ratio. In this way, by using traditional image processors and scalers in parallel and adding hardware that blends the outputs of the two scalers at a constant ratio, high-resolution video outputs to which various effects are applied can be obtained even within fixed SRCNN parameters.
도 1은 실시예에 따른 이미지 스케일링 시스템과 그 주변 구성을 도시한다.
도 2는 실시예에 따른 이미지 스케일링 시스템의 구성을 나타낸 블록도이다.
도 3은 실시예에 따른 이미지 프로세서의 구성을 도시한 블록도이다.
도 4는 실시예에 따른 이미지 블렌더의 구성을 도시한 블록도이다.
도 5는 한 실시예에 따른 이미지 프로세서의 동작을 도시한다.
도 6은 한 실시예에 따른 이미지 블렌더의 동작을 도시한다.
도 7은 실시예에 따른 프리셋 설정 과정을 도시한다.1 shows an image scaling system and its surrounding configuration according to an embodiment.
2 is a block diagram showing the configuration of an image scaling system according to an embodiment.
3 is a block diagram showing the configuration of an image processor according to an embodiment.
4 is a block diagram showing the configuration of an image blender according to an embodiment.
5 illustrates the operation of an image processor according to one embodiment.
6 illustrates the operation of an image blender according to one embodiment.
7 illustrates a preset setting process according to an embodiment.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, with reference to the accompanying drawings, embodiments of the present invention will be described in detail so that those skilled in the art can easily carry out the present invention. However, the present invention may be embodied in many different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a certain component is said to "include", it means that it may further include other components without excluding other components unless otherwise stated.
또한, 명세서에 기재된 "…부", "…기", "…모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.In addition, terms such as “…unit”, “…unit”, and “…module” described in the specification mean a unit that processes at least one function or operation, which may be implemented by hardware or software or a combination of hardware and software. can
본 발명에서 설명하는 장치들은 적어도 하나의 프로세서, 메모리 장치, 통신 장치 등을 포함하는 하드웨어로 구성되고, 지정된 장소에 하드웨어와 결합되어 실행되는 프로그램이 저장된다. 하드웨어는 본 발명의 방법을 실행할 수 있는 구성과 성능을 가진다. 프로그램은 도면들을 참고로 설명한 본 발명의 동작 방법을 구현한 명령어(instructions)를 포함하고, 프로세서와 메모리 장치 등의 하드웨어와 결합하여 본 발명을 실행한다.Devices described in the present invention are composed of hardware including at least one processor, memory device, communication device, and the like, and a program to be executed in combination with the hardware is stored in a designated place. The hardware has the configuration and capability to implement the method of the present invention. The program includes instructions implementing the operating method of the present invention described with reference to the drawings, and implements the present invention in combination with hardware such as a processor and a memory device.
본 명세서에서 "전송 또는 제공"은 직접적인 전송 또는 제공하는 것 뿐만 아니라 다른 장치를 통해 또는 우회 경로를 이용하여 간접적으로 전송 또는 제공도 포함할 수 있다.In this specification, "transmission or provision" may include not only direct transmission or provision, but also indirect transmission or provision through another device or by using a detour path.
본 명세서에서 단수로 기재된 표현은 "하나" 또는 "단일" 등의 명시적인 표현을 사용하지 않은 이상, 단수 또는 복수로 해석될 수 있다.Expressions written in the singular in this specification may be interpreted in the singular or plural unless an explicit expression such as “one” or “single” is used.
본 명세서에서 도면에 관계없이 동일한 도면번호는 동일한 구성요소를 지칭하며, "및/또는" 은 언급된 구성 요소들의 각각 및 하나 이상의 모든 조합을 포함한다.In this specification, like reference numerals refer to like elements, regardless of drawing, and "and/or" includes each and every combination of one or more of the recited elements.
본 명세서에서, 제1, 제2 등과 같이 서수를 포함하는 용어들은 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.In this specification, terms including ordinal numbers such as first and second may be used to describe various components, but the components are not limited by the terms. These terms are only used for the purpose of distinguishing one component from another. For example, a first element may be termed a second element, and similarly, a second element may be termed a first element, without departing from the scope of the present disclosure.
본 명세서에서 도면을 참고하여 설명한 흐름도에서, 동작 순서는 변경될 수 있고, 여러 동작들이 병합되거나, 어느 동작이 분할될 수 있고, 특정 동작은 수행되지 않을 수 있다. In the flowcharts described herein with reference to the drawings, the order of operations may be changed, several operations may be merged, certain operations may be divided, and certain operations may not be performed.
도 1은 실시예에 따른 이미지 스케일링 시스템과 그 주변 구성을 도시한다.1 shows an image scaling system and its surrounding configuration according to an embodiment.
도 1을 참조하면, 이미지 스케일링 시스템(100)은 버스(Bus)를 통하여 이미지 제공 장치(200), MCU(microcontroller unit)(300), 입력 장치(400), 디스플레이 장치(500) 및 통신 장치(600)와 연결될 수 있다.Referring to FIG. 1, the
이미지 스케일링 시스템(100)은 이미지 제공 장치(200)로부터 입력받은 비디오 신호에 대하여 스케일링(scaling)을 수행한다. 여기서, 이미지 제공 장치(200)는 소정의 이미지 프레임 단위로 비디오 신호를 출력하므로, 이미지 스케일링 시스템(100)은 이미지 프레임을 대상으로 스케일링을 수행한다. 여기서, 스케일링은 업스케일링(Upscaling)을 의미한다.The
이미지 스케일링 시스템(100)은 메모리에 저장된 명령들(instructions)을 실행하는 다양한 형태의 프로세서들을 포함하는 컴퓨팅 장치일 수 있다.The
MCU(300)는 입력 장치(400)를 통해 다양한 이미지 스케일링을 구현하기 위해 필요한 프리셋 파라미터, 블렌딩(Blending Factor) 팩터(Factor)를 입력받아 저장하고, 이를 이미지 스케일링 시스템(100)으로 제공한다.The
디스플레이 장치(500)는 이미지 스케일링 시스템(100)을 통해 스케일링된 이미지를 화면 상에 출력한다.The
통신 장치(600)는 외부 장치와 유무선망을 통해 데이터를 송수신하고, 이러한 데이터를 버스를 통해 이미지 스케일링 시스템(100), 이미지 제공 장치(200), MCU(300)로 출력할 수 있다.The
도 2는 실시예에 따른 이미지 스케일링 시스템의 구성을 나타낸 블록도이다.2 is a block diagram showing the configuration of an image scaling system according to an embodiment.
도 2를 참조하면, 이미지 스케일링 시스템(100)은 버퍼 레지스터 #1(110), 버퍼 레지스터 #2(120), 이미지 프로세서(130), 딥러닝 이미지 스케일러 장치(140) 및 이미지 블렌더(Blender)(150)를 포함한다. Referring to FIG. 2, the
이미지 프로세서(130), 딥러닝 이미지 스케일러 장치(140) 및 이미지 블렌더(150)는 각각 독립된 프로세서들로 구현될 수 있으며, 예컨대, CPU(Central Processing Unit), MPU(Micro Processor Unit), GPU(Graphic Processing Unit) 등일 수 있다. 이들(130, 140, 150)은 후술하는 동작을 실행하기 위한 프로그램에 대한 연산을 수행할 수 있다.The
버퍼 레지스터 #1(110)는 프리셋(Preset) 셀렉터로서 동작한다. 버퍼 레지스터 #1(110)는 서로 다른 이미지 프로세싱 모드를 결정하는 프리셋 정보를 저장한다. 이러한 프리셋 정보는 MCU(300)로부터 전달되어 저장된다. 버퍼 레지스터 #1(110)는 버퍼와 레지스터로 구성되어 있으며, MCU(300)는 프리셋 정보를 버퍼에 저장했다가, 이미지 제공 장치(200)로부터 수직 동기(Sync) 신호가 입력되면, 버퍼에 저장된 프리셋 정보를 레지스터에 저장할 수 있다. 레지스터에 저장된 프리셋 정보는 프리셋 선택 신호에 포함되어 이미지 프로세서(130)에 입력될 수 있다.Buffer register #1 (110) operates as a preset selector. Buffer
버퍼 레지스터 #2(120)는 블렌딩 팩터 셀렉터로서 동작한다. 버퍼 레지스터 #2(120)는 버퍼와 레지스터로 구성되어 있으며, MCU(300)는 블렌딩 팩터를 버퍼에 저장했다가, 이미지 제공 장치(200)로부터 수직 동기(Sync) 신호가 입력되면, 버퍼에 저장된 블렌딩 팩터를 레지스터에 저장할 수 있다. 레지스터에 저장된 블렌딩 팩터는 이미지 블렌더(150)에 입력된다.Buffer register #2 (120) acts as a blending factor selector. The buffer register #2 (120) is composed of a buffer and a register, and the MCU (300) stores the blending factor in the buffer, and when a vertical synchronization (Sync) signal is input from the
여기서, 프리셋 정보와 블렌딩 팩터는 입력 장치(도 1의 400)를 통해 사용자가 MCU(300)에 설정할 수 있다. 따라서, 사용자가 원하는 이미지 필터/스케일링 모드를 구현하기 위한 이미지 스케일러를 선택할 수 있다. Here, the preset information and the blending factor may be set in the
이미지 프로세서(130)는 이미지 제공 장치(200)로부터 입력받은 이미지에 대해 다양한 이미지 프로세싱을 수행한다. 이미지 프로세서(130)는 여러 종류의 이미지 이펙터들(Effectors)을 포함할 수 있다. 이미지 이펙터들은 이미지의 명암이나 색감을 변화하는 기능, 이미지 필터링 기능을 포함할 수 있고, 이외에도 이미지의 출력을 변화시키는 어떠한 기능도 포함할 수 있다. The
이미지 프로세서(130)는 복수의 이미지 스케일링 알고리즘을 이용하여 이미지 스케일링을 수행한다. 여기서, 이미지 스케일링은 업스케일링(Upscailing)을 말한다. 이때, 복수의 이미지 스케일링 알고리즘은 종래에 알려진 다양한 알고리즘에서 사용될 수 있다. 예를 들어, 복수의 이미지 스케일링 알고리즘은 Nearest Neighbor Interpolation, Bilinear Interpolation, Bicubic Interpolation, Lanczos Interpolation 등을 포함할 수 있다.The
이미지 프로세서(130)가 수행하는 이미지 프로세싱의 기능은 한 종류로 국한되지 않으며 다양한 기능을 동시에 포함할 수 있으며, 프리셋 셀렉터로 동작하는 버퍼 레지스터 #1(110)에 의한 모드 선택을 통하여 기능들의 동작 여부를 결정할 수 있다. 여기서, 이미지 프로세싱은 이미지 이펙터 및 이미지 스케일링을 포함할 수 있다. 즉, 이미지 프로세서(130)는 다양한 이미지 이펙터들과 복수의 이미지 스케일링 알고리즘을 수행할 수 있으며, 이중에서 버퍼 레지스터 #1(110)로부터 입력받은 프리셋 선택 신호에 대응하는 이미지 이펙터와 이미지 스케일링을 입력 이미지에 적용한다.The function of image processing performed by the
이미지 프로세서(130)에 의해 스케일링된 이미지의 해상도와 딥러닝 스케일러(140)의 해상도는 서로 다르다. 따라서, 버퍼 레지스터 #1(110)에는 이미지 프로세서(130)가 딥러닝 이미지 스케일러 장치(140)와 동일한 해상도를 가질 수 있는 이미지 스케일링 알고리즘이 선택되게 하는 프리셋 정보가 저장될 수 있다. 이를 통해, 이미지 프로세서(130)는 딥러닝 스케일러(140)와 동일한 해상도를 가지는 이미지 스케일링을 수행할 수 있다.The resolution of the image scaled by the
딥러닝 이미지 스케일러 장치(140)는 이미지 제공 장치(200)로부터 입력되는 이미지에 대해 딥러닝 알고리즘에 의해 학습된 파라미터 값을 기반으로 이미지 스케일링을 수행할 수 있다. 딥러닝 알고리즘은 SRCNN(Super Resolution Convolution Neural Networks)이 사용될 수 있으나, 이에 국한되는 것은 아니다. The deep learning
딥러닝 이미지 스케일러 장치(140)는 기계 학습을 통해 얻은 필터의 파라미터 값들을 활용하여 이미지 스케일링을 진행한다. 딥러닝 이미지 스케일러 장치(140)는 수많은 영상 데이터를 이용하여 사전 학습된 파라미터를 토대로, 고화질 이미지 스케일링을 수행한다. 파라미터 값은 학습 과정에서 사용된 데이터셋에 의해 결정이 되며, 다른 특성을 가지는 데이터셋을 이용하여 학습할 경우 파라미터 값 또한 다르게 정해진다. The deep learning
딥러닝 이미지 스케일러 장치(140)는 이미지를 처리할 때는 학습 방법에 따라 단순 이미지 해상도만 증가시키는 것뿐만 아니라 이미지에 특정 프로세싱을 적용한 효과를 동시에 얻을 수 있다. 예를 들면, 딥러닝 이미지 스케일러 장치(140)는 이미지를 보다 선명하게 하거나, HDR(High Dynamic Range)를 강조하는 효과 등을 적용할 수 있다. 이를 위해서 딥러닝 이미지 스케일러 장치(140)는 각 효과가 적용된 이미지로 구성된 데이터셋을 기반으로 사전 학습을 수행할 수 있다.When processing an image, the deep learning
이미지 블렌더(Blender)(150)는 이미지 프로세서(130)에 의해 이미지 스케일링된 출력 이미지와 딥러닝 이미지 스케일러 장치(140)에 의해 이미지 스케일링된 출력 이미지를 블렌딩한다. 이때, 이미지 블렌더(150)는 출력 이미지들을 영상 전체 또는 개별 화소에 대하여 블렌딩 팩터에 따른 비율로 블렌딩할 수 있다. The
여기서, 블렌딩 팩터는 출력 이미지들의 섞이는 비율을 의미한다. 블랜드 팩터는 이미지 프로세서 및 전통적인 스케일링 알고리즘의 출력 결과와 SRCNN의 출력 결과를 어떠한 비율로 블랜드할지 결정하기 위해 사용된다. 블랜드 팩터의 정밀도가 높아지면 더 다양한 비율의 영상 블랜딩을 수행할 수 있게 된다.Here, the blending factor means a blending ratio of output images. The blend factor is used to determine the ratio between the output result of the image processor and traditional scaling algorithm and the output result of SRCNN. As the precision of the blend factor increases, image blending can be performed with more diverse ratios.
이미지 블렌더(150)는 이미지 프로세서(130)의 출력 이미지 및 딥러닝 이미지 스케일러 장치(140)의 출력 이미지를 블렌딩하여 최종 이미지를 생성하므로, 고정된 SRCNN 파라미터 내에서도 다양한 효과가 적용된 고해상도의 영상 출력을 얻을 수 있다. Since the
종래에는 딥러닝 이미지 스케일러 장치(140)가 다양한 종류의 옵션으로 이미지 스케일링을 수행하고자 할 경우, 많은 종류의 필터 파라미터 값을 저장하기 위해 많은 양의 메모리를 요구할 수 있으며 이를 위해 오프-칩 메모리(off-chip memory)를 사용해야 할 수 있다. 이 경우, 오프-칩 메모리와의 메모리 버스에 이미지 스케일링 시스템(100)이 연결되어야 하므로, 버스에 트래픽을 유발하게 된다. 그러나, 본 발명의 실시예에 따르면, 딥러닝 이미지 스케일러 장치(140)에 설정되지 않은 이미지 효과는 이미지 프로세서(130)를 통해 처리하고 이를 블렌딩함으로써, 결국은 한정된 파라미터 값들만 가지고 다양한 영상 효과의 출력을 할 수 있고, 많은 양의 메모리가 필요가 없으므로 버스와의 접점이 사라지게 된다.Conventionally, when the deep learning
딥러닝 이미지 스케일러 장치(140)는 고정된 파라미터 값만을 가지므로, 이미지의 출력 옵션 설정은 버퍼 레지스터 #1(110)와 버퍼 레지스터 #2(120)를 이용하여 조절된다. 따라서, 앞서 기재한 바와 같이 메모리 버스의 트래픽 점유를 낮출 수 있으며, 출력 영상의 수직 동기화를 맞추는 것도 용이해진다. Since the deep learning
또한, 파라미터 값이 업데이트되어 현재 출력되는 프레임 도중에 파라미터 값을 변경하고자 할 경우, 한 프레임 내에서의 이미지가 손상되므로, 수직 동기화를 맞춰줄 필요성이 존재한다. 따라서, 이를 방지하기 위해 전체 파라미터 개수만큼 버퍼를 필요로 하게 되어 부담이 발생하게 된다. 그러나, 본 발명의 실시예에서는 버퍼 레지스터 #1(110)와 버퍼 레지스터 #2(120)는 수직 동기화 신호가 입력되었을때, 버퍼에 저장되어 있는 프리셋 정보, 블렌딩 팩터를 레지스터로 설정한다. 기본적으로, 이미지 프레임은 수직 동기 신호(vsync), 수평 동기 신호(hsync), 데이터 이네이블(data enable)과 함께 이미지 데이터를 포함한다. 버퍼 레지스터 #1(110)와 버퍼 레지스터 #2(120)는 이미지 프레임의 수직 동기 신호(vsync)가 1일때에만, 각 버퍼에 저장된 데이터를 레지스터로 적용한다.In addition, if a parameter value is changed during a currently output frame after the parameter value has been updated, an image within one frame is damaged, so there is a need to adjust the vertical synchronization. Therefore, in order to prevent this, as many buffers as the total number of parameters are required, which causes a burden. However, in the embodiment of the present invention, buffer register #1 (110) and buffer register #2 (120) set preset information and blending factors stored in the buffer as registers when a vertical synchronization signal is input. Basically, an image frame includes image data along with a vertical synchronization signal (vsync), a horizontal synchronization signal (hsync), and data enable. Buffer register #1 (110) and buffer register #2 (120) apply the data stored in each buffer to the register only when the vertical synchronization signal (vsync) of the image frame is 1.
또한, 블랜드 팩터의 정밀도를 높게 한다면, 고정된 신경망 파라미터만을 가지고도 출력 영상의 옵션을 세밀하게 설정할 수 있다.In addition, if the precision of the blend factor is high, options of the output image can be set in detail even with only fixed neural network parameters.
도 3은 실시예에 따른 이미지 프로세서의 구성을 도시한 블록도이다.3 is a block diagram showing the configuration of an image processor according to an embodiment.
도 3을 참조하면, 이미지 프로세서(130)는 복수의 필터 프리셋(131), 먹서(Muxer) #1(132), 필터(133), 복수의 이미지 스케일러(134), 먹서 #2(135), 사용자 프리셋 레지스터(136) 및 사용자 이미지 스케일러(137)를 포함한다. Referring to FIG. 3 , the
버퍼 레지스터 #1(110)가 출력하는 프리셋 선택 신호에는 먹서 #1(132)로 출력하는 프리셋 선택 정보와 먹서 #2(135)로 출력하는 스케일러 선택 정보를 포함할 수 있다. The preset selection signal output from the buffer register #1 (110) may include preset selection information output to muxer #1 (132) and scaler selection information output to muxer #2 (135).
복수의 필터 프리셋(131)은 서로 다른 다양한 필터 기능을 수행할 수 있는 필터 파라미터 값들을 각각 저장한다. 예를들어, 필터 프리셋 #1은 이미지 명암 변화를 위한 파라미터 정보를 저장하고, 필터 프리셋 #2는 이미지 색감 변화를 위한 파라미터 정보를 저장하고, 필터 프리셋 #n은 HDR(High Dynamic Range)을 강조하는 효과를 위한 파라미터 정보를 저장할 수 있다. The plurality of filter presets 131 respectively store filter parameter values capable of performing various different filter functions. For example, filter
사용자 프리셋 레지스터(136)는 입력 장치(400)로부터 전달되는 사용자가 입력한 사용자 설정 프리셋 정보를 MCU(300)로부터 전달받아 저장할 수 있다. 사용자 설정 프리셋 정보는 복수의 필터 프리셋(131)에 저장되지 않은 사용자 선택에 따른 동적인 필터 파라미터값들을 포함할 수 있다.The user preset
한 실시예에 따르면, 사용자 프리셋 레지스터(136)를 사용하는 중에 사용자 프리셋 레지스터(136)의 업데이트가 필요한 경우, 버퍼 레지스터 #1(110)는 복수의 필터 프리셋(131) 중 하나를 선택하도록 먹서 #1(132)에게 프리셋 선택 신호를 출력할 수 있다. 그리고 사용자 프리셋 레지스터(136)의 필터 파라미터값을 새로운 사용자 설정 프리셋 정보로 업데이트 한 후, 버퍼 레지스터 #1(110)는 사용자 프리셋 레지스터(136)를 선택하도록 먹서 #1(132)에게 프리셋 선택 신호를 출력함으로써, 업데이트된 사용자 설정 프리셋 정보를 이용하여 이미지 필터링이 수행되도록 할 수 있다.According to one embodiment, when the user preset
다른 실시예에 따르면, 사용자 프리셋 레지스터(136)를 적어도 두개 이상 구비할 수도 있다. 이 경우, 제1 사용자 프리셋 레지스터(136)에 저장된 사용자 설정 프리셋 정보를 이용하여 이미지 필터링이 수행되다가 제2 사용자 프리셋 레지스터(136)에 새로운 사용자 설정 프리셋 정보가 업데이트되면, 버퍼 레지스터 #1(110)가 제2 사용자 프리셋 레지스터(136)를 선택하는 프리셋 선택 신호를 먹서 #1(132)로 출력함으로써, 업데이트된 사용자 설정 프리셋 정보를 이용하여 이미지 필터링이 수행되도록 할 수 있다. 이 경우, 유연한 화면 전환을 통해 사용자가 프리셋 정보를 설정하는 과정에서 임시로 사용되는 프리셋으로 처리된 결과가 화면에 짧은 시간이라도 나타나는 문제가 발생하지 않을 수 있다. According to another embodiment, at least two user
먹서(Muxer) #1(132)는 버퍼 레지스터 #1(110)로부터 입력받은 프리셋 선택 신호를 토대로, 복수의 필터 프리셋(131)과 적어도 하나의 사용자 프리셋 레지스터(136) 중에서 하나의 필터 프리셋 출력만을 선택하여 필터(133)로 출력한다. 그러면, 필터(133)는 먹서 #1(132)가 출력한 필터 프리셋을 토대로, 이미지 제공 장치(200)로부터 입력받은 이미지에 필터링을 수행한다.Muxer #1 (132) outputs only one filter preset from a plurality of filter presets (131) and at least one user preset register (136) based on the preset selection signal received from buffer register #1 (110). It is selected and output to the
복수의 이미지 스케일러(134)는 서로 다른 다양한 이미지 스케일링 기능을 수행할 수 있다. 예를들어, 이미지 스케일러 #1(134)은 가장 가까운 이웃 보간 방식인 Nearest Neighbor Interpolation을 수행하고, 이미지 스케일러 #2는 이중선형보간법(Bilinear Interpolation)을 수행하며, 이미지 스케일러 #n은 Lanczos Interpolation을 수행할 수 있다.The plurality of
이때, 이미지 프로세서(130)는 추가로 적어도 하나의 사용자 이미지 스케일러(137)를 포함할 수 있다. 사용자 이미지 스케일러(137)는 입력 장치(400)로부터 전달되는 사용자가 입력한 사용자 설정 스케일링 정보를 MCU(300)로부터 전달받아 저장할 수 있다. 사용자 설정 스케일링 정보는 복수의 이미지 스케일러(134)에 저장되지 않은 사용자 선택에 따른 동적인 스케일링값들을 포함할 수 있다.In this case, the
한 실시예에 따르면, 사용자 이미지 스케일러(137)를 사용하는 중에 사용자 이미지 스케일러(137)의 업데이트가 필요한 경우, 버퍼 레지스터 #1(110)는 복수의 이미지 스케일러(134) 중 하나를 선택하도록 먹서 #2(135)에게 프리셋 선택 신호를 출력할 수 있다. 그리고 사용자 이미지 스케일러(137)의 스케일링 파라미터값을 새로운 사용자 설정 스케일링 파라미터 정보로 업데이트 한 후, 버퍼 레지스터 #1(110)는 사용자 이미지 스케일러(137)를 선택하도록 먹서 #2(135)에게 프리셋 선택 신호를 출력함으로써, 업데이트된 사용자 설정 스케일링 파라미터 정보를 이용하여 이미지 스케일링이 수행되도록 할 수 있다.According to one embodiment, when the
다른 실시예에 따르면, 사용자 이미지 스케일러(137)를 적어도 두개 이상 구비할 수도 있다. 이 경우, 제1 사용자 이미지 스케일러(137)에 저장된 사용자 설정 스케일링 정보를 이용하여 이미지 스케일링이 수행되다가 제2 사용자 이미지 스케일러(137)에 새로운 사용자 설정 스케일링 정보가 업데이트되면, 버퍼 레지스터 #1(110)가 제2 사용자 이미지 스케일러(137)를 선택하는 프리셋 선택 신호를 먹서 #2(135)로 출력함으로써, 업데이트된 사용자 설정 스케일링 정보를 이용하여 이미지 스케일링이 수행되도록 할 수 있다. 이 경우, 유연한 화면 전환을 통해 사용자가 스케일링 정보를 설정하는 과정에서 임시로 사용되는 스케일링으로 처리된 결과가 화면에 짧은 시간이라도 나타나는 문제가 발생하지 않을 수 있다. According to another embodiment, at least two
먹서 #2(135)는 버퍼 레지스터 #1(110)로부터 입력받은 프리셋 선택 신호를 토대로, 복수의 이미지 스케일러(134) 및 사용자 이미지 스케일러(137) 중에서 하나의 이미지 스케일러 출력만을 선택하여 출력한다. The muxer #2 (135) selects and outputs only one image scaler output from the plurality of image scalers (134) and user image scalers (137) based on the preset selection signal received from the buffer register #1 (110).
이와 같이, 이미지 프로세서(130)는 프리셋 선택 신호에 따른 이미지 필터링 및 이미지 스케일링 처리된 이미지를 출력한다. 이러한 이미지는 이미지 블렌더(150)에 입력된다. In this way, the
도 4는 실시예에 따른 이미지 블렌더의 구성을 도시한 블록도이다.4 is a block diagram showing the configuration of an image blender according to an embodiment.
도 4를 참조하면, 이미지 블렌더(150)는 곱셈기 #1(151), 곱셈기 #2(152) 및 합산기(153)를 포함한다. Referring to FIG. 4 , the
블랜딩 팩터로서 하나의 K값이 입력되면, 곱셈기 #1(151)는 이미지 프로세서(130)의 출력 이미지(A)에 1-K를 곱셈 연산한다. When one K value is input as the blending factor, the
곱셈기 #2(152)는 딥러닝 이미지 스케일러 장치(140)의 출력 이미지에 블렌딩 팩터인 K를 곱셈 연산한다.The multiplier #2 152 multiplies the output image of the deep
합산기(153)는 곱셈기 #1(151)의 출력 이미지(A×(1-K))와, 곱셈기 #2(152)의 출력 이미지(B×K)를 합산한 블렌딩 이미지(Y=(K×B)+((1-K)×A))를 출력한다.The
이때, 곱셈기 #1(151)과 곱셈기 #2(152)에 입력되는 각 블렌딩 팩터는 1-K, K로서, 서로 다른 값일 수 있다. In this case, each blending factor input to the
여기서, 블렌딩 팩터인 K는 0~1 범위에 포함될 수 있다. K=1일 경우, 100% 딥러닝 이미지 스케일러 장치 출력이 블렌딩 이미지에 합산될 수 있다. K=0일 경우, 100% 이미지 프로세서 출력이 블렌딩 이미지에 합산될 수 있다. K=0.5일 경우, 딥러닝 이미지 스케일러 장치 출력과 이미지 프로세서 출력의 평균값이 블렌딩 이미지에 합산될 수 있다. 이러한 곱셈기 #1(151), 곱셈기 #2(152) 및 합산기(153)의 연산 과정이 각각의 출력 픽셀마다 진행될 수 있다.Here, the blending factor K may be included in the range of 0 to 1. When K = 1, 100% deep learning image scaler device output may be added to the blended image. When K=0, 100% image processor output can be summed to the blended image. When K = 0.5, the average value of the output of the deep learning image scaler device and the output of the image processor may be added to the blended image. The
이미지 블렌더(150)는 이미지 프로세서 출력(A)과 딥러닝 이미지 스케일러 출력(B)에 대하여, 이미지 전체 또는 개별 화소에 대하여 블렌딩 파라미터에 따른 비율로 블렌딩을 수행할 수 있다. 이때, 이미지 블렌더(150)는 이미지 프로세서 출력(A)과 딥러닝 이미지 스케일러 출력(B)에 대하여, 입력받은 블렌딩 팩터(K)에 기초하여 결정된 블렌딩 파라미터, 예를들어, K와 1-K를 적용하여 블렌딩을 수행할 수 있다.The
이처럼, 초해상도(Super resolution)와 별도로 기존의 이미지 프로세서를 병행하여 사용하고, 각 출력을 일정한 비율로 합치면 이미지 프로세서의 효과와 초해상도(super resolution)에 의한 이미지 스케일링 효과를 동시에 얻을 수 있다.In this way, if an existing image processor is used in parallel and each output is combined at a constant ratio, the effect of the image processor and the image scaling effect by super resolution can be obtained at the same time.
도 5는 한 실시예에 따른 이미지 프로세서의 동작을 도시한다.5 illustrates the operation of an image processor according to one embodiment.
도 5를 참조하면, 이미지 프로세서(도 2의 130)는 이미지 제공 장치(200)로부터 이미지가 입력(S101)되면, 버퍼 레지스터 #1(110)로부터 선택된 필터 프리셋을 적용한 필터 기능을 이미지에 구현한다(S102). Referring to FIG. 5, when an image is input from the image providing device 200 (S101), the image processor (130 in FIG. 2) implements a filter function to the image by applying a filter preset selected from buffer register #1 (110). (S102).
이미지 프로세서(130)는 버퍼 레지스터 #1(110)로부터 선택된 프리셋 선택 신호에 기초하여 이미지 스케일러(도 3의 134)를 선택(S103)하고, 선택된 이미지 스케일러(134)에 의해 이미지 스케일링을 수행한다(S104). The
도 6은 한 실시예에 따른 이미지 블렌더의 동작을 도시한다.6 illustrates the operation of an image blender according to one embodiment.
도 6을 참조하면, 이미지 블렌더(도 2의 150)는 이미지 프로세서(130)의 출력 이미지에 버퍼 레지스터 #2(120)에서 선택된 블렌딩 팩터를 곱셈 연산(S201)한다. 이미지 블렌더(150)는 딥러닝 이미지 스케일러 장치(140)의 출력 이미지에 버퍼 레지스터 #2(120)에서 선택된 블렌딩 팩터를 곱셈 연산(S202)한다. Referring to FIG. 6 , the image blender ( 150 in FIG. 2 ) multiplies the output image of the
이미지 블렌더(150)는 S201의 곱셈 연산된 출력 이미지와 S202의 곱셈 연산된 출력 이미지를 합산한 하나의 블렌딩 이미지를 출력한다(S203).The
도 7은 실시예에 따른 프리셋 설정 과정을 도시한다.7 illustrates a preset setting process according to an embodiment.
도 7을 참조하면, MCU(300)에서 설정 변경 준비를 한다(S301). 설정 변경 준비는 사용자에 의해 프리셋 정보 입력 과정 등을 포함할 수 있다.Referring to FIG. 7 , the
MCU(300)는 프리셋 종류의 변경 유무를 판단(S302)하고, 변경으로 판단되면, 프리셋 셀렉터 버퍼 레지스터(110)를 업데이트한다(S303). 이때, 업데이트는 버퍼에만 프리셋 설정값이 저장됨을 말한다.The
MCU(300)는 블렌딩 팩터의 변경 유무를 판단(S304)하고, 변경으로 판단되면, 블렌딩 팩터 버퍼 레지스터(120)를 업데이트한다(S305). 이때, 업데이트는 버퍼에만 블렌딩 팩터값이 저장됨을 말한다.The
프리셋 셀렉터 버퍼 레지스터(110)와 블렌딩 팩터 버퍼 레지스터(120)는 수직 동기(Vsync)가 발생하는지 판단(S306)하고, 수직 동기가 발생하면, 버퍼에 업데이트된 값을 레지스터로 적용한다(S307). The preset
이때, 프리셋 셀렉터 버퍼 레지스터(110)와 블렌딩 팩터 버퍼 레지스터(120)는 MCU(300)에 의해 즉시 변경되는 것이 아니라 우선적으로 버퍼에 업데이트된다. 그 이후 영상 처리 도중 수직 동기(Vsync)가 발생하면 버퍼에 있는 값을 레지스터에 업데이트되도록 하여 한 프레임 중간에 레지스터 값이 변경되어 발생할 수 있는 문제를 방지한다. 이와 같이, 사용자에 의하여 소프트웨어 방식, 즉, MCU(300)에 설정값을 저장함으로써, 프리셋 셀렉터 버퍼 레지스터(110)와 블렌딩 팩터 버퍼 레지스터(120)를 변경할 수 있다.At this time, the preset
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.The embodiments of the present invention described above are not implemented only through devices and methods, and may be implemented through programs that realize functions corresponding to the configuration of the embodiments of the present invention or a recording medium on which the programs are recorded.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements of those skilled in the art using the basic concept of the present invention defined in the following claims are also included in the scope of the present invention. that fall within the scope of the right.
Claims (10)
복수의 이미지 스케일링 알고리즘 및 사용자 설정에 따른 이미지 스케일링 알고리즘 중에서 선택적으로 적용한 이미지 스케일링 알고리즘을 이용하여 상기 입력 이미지를 스케일링하는 이미지 프로세서,
상기 이미지 스케일러 장치가 출력하는 제1 스케일링 이미지와 상기 이미지 프로세서가 출력하는 제2 스케일링 이미지를 블렌딩(Blending)하고, 블렌딩한 최종 이미지를 출력하는 이미지 블렌더,
사용자 입력에 따른 프리셋 선택 신호를 출력하는 제1 버퍼 레지스터, 그리고
사용자 설정에 따른 동적인 이미지 스케일링 정보를 입력 받는 MCU(microcontroller unit)를 포함하고,
상기 이미지 프로세서는,
복수의 정해진 스케일링 팩터(Factor)를 사용하여 각각의 이미지 스케일링을 수행하는 복수의 이미지 스케일러,
상기 MCU로부터 상기 동적인 이미지 스케일링 정보를 입력 받아 저장하고, 저장된 이미지 스케일링 정보에 따른 이미지 스케일링을 수행하는 적어도 하나의 사용자 이미지 스케일러, 그리고
상기 프리셋 선택 신호에 따라 상기 복수의 이미지 스케일러 및 상기 적어도 하나의 사용자 이미지 스케일러 중에서 하나를 선택하는 제1 먹서를 포함하고,
상기 제2 스케일링 이미지는,
상기 제1 먹서에 의해 선택된 이미지 스케일러에 의한 이미지 스케일링이 적용되며,
상기 적어도 하나의 사용자 이미지 스케일러는,
상기 이미지 스케일링 정보의 업데이트가 가능하며,
상기 프리셋 선택 신호는,
상기 이미지 스케일링 정보의 업데이트 중에 상기 복수의 이미지 스케일러 중 하나를 선택하고, 상기 이미지 스케일링 정보의 업데이트 완료 후에 업데이트된 이미지 스케일링 정보가 적용된 사용자 이미지 스케일러를 선택하게 하는, 이미지 스케일링 시스템.An image scaler device that scales an input image using parameters acquired through the learned artificial intelligence model;
An image processor for scaling the input image using an image scaling algorithm selectively applied from among a plurality of image scaling algorithms and image scaling algorithms according to user settings;
an image blender for blending a first scaled image output from the image scaler device and a second scaled image output from the image processor and outputting a final blended image;
A first buffer register outputting a preset selection signal according to a user input, and
Includes a microcontroller unit (MCU) that receives dynamic image scaling information according to user settings,
The image processor,
A plurality of image scalers performing respective image scaling using a plurality of predetermined scaling factors;
At least one user image scaler that receives and stores the dynamic image scaling information from the MCU and performs image scaling according to the stored image scaling information; and
a first muxer for selecting one of the plurality of image scalers and the at least one user image scaler according to the preset selection signal;
The second scaling image,
Image scaling by an image scaler selected by the first muxer is applied;
The at least one user image scaler,
Updating of the image scaling information is possible,
The preset selection signal,
An image scaling system that selects one of the plurality of image scalers during the update of the image scaling information and selects a user image scaler to which updated image scaling information is applied after completing the update of the image scaling information.
상기 이미지 스케일러 장치는,
초해상도(Super Resolution)를 스케일링하는 딥러닝 알고리즘에 학습된 스케일링 파라미터를 이용하는, 이미지 스케일링 시스템. In paragraph 1,
The image scaler device,
An image scaling system using a scaling parameter learned in a deep learning algorithm that scales super resolution.
상기 이미지 프로세서는,
각각의 정해진 필터 프리셋 정보를 저장하는 복수의 필터 프리셋,
상기 프리셋 선택 신호에 따라 상기 복수의 필터 프리셋 중 하나의 필터 프리셋을 선택하는 제2 먹서, 그리고
상기 제2 먹서가 선택한 필터 프리셋에 저장된 필터 프리셋 정보를 이용하여 이미지 필터링 기능을 수행하고, 필터링된 이미지를 상기 복수의 이미지 스케일러 및 상기 적어도 하나의 사용자 이미지 스케일러로 출력하는 필터
를 더 포함하는, 이미지 스케일링 시스템.In paragraph 1,
The image processor,
A plurality of filter presets for storing each predetermined filter preset information;
a second muxer for selecting one filter preset from among the plurality of filter presets according to the preset selection signal; and
A filter that performs an image filtering function using filter preset information stored in a filter preset selected by the second muxer and outputs the filtered image to the plurality of image scalers and the at least one user image scaler.
Further comprising, image scaling system.
상기 이미지 프로세서는,
상기 MCU로부터 사용자 설정에 따른 필터 프리셋 정보를 입력 받아 저장하는 적어도 하나의 사용자 프리셋 레지스터를 더 포함하고,
상기 프리셋 선택 신호는,
상기 복수의 필터 프리셋 및 상기 적어도 하나의 사용자 프리셋 레지스터 중에서 하나를 선택하게 하는, 이미지 스케일링 시스템. In paragraph 5,
The image processor,
Further comprising at least one user preset register for receiving and storing filter preset information according to user settings from the MCU;
The preset selection signal,
and selecting one of the plurality of filter presets and the at least one user preset register.
사용자 입력에 따른 블렌딩 팩터를 상기 이미지 블렌더로 출력하는 제2 버퍼 레지스터를 더 포함하고,
상기 이미지 블렌더는,
상기 제1 스케일링 이미지와 상기 제2 스케일링 이미지에 대하여, 상기 블렌딩 팩터에 기초하여 결정된 블렌딩 파라미터를 적용하여 블렌딩을 수행하는, 이미지 스케일링 시스템.In paragraph 1,
A second buffer register outputting a blending factor according to a user input to the image blender;
The image blender,
The image scaling system of claim 1 , wherein blending is performed by applying a blending parameter determined based on the blending factor to the first scaled image and the second scaled image.
제1 스케일링 알고리즘에 의하여 스케일링된 제1 스케일링 이미지와 제2 스케일링 알고리즘에 의하여 스케일링된 제2 스케일링 이미지를 사전 정의된 블렌딩 파라미터에 기초하여 블렌딩(Blending)하는 단계, 그리고
상기 블렌딩한 최종 이미지를 출력하는 단계를 포함하고,
상기 제1 스케일링 알고리즘은,
초해상도(Super Resolution)를 스케일링하는 딥러닝 알고리즘에 학습된 스케일링 파라미터를 이용하고,
상기 제2 스케일링 알고리즘은,
각각의 정해진 스케일링 팩터(Factor)를 사용하는 복수의 이미지 스케일링 알고리즘 및 사용자 설정에 따른 이미지 스케일링 알고리즘 중에서 하나가 선택되고,
상기 제2 스케일링 알고리즘은,
이미지 프로세서에 의해 구현되며,
상기 이미지 프로세서는,
복수의 정해진 스케일링 팩터(Factor)를 사용하여 각각의 이미지 스케일링을 수행하는 복수의 이미지 스케일러,
MCU(microcontroller unit)로부터 동적인 이미지 스케일링 정보를 입력 받아 저장하고, 저장된 이미지 스케일링 정보에 따른 이미지 스케일링을 수행하는 적어도 하나의 사용자 이미지 스케일러, 그리고
버퍼 레지스터로부터 사용자 입력에 따른 프리셋 선택 신호를 수신하고, 상기 프리셋 선택 신호에 따라 상기 복수의 이미지 스케일러 및 상기 적어도 하나의 사용자 이미지 스케일러 중에서 하나를 선택하는 먹서를 포함하며,
상기 적어도 하나의 사용자 이미지 스케일러는,
상기 이미지 스케일링 정보의 업데이트가 가능하며,
상기 프리셋 선택 신호는,
상기 이미지 스케일링 정보의 업데이트 중에 상기 복수의 이미지 스케일러 중 하나를 선택하고, 상기 이미지 스케일링 정보의 업데이트 완료 후에 업데이트된 이미지 스케일링 정보가 적용된 사용자 이미지 스케일러를 선택하게 하는, 이미지 스케일링 방법.A method for scaling an image of a computing device, comprising:
Blending a first scaling image scaled by a first scaling algorithm and a second scaling image scaled by a second scaling algorithm based on a predefined blending parameter, and
Outputting the blended final image;
The first scaling algorithm,
Using a scaling parameter learned in a deep learning algorithm that scales super resolution,
The second scaling algorithm,
One of a plurality of image scaling algorithms using each predetermined scaling factor and an image scaling algorithm according to a user setting is selected,
The second scaling algorithm,
implemented by the image processor,
The image processor,
A plurality of image scalers performing respective image scaling using a plurality of predetermined scaling factors;
At least one user image scaler that receives and stores dynamic image scaling information from a microcontroller unit (MCU) and performs image scaling according to the stored image scaling information; and
a muxer that receives a preset selection signal according to a user input from a buffer register and selects one of the plurality of image scalers and the at least one user image scaler according to the preset selection signal;
The at least one user image scaler,
Updating of the image scaling information is possible,
The preset selection signal,
Selecting one of the plurality of image scalers during the update of the image scaling information, and selecting a user image scaler to which the updated image scaling information is applied after completing the update of the image scaling information.
상기 블렌딩하는 단계 이전에,
사용자 입력에 따른 프리셋 정보를 설정하는 단계, 그리고
상기 프리셋 정보에 기초하여, 상기 복수의 이미지 스케일링 알고리즘 중에서 하나의 제2 스케일링 알고리즘을 선택하는 단계
를 더 포함하는, 이미지 스케일링 방법.In paragraph 8,
Before the blending step,
setting preset information according to user input; and
Selecting one second scaling algorithm from among the plurality of image scaling algorithms based on the preset information
Further comprising, image scaling method.
상기 블렌딩하는 단계는,
사용자 입력에 따른 블렌딩 팩터에 기초하여 결정된 블렌딩 파라미터를 상기 제1 스케일링 이미지와 상기 제2 스케일링 이미지에 적용하여 블렌딩을 수행하는, 이미지 스케일링 방법.
In paragraph 8,
In the blending step,
The image scaling method of performing blending by applying a blending parameter determined based on a blending factor according to a user input to the first scaled image and the second scaled image.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20200166994 | 2020-12-02 | ||
KR1020200166994 | 2020-12-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220077872A KR20220077872A (en) | 2022-06-09 |
KR102548993B1 true KR102548993B1 (en) | 2023-06-27 |
Family
ID=81986121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210163187A KR102548993B1 (en) | 2020-12-02 | 2021-11-24 | Image scaling system and method for supporting various image mode |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102548993B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102022648B1 (en) * | 2018-08-10 | 2019-09-19 | 삼성전자주식회사 | Electronic apparatus, method for controlling thereof and method for controlling server |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102525159B1 (en) * | 2018-03-19 | 2023-04-25 | 삼성전자주식회사 | Electronic apparatus for image processing, method thereof, and computer-readable medium |
-
2021
- 2021-11-24 KR KR1020210163187A patent/KR102548993B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102022648B1 (en) * | 2018-08-10 | 2019-09-19 | 삼성전자주식회사 | Electronic apparatus, method for controlling thereof and method for controlling server |
Non-Patent Citations (2)
Title |
---|
Hao Dou et al., "PCA-SRGAN: Incremental Orthogonal Projection Discrimination for Face Super-resolution", arXiv:2005.00306v2 [cs.CV], (2020.08.28.)* |
Jiancong Wang et al., "Enhanced generative adversarial network for 3D brain MRI super-resolution", 2020 IEEE Winter Conference on Applications of Computer Vision (WACV), (2020.03.01-05)* |
Also Published As
Publication number | Publication date |
---|---|
KR20220077872A (en) | 2022-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1922630B (en) | Image processing device, image processing system, image processing method, and integrated circuit device | |
JP5451319B2 (en) | Image processing apparatus, image processing method, program, and storage medium | |
CN111292236B (en) | Method and computing system for reducing aliasing artifacts in foveal gaze rendering | |
CN108154474A (en) | A kind of super-resolution image reconstruction method, device, medium and equipment | |
US8094213B2 (en) | Image processing apparatus, image processing method, and program in which an original image is modified with respect to a desired reference point set on a screen | |
JP3833212B2 (en) | Image processing apparatus, image processing program, and readable recording medium | |
CN114596339A (en) | Frame processing device and method and frame processor | |
CN113728354A (en) | Image processing method and device | |
JP2008160345A (en) | Image processing apparatus, image processing method, and computer program | |
US11263805B2 (en) | Method of real-time image processing based on rendering engine and a display apparatus | |
KR102548993B1 (en) | Image scaling system and method for supporting various image mode | |
JP2009237927A (en) | Image composition method and device | |
CN106296614B (en) | Image processing apparatus and image processing method | |
JP2006308665A (en) | Image processing apparatus | |
JP2007151094A (en) | Tone-conversion device for image, program, electronic camera, and tone-conversion method | |
JP6749504B2 (en) | Image processing apparatus, image processing method, and image processing program | |
KR20020004169A (en) | Zoom buffer control circuit having function of up/down scaling | |
JPWO2014156669A1 (en) | Image processing apparatus and image processing method | |
WO2021006160A1 (en) | Image processing device, image processing method, and program | |
JP2018182550A (en) | Image processing apparatus | |
JP4265362B2 (en) | Image processing device | |
JP6919433B2 (en) | Image processing equipment, image processing methods, image processing systems and programs | |
JP2010113554A (en) | Image processing apparatus and image processing method | |
JPH10153981A (en) | Picture display device | |
DE102020119487A1 (en) | DYNAMIC ALLOCATION OF SYSTEM-ON-CHIP RESOURCES FOR EFFICIENT SIGNAL PROCESSING |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |