KR20220125126A - Image processing apparatus and operating method for the same - Google Patents
Image processing apparatus and operating method for the same Download PDFInfo
- Publication number
- KR20220125126A KR20220125126A KR1020210093137A KR20210093137A KR20220125126A KR 20220125126 A KR20220125126 A KR 20220125126A KR 1020210093137 A KR1020210093137 A KR 1020210093137A KR 20210093137 A KR20210093137 A KR 20210093137A KR 20220125126 A KR20220125126 A KR 20220125126A
- Authority
- KR
- South Korea
- Prior art keywords
- information
- quality
- image
- obtaining
- frequency coefficient
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 83
- 238000011017 operating method Methods 0.000 title claims description 4
- 238000000034 method Methods 0.000 claims description 44
- 238000013145 classification model Methods 0.000 claims description 15
- 238000011176 pooling Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 230000001131 transforming effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 15
- 238000004590 computer program Methods 0.000 description 10
- 238000000605 extraction Methods 0.000 description 10
- 230000004913 activation Effects 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 6
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000008707 rearrangement Effects 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- 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/4084—Scaling of whole images or parts thereof, e.g. expanding or contracting in the transform domain, e.g. fast Fourier transform [FFT] domain scaling
-
- 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/20048—Transform domain processing
- G06T2207/20052—Discrete cosine transform [DCT]
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30168—Image quality inspection
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Supplying Of Containers To The Packaging Station (AREA)
- Ultra Sonic Daignosis Equipment (AREA)
Abstract
Description
다양한 실시예들은 뉴럴 네트워크를 이용하여, 영상의 퀄리티 정보를 획득하는 영상 처리 장치 및 그 동작 방법에 관한 것이다.Various embodiments relate to an image processing apparatus for obtaining quality information of an image by using a neural network, and an operating method thereof.
컴퓨터 기술의 발달과 함께 데이터 트래픽이 지수함수 형태로 증가하면서 인공지능은 미래 혁신을 주도하는 중요한 트렌드로 자리잡았다. 인공지능은 사람의 사고방식을 모방하는 방식이기 때문에 사실상 전 산업에 무한하게 응용될 수 있다. 인공지능의 대표적인 기술로는 패턴 인식, 기계 학습, 전문가 시스템, 뉴럴 네트워크, 자연어 처리 등이 있다.As data traffic increases exponentially with the development of computer technology, artificial intelligence has become an important trend driving future innovation. Since artificial intelligence is a method that imitates the way of thinking of humans, it can be applied infinitely to virtually all industries. Representative technologies of artificial intelligence include pattern recognition, machine learning, expert systems, neural networks, and natural language processing.
뉴럴 네트워크는 인간의 생물학적 신경 세포의 특성을 수학적 표현에 의해 모델링한 것으로, 인간이 가지고 있는 학습이라는 능력을 모방한 알고리즘을 이용한다. 이 알고리즘을 통하여, 뉴럴 네트워크는 입력 데이터와 출력 데이터 사이의 사상(mapping)을 생성할 수 있고, 이러한 사상을 생성하는 능력은 뉴럴 네트워크의 학습 능력이라고 표현될 수 있다. 또한, 뉴럴 네트워크는 학습된 결과에 기초하여, 학습에 이용되지 않았던 입력 데이터에 대하여, 올바른 출력 데이터를 생성할 수 있는 일반화 능력을 가진다.A neural network models the characteristics of human biological nerve cells by mathematical expressions, and uses an algorithm that mimics the ability of learning that humans have. Through this algorithm, the neural network can generate a mapping between input data and output data, and the ability to generate this mapping can be expressed as the learning ability of the neural network. In addition, the neural network has a generalization ability to generate correct output data with respect to input data that has not been used for learning, based on the learned result.
심층 신경망(예를 들어, 층이 깊은 컨볼루션 뉴럴 네트워크(CNN: Convolution Neural Network))을 이용하여, 압축 영상의 퀄리티 정보를 추론하는 경우, 정확한 추론을 위해, 압축 영상에서 퀄리티 정보의 신뢰도가 높은 영역과 퀄리티 정보의 신뢰도가 낮은 영역을 구분할 필요가 있다. 예를 들어, 플랫 영역(저주파수 영역)의 경우, 압축율에 따른 손상이 크지 않으나, 텍스쳐 영역(고주파수 영역)의 경우, 압축율에 따라 손상이 많이 발생한다. 따라서, 텍스쳐 영역이 플랫 영역보다 신뢰도가 높은 퀄리티 정보를 포함하게 되고, 이에 따라, 텍스쳐 영역과 플랫 영역에 서로 다른 가중치를 두어, 압축 영상에 대한 퀄리티 정보를 추론할 필요가 있다.In the case of inferring quality information of a compressed image using a deep neural network (eg, a deep-layered convolutional neural network (CNN)), for accurate inference, the reliability of the quality information in the compressed image is high It is necessary to distinguish a region from which the reliability of quality information is low. For example, in the case of a flat region (low frequency region), damage according to the compression ratio is not large, but in the case of a texture region (high frequency region), damage occurs a lot depending on the compression ratio. Accordingly, the texture region includes quality information with higher reliability than the flat region. Accordingly, it is necessary to infer quality information on the compressed image by giving different weights to the texture region and the flat region.
다양한 실시예들은, 컨볼루션 뉴럴 네트워크를 이용하여, 영상에 포함된 영역들 각각에 주파수 특성에 따른 가중치를 적용하여, 영상의 퀄리티 정보를 추정할 수 있는 영상 처리 장치 및 그 동작 방법을 제공할 수 있다.Various embodiments may provide an image processing apparatus capable of estimating image quality information by applying a weight according to a frequency characteristic to each of regions included in an image using a convolutional neural network, and an operating method thereof have.
일 실시예에 따른 영상 처리 장치는 하나 이상의 인스트럭션들을 저장하는 메모리 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함하고, 상기 프로세서는, 제1 영상을, 기 설정된 크기를 가지는 블록 단위로, 주파수 도메인(frequency domain)으로 변환하여, 제1 주파수 계수(frequency coefficient) 정보를 획득하고, 상기 제1 주파수 계수 정보에 상응하는 적어도 하나의 블록과 제1 커널과의 상관관계를 나타내는 상관관계(correlation) 정보를, 상기 기 설정된 크기를 가지는 블록 단위로, 획득하며, 상기 상관관계 정보에 기초하여, 상기 제1 주파수 계수 정보에 대응하는 가중치를, 상기 기 설정된 크기를 가지는 블록 단위로, 생성하고, 상기 제1 주파수 계수 정보에 포함되는 계수들을 동일한 주파수에 대응하는 계수들 끼리 동일한 그룹으로 재배열한 제2 주파수 계수 정보를 생성하고, 상기 가중치 및 상기 제2 주파수 계수 정보에 기초하여, 상기 제1 영상에 대한 퀄리티 정보를 획득할 수 있다.An image processing apparatus according to an embodiment includes a memory storing one or more instructions and a processor executing the one or more instructions stored in the memory, wherein the processor converts the first image into blocks having a preset size. , to obtain first frequency coefficient information by converting into a frequency domain, and a correlation indicating a correlation between at least one block corresponding to the first frequency coefficient information and a first kernel ( correlation) information is obtained in units of blocks having the preset size, and based on the correlation information, a weight corresponding to the first frequency coefficient information is generated in units of blocks having the preset size, and , generates second frequency coefficient information in which coefficients included in the first frequency coefficient information are rearranged into the same group among coefficients corresponding to the same frequency, and based on the weight and the second frequency coefficient information, the first frequency coefficient information You can obtain quality information about the video.
일 실시예에 따른 가중치는 상기 적어도 하나의 블록이 나타내는 퀄리티 정보의 신뢰도를 나타낼 수 있다.The weight according to an embodiment may indicate the reliability of the quality information indicated by the at least one block.
일 실시예에 따른 제1 영상은 YCbCr 색 공간을 가지는 영상이며, 상기 프로세서는, RGB 색 공간을 가지는 제2 영상의 색 공간 변환을 수행함으로써, 상기 제1 영상을 획득할 수 있다.The first image according to an embodiment is an image having a YCbCr color space, and the processor may obtain the first image by performing color space conversion of a second image having an RGB color space.
일 실시예에 따른 제1 커널은 상기 기 설정된 크기를 가지며, 상기 프로세서는, 상기 제1 주파수 계수 정보를, 상기 블록 단위로, 상기 제1 커널과의 요소별 곱(elementwise multiplication) 연산을 수행하고, 상기 요소별 곱 연산이 수행된 값들을 합산함으로써, 상기 블록 단위로 상기 상관관계 정보를 획득할 수 있다.The first kernel according to an embodiment has the preset size, and the processor performs an elementwise multiplication operation on the first frequency coefficient information with the first kernel in units of blocks, and , by summing the values on which the multiplication operation has been performed for each element, the correlation information may be acquired in units of the block.
일 실시예에 따른 제1 커널은, 상기 기 설정된 크기를 가지는 M개의 커널들을 포함하며, 상기 프로세서는, 상기 제1 주파수 계수 정보를, 상기 블록 단위로, 상기 M개의 커널들 각각과의 연산을 수행하여, 상기 상관관계 정보를 획득하며, 상기 상관관계 정보의 채널 수는 M개일 수 있다. The first kernel according to an embodiment includes M kernels having the preset size, and the processor performs an operation with each of the M kernels in the block unit for the first frequency coefficient information. to obtain the correlation information, the number of channels of the correlation information may be M.
일 실시예에 따른 프로세서는, 상기 제1 주파수 계수 정보와 제1 커널과의 컨볼루션 연산을 수행함으로써, 상기 상관관계 정보를 획득할 수 있다.The processor according to an embodiment may acquire the correlation information by performing a convolution operation between the first frequency coefficient information and a first kernel.
일 실시예에 따른 프로세서는, 상기 상관관계 정보와 제2 커널과의 컨볼루션 연산을 수행하여, 제1 특징 정보를 획득하고, 상기 제1 특징 정보에 기초하여, 상기 가중치를 생성할 수 있다.The processor according to an embodiment may perform a convolution operation between the correlation information and a second kernel to obtain first characteristic information, and generate the weight based on the first characteristic information.
일 실시예에 따른 프로세서는, 상기 제2 주파수 계수 정보와 제3 커널과의 컨볼루션 연산을 수행하여, 상기 제2 특징 정보를 획득하고, 상기 제2 특징 정보에 상기 가중치를 적용하여, 제3 특징 정보를 생성하고, 상기 제3 특징 정보에 기초하여, 상기 제1 영상에 대한 퀄리티 정보를 획득할 수 있다.The processor according to an embodiment obtains the second characteristic information by performing a convolution operation between the second frequency coefficient information and a third kernel, and applies the weight to the second characteristic information to obtain a third The feature information may be generated, and quality information about the first image may be acquired based on the third feature information.
일 실시예에 따른 프로세서는, 상기 제3 특징 정보를 1차원 벡터로 변환하고, 상기 1차원 벡터 및 선형 분류 모델을 이용하여, 상기 퀄리티 정보를 획득할 수 있다.The processor according to an embodiment may convert the third feature information into a one-dimensional vector, and obtain the quality information by using the one-dimensional vector and a linear classification model.
일 실시예에 따른 퀄리티 정보는, 상기 제1 영상에 대한 퀄리티 팩터를 포함하며, 상기 선형 분류 모델은, 상기 벡터를 입력으로 받아, 복수의 퀄리티 팩터들에 대한 확률 값들을 출력하는 모델이고, 상기 프로세서는, 상기 복수의 퀄리티 팩터들 중 가장 큰 확률 값을 가지는 퀄리티 팩터를 상기 퀄리티 정보로 획득할 수 있다.The quality information according to an embodiment includes a quality factor for the first image, and the linear classification model is a model that receives the vector as an input and outputs probability values for a plurality of quality factors, and the The processor may obtain a quality factor having a largest probability value among the plurality of quality factors as the quality information.
일 실시예에 따른 프로세서는, 상기 제3 특징 정보에 풀링(pooling)을 수행하여, 상기 제3 특징 정보를 1차원 특징 벡터로 변환하고, 상기 특징 벡터와 복수의 퀄리티 팩터들 각각에 대응하는 특징 벡터와의 유사도에 기초하여, 상기 복수의 퀄리티 팩터들 중 상기 특징 벡터와 가장 유사한 특징 벡터를 가지는 퀄리티 팩터를 상기 퀄리티 정보로 획득할 수 있다.The processor according to an embodiment performs pooling on the third feature information, converts the third feature information into a one-dimensional feature vector, and features corresponding to each of the feature vector and a plurality of quality factors. A quality factor having a feature vector most similar to the feature vector among the plurality of quality factors may be acquired as the quality information based on the similarity with the vector.
일 실시예에 따른 영상 처리 장치의 동작방법은, 제1 영상을, 기 설정된 크기를 가지는 블록 단위로, 주파수 도메인(frequency domain)으로 변환하여, 제1 주파수 계수(frequency coefficient) 정보를 획득하는 단계, 상기 제1 주파수 계수 정보에 상응하는 적어도 하나의 블록과 제1 커널과의 상관관계를 나타내는 상관관계(correlation) 정보를, 상기 기 설정된 크기를 가지는 블록 단위로 획득하는 단계, 상기 상관관계 정보에 기초하여, 상기 제1 주파수 계수 정보에 대응하는 가중치를, 상기 기 설정된 크기를 가지는 블록 단위로, 생성하는 단계, 상기 제1 주파수 계수 정보에 포함되는 계수들을 동일한 주파수에 대응하는 계수들 끼리 동일한 그룹으로 재배열한 제2 주파수 계수 정보를 생성하는 단계, 및 상기 가중치 및 상기 제2 주파수 계수 정보에 기초하여, 상기 제1 영상에 대한 퀄리티 정보를 획득하는 단계를 포함할 수 있다.According to an embodiment of the present disclosure, a method of operating an image processing apparatus includes: converting a first image in block units having a preset size into a frequency domain to obtain first frequency coefficient information , obtaining correlation information indicating a correlation between at least one block corresponding to the first frequency coefficient information and a first kernel, in units of blocks having the preset size, in the correlation information based on the step of generating a weight corresponding to the first frequency coefficient information in units of blocks having the preset size, in which coefficients included in the first frequency coefficient information are grouped in the same group as coefficients corresponding to the same frequency The method may include generating second frequency coefficient information rearranged as , and obtaining quality information on the first image based on the weight and the second frequency coefficient information.
일 실시예에 따른 영상 처리 장치는, 영상에 포함되는 영역들 각각이 가지고 있는 퀄리티 정보에 대한 신뢰도에 따라 해당 영역에 가중치를 적용하여, 영상에 대한 퀄리티 정보를 추정함으로써, 정확도가 향상된 퀄리티 정보를 획득할 수 있다.The image processing apparatus according to an embodiment applies a weight to the corresponding region according to the reliability of the quality information of each of the regions included in the image to estimate the quality information on the image, thereby providing quality information with improved accuracy. can be obtained
도 1은 일 실시예에 따른 영상 처리 장치가 영상 처리 네트워크를 이용하여 영상을 처리하는 동작을 나타내는 도면이다.
도 2 및 도 3은 일 실시예에 따른 가중치 추출 네트워크의 동작을 설명하기 위해 참조되는 도면들이다.
도 4 및 도 5는 일 실시예에 따른 제1 컨볼루션부에서 수행되는 컨볼루션 연산을 설명하기 위해 참조되는 도면들이다.
도 6 및 도 7은 일 실시예에 따른 퀄리티 추정 네트워크의 동작을 설명하기 위해 참조되는 도면들이다.
도 8은 다른 실시예에 따른 퀄리티 연산부의 동작을 나타내는 도면이다.
도 9는 일 실시예에 따른 영상 처리 장치의 동작 방법을 나타내는 흐름도이다.
도 10은 일 실시예에 따른 영상 처리 장치의 구성을 나타내는 블록도이다.1 is a diagram illustrating an operation of an image processing apparatus processing an image using an image processing network according to an exemplary embodiment.
2 and 3 are diagrams referenced to describe an operation of a weight extraction network according to an embodiment.
4 and 5 are diagrams referenced to describe a convolution operation performed by the first convolution unit according to an embodiment.
6 and 7 are diagrams referenced to describe an operation of a quality estimation network according to an embodiment.
8 is a diagram illustrating an operation of a quality calculator according to another exemplary embodiment.
9 is a flowchart illustrating a method of operating an image processing apparatus according to an exemplary embodiment.
10 is a block diagram illustrating a configuration of an image processing apparatus according to an exemplary embodiment.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.Terms used in this specification will be briefly described, and the present invention will be described in detail.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다. The terms used in the present invention have been selected as currently widely used general terms as possible while considering the functions in the present invention, but these may vary depending on the intention or precedent of a person skilled in the art, the emergence of new technology, and the like. In addition, in a specific case, there is a term arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the corresponding invention. Therefore, the term used in the present invention should be defined based on the meaning of the term and the overall content of the present invention, rather than the name of a simple term.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.In the entire specification, when a part "includes" a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated. In addition, terms such as "...unit" and "module" described in the specification mean a unit that processes at least one function or operation, which may be implemented as hardware or software, or a combination of hardware and software. .
아래에서는 첨부한 도면을 참고하여 실시예들에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art to which the present invention pertains can easily implement them. However, the present invention may be embodied in several 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.
도 1은 일 실시예에 따른 영상 처리 장치가 영상 처리 네트워크를 이용하여 영상의 퀄리티 정보를 획득하는 동작을 나타내는 도면이다.1 is a diagram illustrating an operation in which an image processing apparatus acquires image quality information using an image processing network, according to an exemplary embodiment.
도 1을 참조하면, 일 실시예에 따른 영상 처리 장치(100)는 제1 영상(10)을 주파수 도메인으로 변환하여, 제1 주파수 계수 정보(21)를 획득할 수 있다. 이때, 제1 영상(10)은 YCbCr 색 공간을 가지는 영상일 수 있으며, RGB 색 공간을 가지는 제2 영상에 색 공간 변환을 수행함으로써 생성된 영상일 수 있다.Referring to FIG. 1 , the
또한, 영상 처리 장치(100)는 제1 영상(10)을, 기 설정된 크기(예를 들어, N x N)를 가지는 블록 단위로, 주파수 도메인으로 변환할 수 있다. 예를 들어, 영상 처리 장치(100)는 도 1에 도시된 바와 같이, 기 설정된 크기를 가지는 DCT 기저 함수(11)를 이용하여, DCT 변환을 수행함으로써, 제1 주파수 계수 정보(21)를 획득할 수 있다. 다만, 이에 한정되지 않는다. 이때, 제1 주파수 계수 정보(21)는 복수의 블록들로 분할될 수 있으며, 복수의 블록들 각각에서 동일한 위치의 계수 정보는, 동일한 주파수에 대응하는 계수 정보일 수 있다.Also, the
제1 주파수 계수 정보(21)는 영상 처리 네트워크(30)로 입력될 수 있다. 일 실시예에 따른 영상 처리 네트워크(30)는 제1 주파수 계수 정보(21)를 입력 받아, 제1 주파수 계수 정보(21)를 처리함으로써, 제1 영상(10)에 대한 퀄리티 정보를 출력하는 네트워크일 수 있다.The first
일 실시예에 따른 영상 처리 네트워크(30)는 가중치 추출 네트워크(200)와 퀄리티 추정 네트워크(300)를 포함할 수 있다.The
가중치 추출 네트워크(200)는 제1 주파수 계수 정보(21)에 포함된 복수의 블록들 각각에 대한 퀄리티 정보의 신뢰도를 나타내는 가중치를 생성할 수 있다.The
예를 들어, 제1 영상(10)이 압축 영상인 경우, 제1 영상(10)에 포함된 영역들의 특성(예를 들어, 주파수 특성)에 따라, 영역들이 나타내는 퀄리티 정보의 신뢰도가 상이할 수 있다. 압축 영상의 경우, 압축율(압축되는 정도)이 클수록 저주파수 성분을 많이 포함하는 플랫 영역(flat region)의 퀄리티는 크게 저하되지 않고, 고주파수 성분을 많이 포함하는 텍스쳐 영역(textured region)의 퀄리티가 크게 저하된다. 따라서, 플랫 영역의 경우, 압축 정도에 따라 퀄리티 변화가 크지 않으므로, 플랫 영역에 대한 퀄리티 정보의 신뢰도는 낮아진다. 반면에, 텍스쳐 영역의 경우, 압축 정도에 따라 퀄리티 변화가 크므로, 텍스쳐 영역에 대한 퀄리티 정보의 신뢰도는 높아진다.For example, when the
따라서, 제1 영상(10)에서 플랫 영역과 텍스쳐 영역을 구분하여, 플랫 영역에 대한 퀄리티 정보는 가중치를 작게 하고, 텍스쳐 영역에 대한 퀄리티 정보는 가중치를 크게 하여, 제1 영상에 대한 퀄리티 정보를 획득하는 경우, 플랫 영역과 텍스쳐 영역에 동일한 가중치를 적용하여, 퀄리티 정보를 획득하는 경우보다, 획득된 퀄리티 정보의 정확도가 향상된다.Accordingly, in the
이에 따라, 가중치 추출 네트워크(200)는 제1 영상(10)에 대응하는 제1 주파수 계수 정보(21)에 기초하여, 제1 영상(10)에 포함되는 영역들 각각의 퀄리티 정보의 신뢰도를 나타내는 가중치를 결정할 수 있다.Accordingly, the
또한, 일 실시예에 따른 퀄리티 추정 네트워크(300)는 입력된 제1 주파수 계수 정보(21)와 가중치 추출 네트워크(200)에서 생성된 가중치에 기초하여, 제1 영상(10)의 퀄리티 정보를 획득할 수 있다. 이때, 퀄리티 정보는 제1 영상(10)의 퀄리티를 나타내는 값으로, 퀄리티 팩터(quality factor)를 포함할 수 있으나, 이에 한정되지 않는다. 일 실시예에 따른 제1 영상(10)에 대한 퀄리티 정보는 제1 영상(10)을 복원하는 등 제1 영상(10)을 이용하거나 처리함에 있어, 유용한 정보로 이용될 수 있다.In addition, the
도 2 및 도 3은 일 실시예에 따른 가중치 추출 네트워크의 동작을 설명하기 위해 참조되는 도면들이다.2 and 3 are diagrams referenced to describe an operation of a weight extraction network according to an embodiment.
일 실시예에 따른 가중치 추출 네트워크(200)는 제1 연산부(210), 제1 컨볼루션부(220) 및 활성화 연산부(230)를 포함할 수 있다.The
도 2를 참조하면, 제1 연산부(210)는 제1 주파수 계수 정보(21)와 제1 커널(215)의 연산을 수행하여, 상관관계 정보(217)를 획득할 수 있다.Referring to FIG. 2 , the
일 실시예에 따른 제1 주파수 계수 정보(21)는 기 설정된 크기(예를 들어, N x N)를 가지는 복수의 블록들로 분할될 수 있다. 도 2에서는 설명의 편의를 위해, 제1 주파수 계수 정보(21)가 4개의 블록들(제1 블록(B1), 제2 블록(B2), 제3 블록(B3), 제4 블록(B4))로 나눠지는 경우를 예로 들어 설명하기로 한다. 다만, 이에 한정되지 않는다. The first
일 실시예에 따른 제1 연산부(210)는 블록들 각각과 제1 커널(215) 사이의 상관관계를 나타내는 상관관계 정보(217)를 획득할 수 있다. 이때, 제1 커널(215)은 기 설정된 크기(예를 들어, N x N)를 가지는 M개의 커널들(K1, K2, ..., KM)을 포함할 수 있다. 제1 연산부(210)는 제1 주파수 계수 정보(21)를 블록 단위로 M개의 커널들(215) 각각과 연산을 수행하여, 상관관계 정보(217)를 획득할 수 있다. 이때, 수행되는 연산은 다음과 같은 수학식 1로 나타낼 수 있다.The
수학식 1에서, Bn은 제1 주파수 계수 정보(21)에 포함되는 블록들 각각을 나타내고, Km은 제1 커널(215)에 포함된 커널들 각각을 나타낸다. 또한, bn i,j는 블록 Bn에서, i번째 행, j번째 열에 위치한 값을 나타내며, km i,j는 커널 Km에서 i번째 행, j번째 열에 위치한 값을 나타낸다.In
예를 들어, 제1 연산부(210)는 제1 블록(B1)과 M개의 커널들(215) 각각의 요소별 곱 연산(elementwise multiplication)을 수행할 수 있다. 요소별 곱 연산은 수학식 1에 나타낸 바와 같이, 동일한 위치에 있는 값들끼리 곱하는 연산이다. 또한, 제1 연산부(210)는 요소별 곱 연산이 수행된 값들을 합산함으로써, 제1 블록(B1)에 대응하는 상관관계 정보(B1 x K1, B1 x K2, ..., B1 x KM)를 획득할 수 있다. 또한, 제2 블록 내지 제4 블록들(B2, B3, B4) 각각에 대해서도 제1 블록(B1)과 동일한 방법으로, 상관관계 정보를 획득할 수 있다.For example, the
일 실시예에 따른 상관관계 정보(217)는 제1 컨볼루션부(220)로 입력될 수 있다.The
도 3을 참조하면, 제1 컨볼루션부(220)는 하나 이상의 컨볼루션 레이어들을 포함할 수 있다. 예를 들어, 제1 컨볼루션부(220)가 복수의 컨볼루션 레이어들을 포함하는 경우, 복수의 컨볼루션 레이어들은 연속적으로 위치할 수 있다. 복수의 컨볼루션 레이어들 각각은 이전 레이어로부터 출력된 값들을 입력 받고, 해당 레이어에서 컨볼루션 연산을 수행하여, 결과 값들을 획득하며, 획득된 결과 값들을 다음 레이어로 출력하는 구조를 가질 수 있다.Referring to FIG. 3 , the
본 개시의 실시예에서는 설명의 편의를 위해, 제1 컨볼루션부(220)가 하나의 컨볼루션 레이어를 포함하는 것으로 설명하나, 이에 한정되지 않는다.In the embodiment of the present disclosure, for convenience of description, it is described that the
일 실시예에 따른 제1 컨볼루션부(220)는 제1 연산부(210)에서 획득된 상관관계 정보(217)와 제1 컨볼루션부(220)에 포함되는 제2 커널과의 컨볼루션 연산을 수행하여, 제1 특징 정보를 추출할 수 있다. 컨볼루션 연산을 수행하여 제1 특징 정보를 추출하는 방법에 대해서는 도 4 및 도 5를 참조하여, 자세히 설명하기로 한다.The
도 4 및 도 5는 일 실시예에 따른 제1 컨볼루션부에서 수행되는 컨볼루션 연산을 설명하기 위해 참조되는 도면들이다.4 and 5 are diagrams referenced to describe a convolution operation performed by the first convolution unit according to an embodiment.
도 4는 일 실시예에 따른 제1 컨볼루션부(220)로 입력되는 상관관계 정보(217), 제1 컨볼루션부(220)에 포함되는 제2 커널(420), 및 제1 컨볼루션부(220)에서 출력되는 제1 특징 정보(440)를 나타내는 도면이다.4 illustrates
도 4를 참조하면, 일 실시예에 따른 제1 컨볼루션부(220)로 입력되는 상관관계 정보(217)의 크기는 W x H 일 수 있으며, 채널 수는 M일 수 있다. 또한, 제1 컨볼루션부(220)는 제2 커널(420)을 포함하며, 제2 커널(420)은 Kw x Kh의 크기를 가지며, 채널 수는 M일 수 있다. 제1 컨볼루션부(220)는 상관관계 정보(217)와 제2 커널(420)과의 컨볼루션 연산을 수행함으로써, 제1 특징 정보(440)를 추출할 수 있다.Referring to FIG. 4 , the size of the
예를 들어, 도 4에 도시된 바와 같이, 상관관계 정보(217)는 M개의 채널 영상들(411, 412, ..., 419)을 포함할 수 있으며, 제2 커널(420)은 M개의 서브 커널들(421, 422, ..., 429)을 포함할 수 있다.For example, as shown in FIG. 4 , the
제1 컨볼루션부(220)는 제1 채널 영상(411)과 제1 서브 커널(421)과의 컨볼루션 연산을 수행하여, 제1 서브 특징 정보(431)를 추출할 수 있으며, 제2 채널 영상(412)과 제2 서브 커널(422)과의 컨볼루션 연산을 수행하여, 제2 서브 특징 정보(432)를 추출할 수 있다. 또한, 제M 채널 영상(419)과 제M 서브 커널(429)과의 컨볼루션 연산을 수행하여, 제M 서브 특징 정보(439)를 추출할 수 있다. 채널 별로 채널 영상들(411, 412, ..., 419)과 서브 커널들(421, 422, ..., 429)의 컨볼루션 연산을 수행하여, 채널 별 서브 특징 정보를 추출하는 방법에 대해서는 도 5를 참조하여, 자세히 설명하기로 한다.The
도 5는, 도 4의 제1 채널 영상(411)과 제1 서브 커널(421)과의 컨볼루션 연산을 통해 제1 서브 특징 정보(431)가 생성되는 과정을 나타낸다.FIG. 5 illustrates a process in which the first
도 5에서는 설명의 편의를 위해, 제1 채널 영상(411)이 5 x 5의 크기를 가지며, 제1 서브 커널(421)은 3 x 3의 크기를 가지는 것으로 가정한다.In FIG. 5 , for convenience of explanation, it is assumed that the
도 5를 참조하면, 제1 채널 영상(411)의 좌측 상단으로부터 우측 하단까지 제1 서브 커널(421)을 적용하여, 컨볼루션 연산을 수행함으로써, 제1 서브 특징 정보(431)를 추출하는 과정이 도시되어 있다. 예를 들어, 제1 채널 영상(411)의 좌측 상단 3 x 3 영역(510)에 포함되는 픽셀들에 제1 서브 커널(421)을 적용하여 요소별 곱 연산 및 합산을 수행할 수 있다. 즉, 좌측 상단 3 x 3 영역(510)에 포함되는 픽셀 값들과 제1 서브 커널(421)에 포함되는 파라미터 값들을 곱하여 합산함으로써, 좌측 상단 3 x 3 영역(510) 매핑되는 하나의 픽셀 값(531)을 생성할 수 있다.Referring to FIG. 5 , a process of extracting the first
또한, 제1 채널 영상(411)의 좌측 상단 3 x 3 영역(510)에서 우측으로 한 픽셀 이동시킨 3 x 3 영역(520)에 포함되는 픽셀 값들과 제1 서브 커널(421)에 포함되는 파라미터 값들을 곱하여 합산함으로써, 3 x 3 영역(520)에 매핑되는 하나의 픽셀 값(532)을 생성할 수 있다. 동일한 방식으로, 제1 채널 영상(411) 내에서 제1 서브 커널(421)을 좌측에서 우측으로, 상단에서 하단으로 한 픽셀씩 슬라이딩하면서, 제1 서브 커널(421)에 포함되는 파라미터 값들과 제1 채널 영상(411)의 픽셀 값들을 곱하여 합산함으로써, 제1 서브 특징 정보(431)에 포함되는 픽셀 값들을 생성할 수 있다. 이때, 컨볼루션 연산의 대상이 되는 데이터는 한 픽셀씩 이동하면서 샘플링될 수도 있으나, 2개 이상의 픽셀 개수만큼 샘플링될 수도 있다. 컨볼루션 과정에서 샘플링되는 픽셀들의 간격의 크기를 스트라이드(stride)라고 하며, 스트라이드의 크기에 따라 출력되는 제1 서브 특징 정보(431)의 크기가 결정될 수 있다.Also, pixel values included in the 3 x 3
또는, 제1 채널 영상(411)에는 패딩이 수행될 수 있다. 패딩은 출력되는 제1 서브 특징 정보(431)의 크기가 작아지는 것을 방지하기 위하여, 제1 채널 영상(411)의 가장자리에 특정 값(예를 들어, '0')을 주어, 제1 채널 영상(411)의 사이즈를 증가시키는 것을 의미한다.Alternatively, padding may be performed on the
다시, 도 4를 참조하면, 제1 컨볼루션 부(220)는 제1 내지 제M 서브 특징 정보들(431, 432,..., 439)의 요소별 합산을 수행하여, 제1 특징 정보(440)를 획득할 수 있다. 이때, 요소별 합산은 제1 내지 제M 서브 특징 정보들(431, 432,..., 439)을 합산할 때, 동일한 위치에 있는 값들끼리 더하는 연산이다.Again, referring to FIG. 4 , the
다시, 도 3을 참조하면, 활성화 연산부(230)는 제1 특징 정보에 활성화 함수 연산을 수행하여, 블록들 각각에 대응하는 가중치(240)를 생성할 수 있다. 활성화 함수 연산은 제1 특징 정보에 대해 비선형(non-linear) 특성을 부여하는 것으로, 활성화 함수는 시그모이드 함수(sigmoid function), Tanh 함수, ReLU(Rectified Linear Unit) 함수, leaky ReLu 함수 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.Again referring to FIG. 3 , the
블록들 각각에 대응하는 가중치(240)는 제1 블록(B1)에 대응하는 제1 가중치(a1), 제2 블록(B2)에 대응하는 제2 가중치(a2), 제3 블록(B3)에 대응하는 제3 가중치(a3), 및 제4 블록(B4)에 대응하는 제4 가중치(a4)를 포함할 수 있다. 또한, 블록들 각각에 대응하는 가중치(240)는 0이상 1미만의 값으로 나타날 수 있으며, 퀄리티 추정 네트워크(300)로 입력될 수 있다.A
도 6 및 도 7은 일 실시예에 따른 퀄리티 추정 네트워크의 동작을 설명하기 위해 참조되는 도면들이다.6 and 7 are diagrams referenced to describe an operation of a quality estimation network according to an embodiment.
일 실시예에 따른 퀄리티 추정 네트워크(300)는 재배열부(610), 제2 컨볼루션부(620), 가중치 적용부(630), 제3 컨볼루션부(640) 및 퀄리티 연산부(650)를 포함할 수 있다.The
도 6을 참조하면, 일 실시예에 따른 재배열부(610)는 제1 주파수 계수 정보(21)에 포함된 계수 정보들을 재배열하여, 제2 주파수 계수 정보(22)를 획득할 수 있다. 재배열부(610)는 제1 주파수 계수 정보(21)에 포함된 블록들 각각에서 동일한 주파수에 대응하는 계수 정보를 동일한 그룹(채널)으로 재배열한 제2 주파수 계수 정보(22)를 획득할 수 있다. 제1 주파수 계수 정보(21)에 포함된 블록들 각각에서 동일한 위치의 계수 정보는, 동일한 주파수에 대응하는 계수 정보이므로, 재배열부(610)는 블록들 각각에서 동일한 위치의 계수 정보를 동일한 그룹(채널)으로 재배열할 수 있다. 예를 들어, 재배열부(310)는 제1 내지 제4 블록들 각각에서 1행(i=1), 1열(j=1)에 위치한 값들(b1 1,1, b2 1,1, b3 1,1, b4 1,1)을 제2 주파수 계수 정보(22)의 제1 채널로 구성할 수 있다. 또한, 제1 내지 제4 블록들 각각에서 1행(i=1), 2열(j=2)에 위치한 값들(b1 1,2, b2 1,2, b3 1,2, b4 1,2)을 제2 주파수 계수 정보(22)의 제2 채널로 구성할 수 있다. 재배열부(610)는 상기와 같은 방법으로, 제1 내지 제4 블록들(B1, B2, B3, B4) 각각에 포함된 값들을 재배열할 수 있으며, 이에 따라, 제2 주파수 계수 정보(22)의 채널 수는 블록의 크기(N x N)에 기초하여 결정되며, 제2 주파수 계수 정보(22)는 N2개의 채널을 포함하게 된다.Referring to FIG. 6 , the
일 실시예에 따른 제2 주파수 계수 정보(22)는 제2 컨볼루션부(620)로 입력될 수 있다.The second
제2 컨볼루션부(620)는 제2 주파수 계수 정보(22)에 기초하여, 제2 특징 정보(625)를 획득할 수 있다. 예를 들어, 제2 컨볼루션부(620)는 하나 이상의 컨볼루션 레이어들을 포함할 수 있다. 제2 컨볼루션부(620)가 복수의 컨볼루션 레이어들을 포함하는 경우, 복수의 컨볼루션 레이어들은 연속적으로 위치할 수 있다. 복수의 컨볼루션 레이어들 중 첫번째 컨볼루션 레이어는 제2 주파수 계수 정보(22)를 입력받아, 컨볼루션 연산을 수행하여 획득한 결과값을 수행할 수 있다. 나머지 컨볼루션 레이어들은 이전 컨볼루션 레이어로부터 출력된 값들을 입력 받고, 해당 레이어에서 컨볼루션 연산을 수행하여, 획득한 결과 값들을 다음 레이어로 출력하는 구조를 가질 수 있다.The
본 개시의 실시예에서는 설명의 편의를 위해, 제2 컨볼루션부(620)가 하나의 컨볼루션 레이어를 포함하는 것으로 설명하나, 이에 한정되지 않는다.In the embodiment of the present disclosure, for convenience of description, it is described that the
제2 컨볼루션부(620)는 제2 주파수 계수 정보(22)와 제2 컨볼루션부(620)에 포함되는 제3 커널 간의 컨볼루션 연산을 수행함으로써, 제2 특징 정보(625)를 추출할 수 있다. 제2 특징 정보(625)는 블록들 각각에 대응하는 특징 정보를 포함한다.The
가중치 적용부(630)는 제2 특징 정보(625)에 가중치 추출 네트워크(200)에서 획득한 블록들 각각에 대한 가중치(240)를 적용함으로써, 제3 특징 정보(635)를 획득할 수 있다.The
가중치 적용부(630)는 제2 특징 정보(625)에 포함된 블록들 각각에 대응하는 특징 정보와 블록들 각각에 대응하는 가중치(240)를 곱함으로써, 제3 특징 정보(635)를 획득할 수 있다. 예를 들어, 가중치 적용부(630)는 제2 특징 정보(625)에 포함된 제1 블록(B1)에 대응하는 특징 정보(f1)에 제1 가중치(a1)를 곱하고, 제2 특징 정보(625)에 포함된 제2 블록(B2)에 대응하는 특징 정보(f2)에 제2 가중치(a2)를 곱하고, 제2 특징 정보(625)에 포함된 제3 블록(B3)에 대응하는 특징 정보(f3)에 제3 가중치를 곱하며, 제2 특징 정보(625)에 포함된 제4 블록(B4)에 대응하는 특징 정보(f4)에 제4 가중치(a4)를 곱함으로써, 제3 특징 정보(635)를 획득할 수 있다.The
도 7을 참조하면, 일 실시예에 따른 제3 특징 정보(635)는 제3 컨볼루션부(640)로 입력될 수 있다.Referring to FIG. 7 , third
일 실시예에 따른 제3 컨볼루션부(640)는 하나 이상의 컨볼루션 레이어들을 포함할 수 있다. 예를 들어, 제3 컨볼루션부(640)가 복수의 컨볼루션 레이어들을 포함하는 경우, 복수의 컨볼루션 레이어들은 연속적으로 위치할 수 있다. 복수의 컨볼루션 레이어들 각각은 이전 레이어로부터 출력된 값들을 입력 받고, 해당 레이어에서 컨볼루션 연산을 수행하여, 결과 값들을 획득하며, 획득된 결과 값들을 다음 레이어로 출력하는 구조를 가질 수 있다.The
본 개시의 실시예에서는 설명의 편의를 위해, 제3 컨볼루션부(640)가 하나의 컨볼루션 레이어를 포함하는 것으로 설명하나, 이에 한정되지 않는다.In the embodiment of the present disclosure, for convenience of description, it is described that the
도 7을 참조하면, 제3 컨볼루션부(640)는 가중치가 적용된 제3 특징 정보(635)와 제4 커널의 컨볼루션 연산을 수행하여, 제4 특징 정보를 추출할 수 있다.Referring to FIG. 7 , the
제4 특징 정보는 퀄리티 연산부(650)로 입력될 수 있으며, 퀄리티 연산부(650)는 제4 특징 정보를 1차원 벡터(710)로 변환할 수 있다. 예를 들어, 퀄리티 연산부(650)는 제4 특징 정보에 포함된 값들을 1차원으로 연결하는(fully connected) 동작을 통해, 제4 특징 정보를 1차원 벡터(710)로 변환할 수 있으나, 이에 한정되지 않는다.The fourth characteristic information may be input to the
퀄리티 연산부(650)는 변환된 벡터 및 선형 분류 모델을 이용하여, 제1 영상(10)에 대한 퀄리티 정보를 획득할 수 있다. 예를 들어, 일 실시예에 따른 선형 분류 모델은 벡터를 입력 받아, 복수의 퀄리티 팩터들 각각에 대한 확률 값들(720)을 계산하는 모델일 수 있으며, 다음의 수학식 2로 나타낼 수 있다.The
수학식 2에서, f는 복수의 퀄리티 팩터들 각각에 대한 확률 값들을 나타내며, W는 선형 분류 모델의 가중치 행렬을 나타내고, b는 선형 분류 모델의 바이어스 벡터를 나타내며, x는 선형 분류 모델에 입력되는 벡터를 나타낸다. 퀄리티 연산부(650)는 복수의 퀄리티 팩터들 각각에 대한 확률 값들 중 가장 큰 값에 대응하는 퀄리티 팩터를 제1 영상(10)에 대한 퀄리티 정보로 획득할 수 있다.In
도 8은 다른 실시예에 따른 퀄리티 연산부의 동작을 나타내는 도면이다. 8 is a diagram illustrating an operation of a quality calculator according to another exemplary embodiment.
도 8을 참조하면, 제3 컨볼루션부(640)는 가중치가 적용된 제3 특징 정보(635)와 제4 커널과의 컨볼루션 연산을 수행하여, 제4 특징 정보를 추출할 수 있다. 이에 대해서는, 도 7에서 자세히 설명하였으므로 구체적인 설명은 생략하기로 한다.Referring to FIG. 8 , the
제4 특징 정보는 퀄리티 연산부(650)로 입력될 수 있으며, 퀄리티 연산부(650)는 제4 특징 정보에 풀링(pooling, 810)을 수행할 수 있다. 풀링(810)은 제4 특징 정보에서 복수의 픽셀들을 종합하여, 특징을 나타낼 수 있는 하나의 픽셀을 생성하는 것을 의미한다. 이때, 복수의 픽셀들을 종합하는 방법으로, 최대값을 취하는 방식(Max pooling) 또는, 평균값을 취하는 방식(Average pooling)을 이용할 수 있다. 이때, 특징 정보의 하나의 채널에서 하나의 평균값을 취하는 방식을 Global Average Pooling(GAP)이라 하며, 퀄리티 연산부(650)는 GAP를 수행함으로써, 1차원 벡터(820)를 생성할 수 있다.The fourth characteristic information may be input to the
퀄리티 연산부(650)는 생성된 1차원 벡터(820)와 퀄리티 팩터들 각각에 대응하는 특징 벡터와의 유사도에 기초하여, 제1 영상(10)의 퀄리티 정보를 결정할 수 있다. 예를 들어, 복수의 퀄리티 팩터들 각각에 대응하는 특징 벡터는 미리 저장될 수 있다. 이때, 복수의 퀄리티 팩터들 각각에 대응하는 특징 벡터는, 해당 퀄리티 팩터를 가지는 압축 영상으로부터 추출될 수 있으나, 이에 한정되는 것은 아니다.The
퀄리티 연산부(650)는 제1 퀄리티 팩터에 대응하는 제1 특징 벡터(c1), 제2 퀄리티 팩터에 대응하는 제2 특징 벡터(c2), 제3 퀄리티 팩터에 대응하는 제3 특징 벡터(c3)들 각각과 GAP를 통해 생성된 1차원 벡터(820) 사이의 거리들(d1, d2, d3)를 계산할 수 있다. 퀄리티 연산부(650)는 1차원 벡터(820)와 가장 가까운 거리(d1)를 가지는 제1 특징 벡터(c1)에 대응하는 제1 퀄리티 팩터를 제1 영상(10)의 퀄리티 정보로 결정할 수 있다. 다만, 이에 한정되지 않는다.The
도 9는 일 실시예에 따른 영상 처리 장치의 동작 방법을 나타내는 흐름도이다.9 is a flowchart illustrating a method of operating an image processing apparatus according to an exemplary embodiment.
도 9를 참조하면, 일 실시예에 따른 영상 처리 장치(100)는 제1 영상을 기 설정된 크기를 가지는 블록 단위로, 주파수 도메인으로 변환하여, 제1 주파수 계수 정보를 획득할 수 있다(S910).Referring to FIG. 9 , the
예를 들어, 영상 처리 장치(100)는 기 설정된 크기(N x N)를 가지는 DCT 기저 함수를 이용하여, DCT 변환을 수행함으로써, 제1 주파수 계수 정보를 획득할 수 있다. 다만, 이에 한정되지 않는다. 이때, 제1 주파수 계수 정보는 기 설정된 크기(N x N)를 가지는 복수의 블록들로 분할될 수 있으며, 복수의 블록들 각각에서 동일한 위치의 계수 정보는, 동일한 주파수에 대응하는 계수 정보일 수 있다.For example, the
일 실시예에 따른 영상 처리 장치(100)는 제1 주파수 계수 정보와 제1 커널과의 상관관계 정보를 획득할 수 있다(S920).The
영상 처리 장치(100)는 제1 주파수 계수 정보에 상응하는 적어도 하나의 블록과 제1 커널과의 연산을 수행함으로써, 기 설정된 크기(N x N)를 가지는 블록 단위로 적어도 하나의 블록과 제1 커널과의 상관관계를 나타내는 상관관계 정보를 획득할 수 있다. 예를 들어, 영상 처리 장치(100)는 복수의 블록들 중 제1 블록과 제1 커널과의 요소별 곱 연산을 수행한 후, 요소별 곱 연산이 수행된 값들을 합산함으로써, 제1 블록에 대한 상관관계 정보를 획득할 수 있으며, 나머지 블록들에 대해서도 제1 블록과 동일한 방법으로 상관관계 정보를 획득할 수 있다.The
또는, 영상 처리 장치(100)는 제1 주파수 계수 정보와 제1 커널과의 컨볼루션 연산을 수행함으로써, 상관관계 정보를 획득할 수도 있다.Alternatively, the
일 실시예에 따른 영상 처리 장치(100)는 상관관계 정보에 기초하여, 블록들 각각에 대응하는 가중치를 생성할 수 있다(S930).The
예를 들어, 영상 처리 장치(100)는 920 단계(S920)에서 획득한 상관관계 정보와 제2 커널과의 컨볼루션 연산을 통해 제1 특징 정보를 추출할 수 있다. 제1 특징 정보를 추출하는 방법에 대해서는 도 4 및 도 5에서 자세히 설명하였으므로, 구체적인 설명은 생략하기로 한다.For example, the
영상 처리 장치(100)는 제1 특징 정보에 활성화 함수 연산을 수행함으로써, 블록들 각각에 대응하는 가중치를 생성할 수 있다. 이때, 가중치는 0 이상 1 미만의 값으로 나타날 수 있으나, 이에 한정되는 것은 아니다.The
일 실시예에 따른 영상 처리 장치(100)는 제1 주파수 계수 정보를 재배열하여, 제2 주파수 계수 정보를 생성할 수 있다(S940).The
예를 들어, 영상 처리 장치(100)는 제1 주파수 계수 정보에 포함되는 계수들을 동일한 주파수에 대응하는 계수들 끼리 동일한 그룹(채널)으로 재배열함으로써, 제2 주파수 계수 정보를 생성할 수 있다. 이때, 제1 주파수 계수 정보에 상응하는 복수의 블록들 각각에서 동일한 위치의 계수 정보는, 동일한 주파수에 대응하는 계수 정보이므로, 영상 처리 장치(100)는 제1 주파수 계수 정보에 상응하는 복수의 블록들 각각에서 동일한 위치의 계수 정보를 동일한 그룹(채널)으로 재배열하여, 제2 주파수 계수 정보를 생성할 수 있다. 이에 따라, 제2 주파수 계수 정보의 채널 수는 블록의 크기(N x N)에 기초하여, 결정되며, N2개의 채널을 포함하게 된다.For example, the
일 실시예에 따른 영상 처리 장치(100)는 930 단계(S930)에서 생성된 가중치와 940 단계(S940)에서 생성된 제2 주파수 계수 정보에 기초하여, 제1 영상에 대한 퀄리티 정보를 획득할 수 있다(S950).The
영상 처리 장치(100)는 제2 주파수 계수 정보와 제3 커널과의 컨볼루션 연산을 수행함으로써, 제2 특징 정보를 추출할 수 있다. 영상 처리 장치(100)는 제2 특징 정보에 가중치를 적용하여, 제3 특징 정보를 획득할 수 있다. 예를 들어, 영상 처리 장치(100)는 제2 특징 정보에 포함된 블록들 각각에 대응하는 특징 정보와 블록들 각각에 대응하는 가중치를 곱함으로써, 제3 특징 정보를 획득할 수 있다.The
영상 처리 장치(100)는 제3 특징 정보와 제4 커널과의 컨볼루션 연산을 수행함으로써, 제4 특징 정보를 추출할 수 있다. The
영상 처리 장치(100)는 제4 특징 정보를 1차원 벡터로 변환할 수 있다. 예를 들어, 제4 특징 정보에 포함된 값들을 1차원으로 연결하는 동작을 통해, 제4 특징 정보를 1차원 벡터로 변환할 수 있으나, 이에 한정되지 않는다. 영상 처리 장치(100)는 1차원 벡터와, 1차원 벡터를 입력 받아 복수의 퀄리티 팩터들 각각에 대한 확률 값들을 계산하는 선형 분류 모델을 이용하여, 제1 영상에 대한 퀄리티 정보를 획득할 수 있다. 예를 들어, 영상 처리 장치(100)는 선형 분류 모델에서 출력된 확률 값들 중 가장 큰 확률 값을 가지는 퀄리티 팩터를 제1 영상에 대한 퀄리티 정보로 결정할 수 있다.The
또는, 영상 처리 장치(100)는 제4 특징 정보에 풀링을 수행하여, 1차원 벡터를 생성할 수 있다. 영상 처리 장치(100)는 1차원 벡터와 복수의 퀄리티 팩터들 각각에 대응하는 특징 벡터와의 유사도에 기초하여, 가장 유사한 특징 벡터에 대응하는 퀄리티 팩터를 제1 영상에 대한 퀄리티 정보로 결정할 수 있다.Alternatively, the
도 10은 일 실시예에 따른 영상 처리 장치의 구성을 나타내는 블록도이다.10 is a block diagram illustrating a configuration of an image processing apparatus according to an exemplary embodiment.
도 10을 참조하면, 일 실시예에 따른 영상 처리 장치(100)는 프로세서(120) 및 메모리(130)를 포함할 수 있다.Referring to FIG. 10 , the
일 실시예에 따른 프로세서(120)는 영상 처리 장치(100)를 전반적으로 제어할 수 있다. 일 실시예에 따른 프로세서(120)는 메모리(130)에 저장되는 하나 이상의 프로그램들을 실행할 수 있다.The
일 실시예에 따른 메모리(130)는 영상 처리 장치(100)를 구동하고 제어하기 위한 다양한 데이터, 프로그램 또는 어플리케이션을 저장할 수 있다. 메모리(130)에 저장되는 프로그램은 하나 이상의 인스트럭션들을 포함할 수 있다. 메모리(130)에 저장된 프로그램(하나 이상의 인스트럭션들) 또는 어플리케이션은 프로세서(120)에 의해 실행될 수 있다.The
일 실시예에 따른 프로세서(120)는 CPU(Cetral Processing Unit), GPU (Graphic Processing Unit) 및 VPU(Video Processing Unit) 중 적어도 하나를 포함할 수 있다. 또는, 실시예에 따라, CPU, GPU 및 VPU 중 적어도 하나를 통합한 SoC(System On Chip) 형태로 구현될 수 있다. 또는, 프로세서(120)는 NPU(Neural Processing Unit)를 더 포함할 수 있다.The
일 실시예에 따른 프로세서(120)는 영상 처리 네트워크(30)를 이용하여, 영상의 퀄리티 정보를 획득할 수 있다. 예를 들어, 프로세서(120)는 도 2 내지 도 8에서 도시하고 설명한 제1 연산부(210), 제1 컨볼루션부(220), 활성화 연산부(230), 재배열부(610), 제2 컨볼루션부(620), 가중치 적용부(630), 제3 컨볼루션부(640) 및 퀄리티 연산부(650) 의 동작들 중 적어도 하나를 수행할 수 있다.The
프로세서(120)는 제1 영상을 기 설정된 크기를 가지는 블록 단위로, 주파수 도메인으로 변환하여, 제1 주파수 계수 정보를 획득할 수 있다. 예를 들어, 프로세서(120)는 기 설정된 크기(N x N)를 가지는 DCT 기저 함수를 이용하여, DCT 변환을 수행함으로써, 제1 주파수 계수 정보를 획득할 수 있다. 다만, 이에 한정되지 않는다. 이때, 제1 주파수 계수 정보는 기 설정된 크기(N x N)를 가지는 복수의 블록들로 분할될 수 있으며, 복수의 블록들 각각에서 동일한 위치의 계수 정보는, 동일한 주파수에 대응하는 계수 정보일 수 있다.The
프로세서(120)는 제1 주파수 계수 정보와 제1 커널과의 상관관계 정보를 획득할 수 있다. 프로세서(120)는 제1 주파수 계수 정보에 상응하는 적어도 하나의 블록과 제1 커널과의 연산을 수행함으로써, 기 설정된 크기(N x N)를 가지는 블록 단위로, 적어도 하나의 블록과 제1 커널과의 상관관계를 나타내는 상관관계 정보를 획득할 수 있다. 예를 들어, 프로세서(120)는 복수의 블록들 중 제1 블록과 제1 커널과의 요소별 곱 연산을 수행한 후, 요소별 곱 연산이 수행된 값들을 합산함으로써, 제1 블록에 대한 상관관계 정보를 획득할 수 있으며, 나머지 블록들에 대해서도 제1 블록과 동일한 방법으로 상관관계 정보를 획득할 수 있다.The
또는, 영상 처리 장치(100)는 제1 주파수 계수 정보와 제1 커널과의 컨볼루션 연산을 수행함으로써, 상관관계 정보를 획득할 수도 있다. 상관관계 정보를 획득하는 방법에 대해서는 도 2를 참조하여 자세히 설명하였으므로 구체적인 설명은 생략하기로 한다.Alternatively, the
프로세서(120)는 상관관계 정보에 기초하여, 블록들 각각에 대응하는 가중치를 생성할 수 있다. 예를 들어, 프로세서(120)는 상관관계 정보와 제2 커널과의 컨볼루션 연산을 통해 제1 특징 정보를 추출할 수 있다. 제1 특징 정보를 추출하는 방법에 대해서는 도 4 및 도 5에서 자세히 설명하였으므로, 구체적인 설명은 생략하기로 한다. 프로세서(120)는 제1 특징 정보에 활성화 함수 연산을 수행함으로써, 블록들 각각에 대응하는 가중치를 생성할 수 있다. 이때, 가중치는 0 이상 1 미만의 값으로 나타날 수 있으나, 이에 한정되는 것은 아니다.The
프로세서(120)는 제1 주파수 계수 정보를 재배열하여, 제2 주파수 계수 정보를 생성할 수 있다. 예를 들어, 프로세서(120)는 제1 주파수 계수 정보에 포함되는 계수들을 동일한 주파수에 대응하는 계수들 끼리 동일한 그룹(채널)으로 재배열함으로써, 제2 주파수 계수 정보를 생성할 수 있다. 이때, 제1 주파수 계수 정보에 상응하는 복수의 블록들 각각에서 동일한 위치의 계수 정보는, 동일한 주파수에 대응하는 계수 정보이므로, 프로세서(120)는 제1 주파수 계수 정보에 상응하는 복수의 블록들 각각에서 동일한 위치의 계수 정보를 동일한 그룹(채널)으로 재배열하여, 제2 주파수 계수 정보를 생성할 수 있다. 이에 따라, 제2 주파수 계수 정보의 채널 수는 블록의 크기(N x N)에 기초하여, 결정되며, N2개의 채널을 포함하게 된다.The
프로세서(120)는 가중치와 제2 주파수 계수 정보에 기초하여, 제1 영상에 대한 퀄리티 정보를 획득할 수 있다.The
예를 들어, 프로세서(120)는 제2 주파수 계수 정보와 제3 커널과의 컨볼루션 연산을 수행함으로써, 제2 특징 정보를 추출할 수 있다. 프로세서(120)는 제2 특징 정보에 가중치를 적용하여, 제3 특징 정보를 획득할 수 있다. 예를 들어, 프로세서(120)는 제2 특징 정보에 포함된 블록들 각각에 대응하는 특징 정보와 블록들 각각에 대응하는 가중치를 곱함으로써, 제3 특징 정보를 획득할 수 있다.For example, the
프로세서(120)는 제3 특징 정보와 제4 커널과의 컨볼루션 연산을 수행함으로써, 제4 특징 정보를 추출할 수 있다. The
프로세서(120)는 제4 특징 정보를 1차원 벡터로 변환할 수 있다. 예를 들어, 제4 특징 정보에 포함된 값들을 1차원으로 연결하는 동작을 통해, 제4 특징 정보를 1차원 벡터로 변환할 수 있으나, 이에 한정되지 않는다. 프로세서(120)는 1차원 벡터와, 1차원 벡터를 입력 받아 복수의 퀄리티 팩터들 각각에 대한 확률 값들을 계산하는 선형 분류 모델을 이용하여, 제1 영상에 대한 퀄리티 정보를 획득할 수 있다. 예를 들어, 프로세서(120)는 선형 분류 모델에서 출력된 확률 값들 중 가장 큰 확률 값을 가지는 퀄리티 팩터를 제1 영상에 대한 퀄리티 정보로 결정할 수 있다.The
또는, 프로세서(120)는 제4 특징 정보에 풀링을 수행하여, 1차원 벡터를 생성할 수 있다. 프로세서(120)는 1차원 벡터와 복수의 퀄리티 팩터들 각각에 대응하는 특징 벡터와의 유사도에 기초하여, 가장 유사한 특징 벡터에 대응하는 퀄리티 팩터를 제1 영상에 대한 퀄리티 정보로 결정할 수 있다.Alternatively, the
한편, 일 실시예에 따른 영상 처리 네트워크(30), 가중치 추출 네트워크(200), 및 퀄리티 추정 네트워크(300) 중 적어도 하나는, 서버 또는 외부 장치에 의해 훈련된 네트워크일 수 있다. 서버 또는 외부 장치는 훈련 데이터에 기초하여, 영상 처리 네트워크(30), 가중치 추출 네트워크(200), 및 퀄리티 추정 네트워크(300) 적어도 하나를 훈련시킬 수 있다. 예를 들어, 서버 또는 외부 장치는 영상을 주파수 도메인으로 변환하여 획득한 주파수 계수 정보와 해당 영상에 대한 퀄리티 정보를 포함하는 복수의 데이터 세트들을 이용하여, 영상 처리 네트워크(30)를 훈련시킬 수 있다.Meanwhile, at least one of the
서버 또는 외부 장치는 훈련을 통하여, 영상 처리 네트워크(30)에 포함된 복수의 컨볼루션 레이어들 각각에서 이용되는 커널들에 포함되는 파라미터 값들을 결정할 수 있다. 예를 들어, 서버 또는 외부 장치는 영상 처리 네트워크(30)에 의해 생성된 퀄리티 정보와 훈련 데이터에 포함된 영상에 대한 퀄리티 정보의 차이(손실 정보)를 최소화하는 방향으로 파라미터 값들을 결정할 수 있다.The server or external device may determine parameter values included in kernels used in each of a plurality of convolutional layers included in the
일 실시예에 따른 영상 처리 장치(100)는 서버 또는 외부 장치로부터 훈련이 완료된 영상 처리 네트워크(30)를 수신하여, 메모리(130)에 저장할 수 있다. 예를 들어, 메모리(130)는 일 실시예에 따른 영상 처리 네트워크(30)의 구조 및 파라미터 값들을 저장할 수 있으며, 프로세서(120)는 메모리(130)에 저장된 파라미터 값들을 이용하여, 일 실시예에 따른 제1 영상으로부터 노이즈는 제거되면서, 엣지 특성은 보존되는 제2 영상을 생성할 수 있다.The
한편, 도 10에 도시된 영상 처리 장치(100)의 블록도는 일 실시예를 위한 블록도이다. 블록도의 각 구성요소는 실제 구현되는 영상 처리 장치(100)의 사양에 따라 통합, 추가, 또는 생략될 수 있다. 즉, 필요에 따라 2 이상의 구성요소가 하나의 구성요소로 합쳐지거나, 혹은 하나의 구성요소가 2 이상의 구성요소로 세분되어 구성될 수 있다. 또한, 각 블록에서 수행하는 기능은 실시예들을 설명하기 위한 것이며, 그 구체적인 동작이나 장치는 본 발명의 권리범위를 제한하지 아니한다.Meanwhile, a block diagram of the
일 실시예에 따른 영상 처리 장치의 동작방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.The method of operating an image processing apparatus according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
또한, 개시된 실시예들에 따른 영상 처리 장치 및 영상 처리 장치의 동작방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다.Also, the image processing apparatus and the method of operating the image processing apparatus according to the disclosed embodiments may be included in a computer program product and provided. Computer program products may be traded between sellers and buyers as commodities.
컴퓨터 프로그램 제품은 S/W 프로그램, S/W 프로그램이 저장된 컴퓨터로 읽을 수 있는 저장 매체를 포함할 수 있다. 예를 들어, 컴퓨터 프로그램 제품은 전자 장치의 제조사 또는 전자 마켓(예, 구글 플레이 스토어, 앱 스토어)을 통해 전자적으로 배포되는 S/W 프로그램 형태의 상품(예, 다운로더블 앱)을 포함할 수 있다. 전자적 배포를 위하여, S/W 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사의 서버, 전자 마켓의 서버, 또는 SW 프로그램을 임시적으로 저장하는 중계 서버의 저장매체가 될 수 있다.The computer program product may include a S/W program and a computer-readable storage medium in which the S/W program is stored. For example, computer program products may include products (eg, downloadable apps) in the form of S/W programs distributed electronically through manufacturers of electronic devices or electronic markets (eg, Google Play Store, App Store). have. For electronic distribution, at least a portion of the S/W program may be stored in a storage medium or may be temporarily generated. In this case, the storage medium may be a server of a manufacturer, a server of an electronic market, or a storage medium of a relay server temporarily storing a SW program.
컴퓨터 프로그램 제품은, 서버 및 클라이언트 장치로 구성되는 시스템에서, 서버의 저장매체 또는 클라이언트 장치의 저장매체를 포함할 수 있다. 또는, 서버 또는 클라이언트 장치와 통신 연결되는 제3 장치(예, 스마트폰)가 존재하는 경우, 컴퓨터 프로그램 제품은 제3 장치의 저장매체를 포함할 수 있다. 또는, 컴퓨터 프로그램 제품은 서버로부터 클라이언트 장치 또는 제3 장치로 전송되거나, 제3 장치로부터 클라이언트 장치로 전송되는 S/W 프로그램 자체를 포함할 수 있다.The computer program product, in a system consisting of a server and a client device, may include a storage medium of the server or a storage medium of the client device. Alternatively, when there is a third device (eg, a smart phone) that is communicatively connected to the server or the client device, the computer program product may include a storage medium of the third device. Alternatively, the computer program product may include the S/W program itself transmitted from the server to the client device or the third device, or transmitted from the third device to the client device.
이 경우, 서버, 클라이언트 장치 및 제3 장치 중 하나가 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수 있다. 또는, 서버, 클라이언트 장치 및 제3 장치 중 둘 이상이 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 분산하여 실시할 수 있다.In this case, one of the server, the client device and the third device may execute the computer program product to perform the method according to the disclosed embodiments. Alternatively, two or more of a server, a client device, and a third device may execute a computer program product to distribute the method according to the disclosed embodiments.
예를 들면, 서버(예로, 클라우드 서버 또는 인공 지능 서버 등)가 서버에 저장된 컴퓨터 프로그램 제품을 실행하여, 서버와 통신 연결된 클라이언트 장치가 개시된 실시예들에 따른 방법을 수행하도록 제어할 수 있다.For example, a server (eg, a cloud server or an artificial intelligence server) may execute a computer program product stored in the server to control a client device communicatively connected with the server to perform the method according to the disclosed embodiments.
이상에서 실시예들에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.Although the embodiments have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements by those skilled in the art using the basic concept of the present invention as defined in the following claims are also included in the scope of the present invention. belongs to
Claims (23)
하나 이상의 인스트럭션들을 저장하는 메모리; 및
상기 메모리에 저장된 상기 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함하고,
상기 프로세서는,
제1 영상을, 기 설정된 크기를 가지는 블록 단위로, 주파수 도메인(frequency domain)으로 변환하여, 제1 주파수 계수(frequency coefficient) 정보를 획득하고,
상기 제1 주파수 계수 정보에 상응하는 적어도 하나의 블록과 제1 커널과의 상관관계를 나타내는 상관관계(correlation) 정보를, 상기 기 설정된 크기를 가지는 블록 단위로, 획득하며,
상기 상관관계 정보에 기초하여, 상기 제1 주파수 계수 정보에 대응하는 가중치를, 상기 기 설정된 크기를 가지는 블록 단위로, 생성하고,
상기 제1 주파수 계수 정보에 포함되는 계수들을 동일한 주파수에 대응하는 계수들 끼리 동일한 그룹으로 재배열한 제2 주파수 계수 정보를 생성하고,
상기 가중치 및 상기 제2 주파수 계수 정보에 기초하여, 상기 제1 영상에 대한 퀄리티 정보를 획득하는, 영상 처리 장치.In the image processing apparatus,
a memory storing one or more instructions; and
a processor executing the one or more instructions stored in the memory;
The processor is
The first image is converted into a frequency domain in units of blocks having a preset size to obtain first frequency coefficient information,
Obtaining correlation information indicating a correlation between at least one block corresponding to the first frequency coefficient information and a first kernel, in units of blocks having the preset size,
Based on the correlation information, a weight corresponding to the first frequency coefficient information is generated in units of blocks having the preset size,
generating second frequency coefficient information in which coefficients included in the first frequency coefficient information are rearranged into the same group among coefficients corresponding to the same frequency;
and obtaining quality information on the first image based on the weight and the second frequency coefficient information.
상기 가중치는 상기 적어도 하나의 블록이 나타내는 퀄리티 정보의 신뢰도를 나타내는, 영상 처리 장치.According to claim 1,
The weight indicates reliability of the quality information indicated by the at least one block.
상기 제1 영상은 YCbCr 색 공간을 가지는 영상이며,
상기 프로세서는,
RGB 색 공간을 가지는 제2 영상의 색 공간 변환을 수행함으로써, 상기 제1 영상을 획득하는, 영상 처리 장치.According to claim 1,
The first image is an image having a YCbCr color space,
The processor is
The image processing apparatus of claim 1, wherein the first image is obtained by performing color space conversion of a second image having an RGB color space.
상기 제1 커널은 상기 기 설정된 크기를 가지며,
상기 프로세서는,
상기 제1 주파수 계수 정보를, 상기 블록 단위로, 상기 제1 커널과의 요소별 곱(elementwise multiplication) 연산을 수행하고, 상기 요소별 곱 연산이 수행된 값들을 합산함으로써, 상기 블록 단위로 상기 상관관계 정보를 획득하는, 영상 처리 장치.According to claim 1,
The first kernel has the preset size,
The processor is
By performing an elementwise multiplication operation on the first frequency coefficient information with the first kernel on a block-by-block basis, and summing the values on which the elementwise multiplication operation has been performed, the correlation is performed on a block-by-block basis. An image processing apparatus for obtaining relationship information.
상기 제1 커널은,
상기 기 설정된 크기를 가지는 M개의 커널들을 포함하며,
상기 프로세서는,
상기 제1 주파수 계수 정보를, 상기 블록 단위로, 상기 M개의 커널들 각각과의 연산을 수행하여, 상기 상관관계 정보를 획득하며,
상기 상관관계 정보의 채널 수는 M개인, 영상 처리 장치. According to claim 1,
The first kernel is
It includes M kernels having the preset size,
The processor is
Obtaining the correlation information by performing an operation on the first frequency coefficient information with each of the M kernels on a block-by-block basis,
The number of channels of the correlation information is M, an image processing apparatus.
상기 프로세서는,
상기 제1 주파수 계수 정보와 제1 커널과의 컨볼루션 연산을 수행함으로써, 상기 상관관계 정보를 획득하는 영상 처리 장치.According to claim 1,
The processor is
An image processing apparatus for obtaining the correlation information by performing a convolution operation between the first frequency coefficient information and a first kernel.
상기 프로세서는,
상기 상관관계 정보와 제2 커널과의 컨볼루션 연산을 수행하여, 제1 특징 정보를 획득하고, 상기 제1 특징 정보에 기초하여, 상기 가중치를 생성하는, 영상 처리 장치.According to claim 1,
The processor is
An image processing apparatus for obtaining first characteristic information by performing a convolution operation between the correlation information and a second kernel, and generating the weight based on the first characteristic information.
상기 프로세서는,
상기 제2 주파수 계수 정보와 제3 커널과의 컨볼루션 연산을 수행하여, 상기 제2 특징 정보를 획득하고,
상기 제2 특징 정보에 상기 가중치를 적용하여, 제3 특징 정보를 생성하고, 상기 제3 특징 정보에 기초하여, 상기 제1 영상에 대한 퀄리티 정보를 획득하는, 영상 처리 장치.According to claim 1,
The processor is
performing a convolution operation between the second frequency coefficient information and a third kernel to obtain the second characteristic information,
An image processing apparatus for generating third characteristic information by applying the weight to the second characteristic information, and obtaining quality information on the first image based on the third characteristic information.
상기 프로세서는,
상기 제3 특징 정보를 1차원 벡터로 변환하고,
상기 1차원 벡터 및 선형 분류 모델을 이용하여, 상기 퀄리티 정보를 획득하는, 영상 처리 장치.9. The method of claim 8,
The processor is
converting the third characteristic information into a one-dimensional vector,
An image processing apparatus for obtaining the quality information by using the one-dimensional vector and the linear classification model.
상기 퀄리티 정보는, 상기 제1 영상에 대한 퀄리티 팩터를 포함하며,
상기 선형 분류 모델은, 상기 벡터를 입력으로 받아, 복수의 퀄리티 팩터들에 대한 확률 값들을 출력하는 모델이고,
상기 프로세서는,
상기 복수의 퀄리티 팩터들 중 가장 큰 확률 값을 가지는 퀄리티 팩터를 상기 퀄리티 정보로 획득하는, 영상 처리 장치.10. The method of claim 9,
The quality information includes a quality factor for the first image,
The linear classification model is a model that receives the vector as an input and outputs probability values for a plurality of quality factors,
The processor is
An image processing apparatus for obtaining, as the quality information, a quality factor having a largest probability value among the plurality of quality factors.
상기 프로세서는,
상기 제3 특징 정보에 풀링(pooling)을 수행하여, 상기 제3 특징 정보를 1차원 특징 벡터로 변환하고,
상기 특징 벡터와 복수의 퀄리티 팩터들 각각에 대응하는 특징 벡터와의 유사도에 기초하여, 상기 복수의 퀄리티 팩터들 중 상기 특징 벡터와 가장 유사한 특징 벡터를 가지는 퀄리티 팩터를 상기 퀄리티 정보로 획득하는, 영상 처리 장치.9. The method of claim 8,
The processor is
performing pooling on the third feature information to convert the third feature information into a one-dimensional feature vector;
An image of obtaining, as the quality information, a quality factor having a feature vector most similar to the feature vector among the plurality of quality factors based on a similarity between the feature vector and a feature vector corresponding to each of the plurality of quality factors processing unit.
제1 영상을, 기 설정된 크기를 가지는 블록 단위로, 주파수 도메인(frequency domain)으로 변환하여, 제1 주파수 계수(frequency coefficient) 정보를 획득하는 단계;
상기 제1 주파수 계수 정보에 상응하는 적어도 하나의 블록과 제1 커널과의 상관관계를 나타내는 상관관계(correlation) 정보를, 상기 기 설정된 크기를 가지는 블록 단위로 획득하는 단계;
상기 상관관계 정보에 기초하여, 상기 제1 주파수 계수 정보에 대응하는 가중치를, 상기 기 설정된 크기를 가지는 블록 단위로, 생성하는 단계;
상기 제1 주파수 계수 정보에 포함되는 계수들을 동일한 주파수에 대응하는 계수들 끼리 동일한 그룹으로 재배열한 제2 주파수 계수 정보를 생성하는 단계; 및
상기 가중치 및 상기 제2 주파수 계수 정보에 기초하여, 상기 제1 영상에 대한 퀄리티 정보를 획득하는 단계를 포함하는, 영상 처리 장치의 동작 방법.A method of operating an image processing apparatus, comprising:
obtaining first frequency coefficient information by transforming the first image into a frequency domain in units of blocks having a preset size;
acquiring correlation information indicating a correlation between at least one block corresponding to the first frequency coefficient information and a first kernel in units of blocks having the preset size;
generating, in units of blocks having the preset size, a weight corresponding to the first frequency coefficient information, based on the correlation information;
generating second frequency coefficient information in which coefficients included in the first frequency coefficient information are rearranged into the same group among coefficients corresponding to the same frequency; and
and obtaining quality information on the first image based on the weight and the second frequency coefficient information.
상기 가중치는 상기 적어도 하나의 블록이 나타내는 퀄리티 정보의 신뢰도를 나타내는, 영상 처리 장치의 동작 방법.13. The method of claim 12,
The method of operating an image processing apparatus, wherein the weight represents reliability of the quality information indicated by the at least one block.
상기 제1 영상은 YCbCr 색 공간을 가지는 영상이며,
상기 동작 방법은,
RGB 색 공간을 가지는 제2 영상의 색 공간 변환을 수행함으로써, 상기 제1 영상을 획득하는 단계를 더 포함하는, 영상 처리 장치의 동작 방법.13. The method of claim 12,
The first image is an image having a YCbCr color space,
The method of operation is
The method of claim 1, further comprising obtaining the first image by performing color space conversion of a second image having an RGB color space.
상기 제1 커널은 상기 기 설정된 크기를 가지며,
상기 상관관계 정보를 획득하는 단계는,
상기 제1 주파수 계수 정보를, 상기 블록 단위로, 상기 제1 커널과의 요소별 곱(elementwise multiplication) 연산을 수행하고, 상기 요소별 곱 연산이 수행된 값들을 합산함으로써, 상기 블록 단위로 상기 상관관계 정보를 획득하는 단계를 포함하는, 영상 처리 장치의 동작 방법.13. The method of claim 12,
The first kernel has the preset size,
The step of obtaining the correlation information comprises:
By performing an elementwise multiplication operation on the first frequency coefficient information with the first kernel on a block-by-block basis, and summing the values on which the elementwise multiplication operation has been performed, the correlation is performed on a block-by-block basis. A method of operating an image processing apparatus, comprising the step of obtaining relationship information.
상기 제1 커널은,
상기 기 설정된 크기를 가지는 M개의 커널들을 포함하며,
상기 상관관계 정보를 획득하는 단계는,
상기 제1 주파수 계수 정보를, 상기 블록 단위로, 상기 M개의 커널들 각각과의 연산을 수행하여, 상기 상관관계 정보를 획득하는 단계를 포함하고,
상기 상관관계 정보의 채널 수는 M개인, 영상 처리 장치의 동작 방법. 13. The method of claim 12,
The first kernel is
It includes M kernels having the preset size,
The step of obtaining the correlation information comprises:
obtaining the correlation information by performing an operation on the first frequency coefficient information with each of the M kernels on a block-by-block basis,
The number of channels of the correlation information is M, the method of operating an image processing apparatus.
상기 상관관계 정보를 획득하는 단계는,
상기 제1 주파수 계수 정보와 제1 커널과의 컨볼루션 연산을 수행함으로써, 상기 상관관계 정보를 획득하는 단계를 포함하는, 영상 처리 장치의 동작 방법.13. The method of claim 12,
The step of obtaining the correlation information comprises:
and obtaining the correlation information by performing a convolution operation between the first frequency coefficient information and a first kernel.
상기 가중치를 생성하는 단계는,
상기 상관관계 정보와 제2 커널과의 컨볼루션 연산을 수행하여, 제1 특징 정보를 획득하는 단계; 및
상기 제1 특징 정보에 기초하여, 상기 가중치를 생성하는 단계를 포함하는, 영상 처리 장치의 동작 방법.13. The method of claim 12,
The step of generating the weight includes:
obtaining first feature information by performing a convolution operation between the correlation information and a second kernel; and
and generating the weight based on the first characteristic information.
상기 퀄리티 정보를 획득하는 단계는,
상기 제2 주파수 계수 정보와 제3 커널과의 컨볼루션 연산을 수행하여, 제2 특징 정보를 획득하는 단계;
상기 제2 특징 정보에 상기 가중치를 적용하여, 제3 특징 정보를 생성하는 단계; 및
상기 제3 특징 정보에 기초하여, 상기 제1 영상에 대한 퀄리티 정보를 획득하는 단계를 포함하는, 영상 처리 장치의 동작 방법.13. The method of claim 12,
The step of obtaining the quality information includes:
obtaining second characteristic information by performing a convolution operation between the second frequency coefficient information and a third kernel;
generating third characteristic information by applying the weight to the second characteristic information; and
and obtaining quality information on the first image based on the third characteristic information.
상기 제3 특징 정보에 기초하여, 상기 퀄리티 정보를 획득하는 단계는,
상기 제3 특징 정보를 1차원 벡터로 변환하는 단계; 및
상기 1차원 벡터 및 선형 분류 모델을 이용하여, 상기 퀄리티 정보를 획득하는 단계를 포함하는, 영상 처리 장치의 동작 방법.20. The method of claim 19,
On the basis of the third characteristic information, the step of obtaining the quality information,
converting the third characteristic information into a one-dimensional vector; and
and obtaining the quality information by using the one-dimensional vector and the linear classification model.
상기 퀄리티 정보는, 상기 제1 영상에 대한 퀄리티 팩터를 포함하며,
상기 선형 분류 모델은, 상기 벡터를 입력으로 받아, 복수의 퀄리티 팩터들에 대한 확률 값들을 출력하는 모델이고,
상기 퀄리티 정보를 획득하는 단계는,
상기 복수의 퀄리티 팩터들 중 가장 큰 확률 값을 가지는 퀄리티 팩터를 상기 퀄리티 정보로 획득하는 단계를 포함하는, 영상 처리 장치의 동작 방법.21. The method of claim 20,
The quality information includes a quality factor for the first image,
The linear classification model is a model that receives the vector as an input and outputs probability values for a plurality of quality factors,
The step of obtaining the quality information includes:
and obtaining, as the quality information, a quality factor having a largest probability value among the plurality of quality factors.
상기 제3 특징 정보에 기초하여, 상기 퀄리티 정보를 획득하는 단계는,
상기 제3 특징 정보에 풀링을 수행하여, 상기 제3 특징 정보를 1차원 특징 벡터로 변환하는 단계; 및
상기 특징 벡터와 복수의 퀄리티 팩터들 각각에 대응하는 특징 벡터와의 유사도에 기초하여, 상기 복수의 퀄리티 팩터들 중 상기 특징 벡터와 가장 유사한 특징 벡터를 가지는 퀄리티 팩터를 상기 퀄리티 정보로 획득하는 단계를 포함하는, 영상 처리 장치의 동작 방법.20. The method of claim 19,
On the basis of the third characteristic information, the step of obtaining the quality information,
converting the third feature information into a one-dimensional feature vector by performing pooling on the third feature information; and
obtaining, as the quality information, a quality factor having a feature vector most similar to the feature vector among the plurality of quality factors based on the similarity between the feature vector and a feature vector corresponding to each of the plurality of quality factors Including, an operating method of an image processing apparatus.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP22763484.7A EP4276744A1 (en) | 2021-03-04 | 2022-02-11 | Image processing apparatus and operating method therefor |
PCT/KR2022/002064 WO2022186500A1 (en) | 2021-03-04 | 2022-02-11 | Image processing apparatus and operating method therefor |
US17/687,227 US20220284565A1 (en) | 2021-03-04 | 2022-03-04 | Image processing apparatus and operating method of the same |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20210029088 | 2021-03-04 | ||
KR1020210029088 | 2021-03-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220125126A true KR20220125126A (en) | 2022-09-14 |
Family
ID=83279098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210093137A KR20220125126A (en) | 2021-03-04 | 2021-07-15 | Image processing apparatus and operating method for the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20220125126A (en) |
-
2021
- 2021-07-15 KR KR1020210093137A patent/KR20220125126A/en unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11227364B2 (en) | Computer-implemented method using convolutional neural network, apparatus for generating composite image, and computer-program product | |
US11645835B2 (en) | Hypercomplex deep learning methods, architectures, and apparatus for multimodal small, medium, and large-scale data representation, analysis, and applications | |
US11586909B2 (en) | Information processing method, information processing apparatus, and computer readable storage medium | |
KR20200067631A (en) | Image processing apparatus and operating method for the same | |
US20170091613A1 (en) | Computational device, computational method, and computer program product | |
US11875257B2 (en) | Normalization method for machine-learning and apparatus thereof | |
CN112534443A (en) | Image processing apparatus and method of operating the same | |
KR102420104B1 (en) | Image processing apparatus and operating method for the same | |
KR102236582B1 (en) | Image processing apparatus and operating method for the same | |
KR101795952B1 (en) | Method and device for generating depth image of 2d image | |
KR20220125126A (en) | Image processing apparatus and operating method for the same | |
EP4276744A1 (en) | Image processing apparatus and operating method therefor | |
US20220284545A1 (en) | Image processing device and operating method thereof | |
US11347968B2 (en) | Image enhancement for realism | |
KR20210154684A (en) | Image processing apparatus and operating method for the same | |
CN111488888A (en) | Image feature extraction method and human face feature generation device | |
KR101866135B1 (en) | Device and method for generating depth information of 2d image, recording medium thereof | |
KR20220037764A (en) | Image processing apparatus and operating method for the same | |
KR20220125124A (en) | Image processing apparatus and operating method for the same | |
KR20220125127A (en) | Image processing apparatus and operating method for the same | |
CN114782684B (en) | Point cloud semantic segmentation method and device, electronic equipment and storage medium | |
Alaa et al. | A new mathematical model for contrast enhancement in digital images | |
KR20230073871A (en) | Image processing apparatus and operating method for the same | |
US20220375032A1 (en) | Image processing apparatus and operating method thereof | |
CN113516670B (en) | Feedback attention-enhanced non-mode image segmentation method and device |