KR20220125126A - Image processing apparatus and operating method for the same - Google Patents

Image processing apparatus and operating method for the same Download PDF

Info

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
Application number
KR1020210093137A
Other languages
Korean (ko)
Inventor
신하늘
강수민
안일준
송영찬
이태미
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to EP22763484.7A priority Critical patent/EP4276744A1/en
Priority to PCT/KR2022/002064 priority patent/WO2022186500A1/en
Priority to US17/687,227 priority patent/US20220284565A1/en
Publication of KR20220125126A publication Critical patent/KR20220125126A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4084Scaling of whole images or parts thereof, e.g. expanding or contracting in the transform domain, e.g. fast Fourier transform [FFT] domain scaling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • G06T2207/20052Discrete cosine transform [DCT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30168Image 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

The present invention relates to an image processing device including a memory for storing one or more instructions and a processor for executing the one or more instructions stored in the memory. The processor transforms a first image into a frequency domain in units of blocks having a preset size to obtain first frequency coefficient information; obtains 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 a preset size; based on the correlation information, generates a weight corresponding to the first frequency coefficient information in units of blocks having a preset size; generates second frequency coefficient information in which among coefficients included in the first frequency coefficient information, coefficients corresponding to the same frequency are rearranged into the same group; and based on the weight and the second frequency coefficient information, obtains quality information about the first image. It is possible to estimate image quality information.

Description

영상 처리 장치 및 그 동작 방법{Image processing apparatus and operating method for the same}Image processing apparatus and operating method for the same

다양한 실시예들은 뉴럴 네트워크를 이용하여, 영상의 퀄리티 정보를 획득하는 영상 처리 장치 및 그 동작 방법에 관한 것이다.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 image processing apparatus 100 according to an embodiment may obtain first frequency coefficient information 21 by transforming a first image 10 into a frequency domain. In this case, the first image 10 may be an image having a YCbCr color space, or an image generated by performing color space conversion on a second image having an RGB color space.

또한, 영상 처리 장치(100)는 제1 영상(10)을, 기 설정된 크기(예를 들어, N x N)를 가지는 블록 단위로, 주파수 도메인으로 변환할 수 있다. 예를 들어, 영상 처리 장치(100)는 도 1에 도시된 바와 같이, 기 설정된 크기를 가지는 DCT 기저 함수(11)를 이용하여, DCT 변환을 수행함으로써, 제1 주파수 계수 정보(21)를 획득할 수 있다. 다만, 이에 한정되지 않는다. 이때, 제1 주파수 계수 정보(21)는 복수의 블록들로 분할될 수 있으며, 복수의 블록들 각각에서 동일한 위치의 계수 정보는, 동일한 주파수에 대응하는 계수 정보일 수 있다.Also, the image processing apparatus 100 may convert the first image 10 into a frequency domain in units of blocks having a preset size (eg, N×N). For example, as shown in FIG. 1 , the image processing apparatus 100 obtains the first frequency coefficient information 21 by performing DCT transformation using a DCT basis function 11 having a preset size. can do. However, the present invention is not limited thereto. In this case, the first frequency coefficient information 21 may be divided into a plurality of blocks, and coefficient information of the same position in each of the plurality of blocks may be coefficient information corresponding to the same frequency.

제1 주파수 계수 정보(21)는 영상 처리 네트워크(30)로 입력될 수 있다. 일 실시예에 따른 영상 처리 네트워크(30)는 제1 주파수 계수 정보(21)를 입력 받아, 제1 주파수 계수 정보(21)를 처리함으로써, 제1 영상(10)에 대한 퀄리티 정보를 출력하는 네트워크일 수 있다.The first frequency coefficient information 21 may be input to the image processing network 30 . The image processing network 30 according to an embodiment receives the first frequency coefficient information 21 , and processes the first frequency coefficient information 21 , thereby outputting quality information on the first image 10 . can be

일 실시예에 따른 영상 처리 네트워크(30)는 가중치 추출 네트워크(200)와 퀄리티 추정 네트워크(300)를 포함할 수 있다.The image processing network 30 according to an embodiment may include a weight extraction network 200 and a quality estimation network 300 .

가중치 추출 네트워크(200)는 제1 주파수 계수 정보(21)에 포함된 복수의 블록들 각각에 대한 퀄리티 정보의 신뢰도를 나타내는 가중치를 생성할 수 있다.The weight extraction network 200 may generate a weight indicating reliability of quality information for each of a plurality of blocks included in the first frequency coefficient information 21 .

예를 들어, 제1 영상(10)이 압축 영상인 경우, 제1 영상(10)에 포함된 영역들의 특성(예를 들어, 주파수 특성)에 따라, 영역들이 나타내는 퀄리티 정보의 신뢰도가 상이할 수 있다. 압축 영상의 경우, 압축율(압축되는 정도)이 클수록 저주파수 성분을 많이 포함하는 플랫 영역(flat region)의 퀄리티는 크게 저하되지 않고, 고주파수 성분을 많이 포함하는 텍스쳐 영역(textured region)의 퀄리티가 크게 저하된다. 따라서, 플랫 영역의 경우, 압축 정도에 따라 퀄리티 변화가 크지 않으므로, 플랫 영역에 대한 퀄리티 정보의 신뢰도는 낮아진다. 반면에, 텍스쳐 영역의 경우, 압축 정도에 따라 퀄리티 변화가 크므로, 텍스쳐 영역에 대한 퀄리티 정보의 신뢰도는 높아진다.For example, when the first image 10 is a compressed image, the reliability of quality information indicated by the regions may be different according to characteristics (eg, frequency characteristics) of regions included in the first image 10 . have. In the case of a compressed image, as the compression rate (compression degree) increases, the quality of a flat region containing a lot of low-frequency components does not decrease significantly, and the quality of a textured region containing a lot of high-frequency components decreases significantly. do. Accordingly, in the case of the flat region, since the quality does not vary greatly according to the degree of compression, the reliability of the quality information for the flat region is lowered. On the other hand, in the case of the texture region, since the quality change according to the degree of compression is large, the reliability of the quality information on the texture region is increased.

따라서, 제1 영상(10)에서 플랫 영역과 텍스쳐 영역을 구분하여, 플랫 영역에 대한 퀄리티 정보는 가중치를 작게 하고, 텍스쳐 영역에 대한 퀄리티 정보는 가중치를 크게 하여, 제1 영상에 대한 퀄리티 정보를 획득하는 경우, 플랫 영역과 텍스쳐 영역에 동일한 가중치를 적용하여, 퀄리티 정보를 획득하는 경우보다, 획득된 퀄리티 정보의 정확도가 향상된다.Accordingly, in the first image 10, a flat region and a texture region are separated, and the quality information on the flat region has a small weight, and the quality information on the texture region increases the weight, so that quality information on the first image is obtained. In the case of acquiring, the accuracy of the acquired quality information is improved compared to the case of acquiring the quality information by applying the same weight to the flat region and the texture region.

이에 따라, 가중치 추출 네트워크(200)는 제1 영상(10)에 대응하는 제1 주파수 계수 정보(21)에 기초하여, 제1 영상(10)에 포함되는 영역들 각각의 퀄리티 정보의 신뢰도를 나타내는 가중치를 결정할 수 있다.Accordingly, the weight extraction network 200 indicates the reliability of the quality information of each of the regions included in the first image 10 based on the first frequency coefficient information 21 corresponding to the first image 10 . weight can be determined.

또한, 일 실시예에 따른 퀄리티 추정 네트워크(300)는 입력된 제1 주파수 계수 정보(21)와 가중치 추출 네트워크(200)에서 생성된 가중치에 기초하여, 제1 영상(10)의 퀄리티 정보를 획득할 수 있다. 이때, 퀄리티 정보는 제1 영상(10)의 퀄리티를 나타내는 값으로, 퀄리티 팩터(quality factor)를 포함할 수 있으나, 이에 한정되지 않는다. 일 실시예에 따른 제1 영상(10)에 대한 퀄리티 정보는 제1 영상(10)을 복원하는 등 제1 영상(10)을 이용하거나 처리함에 있어, 유용한 정보로 이용될 수 있다.In addition, the quality estimation network 300 according to an embodiment obtains quality information of the first image 10 based on the input first frequency coefficient information 21 and the weight generated by the weight extraction network 200 . can do. In this case, the quality information is a value indicating the quality of the first image 10 and may include a quality factor, but is not limited thereto. The quality information on the first image 10 according to an embodiment may be used as useful information when using or processing the first image 10 , such as reconstructing the first image 10 .

도 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 weight extraction network 200 according to an embodiment may include a first operation unit 210 , a first convolution unit 220 , and an activation operation unit 230 .

도 2를 참조하면, 제1 연산부(210)는 제1 주파수 계수 정보(21)와 제1 커널(215)의 연산을 수행하여, 상관관계 정보(217)를 획득할 수 있다.Referring to FIG. 2 , the first operation unit 210 may obtain correlation information 217 by performing an operation on the first frequency coefficient information 21 and the first kernel 215 .

일 실시예에 따른 제1 주파수 계수 정보(21)는 기 설정된 크기(예를 들어, N x N)를 가지는 복수의 블록들로 분할될 수 있다. 도 2에서는 설명의 편의를 위해, 제1 주파수 계수 정보(21)가 4개의 블록들(제1 블록(B1), 제2 블록(B2), 제3 블록(B3), 제4 블록(B4))로 나눠지는 경우를 예로 들어 설명하기로 한다. 다만, 이에 한정되지 않는다. The first frequency coefficient information 21 according to an embodiment may be divided into a plurality of blocks having a preset size (eg, N×N). In FIG. 2 , for convenience of explanation, the first frequency coefficient information 21 is divided into four blocks (a first block B1 , a second block B2 , a third block B3 , and a fourth block B4 ). ) will be described as an example. However, the present invention is not limited thereto.

일 실시예에 따른 제1 연산부(210)는 블록들 각각과 제1 커널(215) 사이의 상관관계를 나타내는 상관관계 정보(217)를 획득할 수 있다. 이때, 제1 커널(215)은 기 설정된 크기(예를 들어, N x N)를 가지는 M개의 커널들(K1, K2, ..., KM)을 포함할 수 있다. 제1 연산부(210)는 제1 주파수 계수 정보(21)를 블록 단위로 M개의 커널들(215) 각각과 연산을 수행하여, 상관관계 정보(217)를 획득할 수 있다. 이때, 수행되는 연산은 다음과 같은 수학식 1로 나타낼 수 있다.The first operation unit 210 according to an embodiment may obtain correlation information 217 indicating a correlation between each of the blocks and the first kernel 215 . In this case, the first kernel 215 may include M kernels K 1 , K 2 , ..., K M having a preset size (eg, N×N). The first operation unit 210 may obtain the correlation information 217 by performing an operation on the first frequency coefficient information 21 with each of the M kernels 215 in block units. In this case, the operation to be performed can be expressed by the following Equation (1).

Figure pat00001
Figure pat00001

수학식 1에서, Bn은 제1 주파수 계수 정보(21)에 포함되는 블록들 각각을 나타내고, Km은 제1 커널(215)에 포함된 커널들 각각을 나타낸다. 또한, bn i,j는 블록 Bn에서, i번째 행, j번째 열에 위치한 값을 나타내며, km i,j는 커널 Km에서 i번째 행, j번째 열에 위치한 값을 나타낸다.In Equation 1, Bn denotes each of the blocks included in the first frequency coefficient information 21 , and Km denotes each of the kernels included in the first kernel 215 . In addition, b n i,j indicates a value located in the i-th row and j-th column in block Bn, and k m i,j indicates a value located in the i-th row and j-th column in the kernel Km.

예를 들어, 제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 first operation unit 210 may perform elementwise multiplication for each element of the first block B 1 and the M kernels 215 . As shown in Equation 1, the element-by-element multiplication operation is an operation of multiplying values at the same position. In addition, the first operation unit 210 sums the values on which the product-by-element multiplication operation has been performed, so that the correlation information (B 1 x K 1 , B 1 x K 2 , ... , B 1 x K M ) can be obtained. Also, correlation information may be obtained for each of the second to fourth blocks B 2 , B 3 , and B 4 in the same manner as the first block B 1 .

일 실시예에 따른 상관관계 정보(217)는 제1 컨볼루션부(220)로 입력될 수 있다.The correlation information 217 according to an embodiment may be input to the first convolution unit 220 .

도 3을 참조하면, 제1 컨볼루션부(220)는 하나 이상의 컨볼루션 레이어들을 포함할 수 있다. 예를 들어, 제1 컨볼루션부(220)가 복수의 컨볼루션 레이어들을 포함하는 경우, 복수의 컨볼루션 레이어들은 연속적으로 위치할 수 있다. 복수의 컨볼루션 레이어들 각각은 이전 레이어로부터 출력된 값들을 입력 받고, 해당 레이어에서 컨볼루션 연산을 수행하여, 결과 값들을 획득하며, 획득된 결과 값들을 다음 레이어로 출력하는 구조를 가질 수 있다.Referring to FIG. 3 , the first convolution unit 220 may include one or more convolutional layers. For example, when the first convolution unit 220 includes a plurality of convolutional layers, the plurality of convolutional layers may be continuously positioned. Each of the plurality of convolutional layers may have a structure in which values output from a previous layer are received, a convolution operation is performed in a corresponding layer to obtain result values, and the obtained result values are output to a next layer.

본 개시의 실시예에서는 설명의 편의를 위해, 제1 컨볼루션부(220)가 하나의 컨볼루션 레이어를 포함하는 것으로 설명하나, 이에 한정되지 않는다.In the embodiment of the present disclosure, for convenience of description, it is described that the first convolution unit 220 includes one convolution layer, but is not limited thereto.

일 실시예에 따른 제1 컨볼루션부(220)는 제1 연산부(210)에서 획득된 상관관계 정보(217)와 제1 컨볼루션부(220)에 포함되는 제2 커널과의 컨볼루션 연산을 수행하여, 제1 특징 정보를 추출할 수 있다. 컨볼루션 연산을 수행하여 제1 특징 정보를 추출하는 방법에 대해서는 도 4 및 도 5를 참조하여, 자세히 설명하기로 한다.The first convolution unit 220 according to an embodiment performs a convolution operation between the correlation information 217 obtained by the first operation unit 210 and the second kernel included in the first convolution unit 220 . , the first characteristic information may be extracted. A method of extracting the first feature information by performing a convolution operation will be described in detail with reference to FIGS. 4 and 5 .

도 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 correlation information 217 input to the first convolution unit 220, a second kernel 420 included in the first convolution unit 220, and the first convolution unit according to an embodiment. It is a diagram illustrating the first characteristic information 440 output in 220 .

도 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 correlation information 217 input to the first convolution unit 220 according to an embodiment may be W x H, and the number of channels may be M. Also, the first convolution unit 220 may include a second kernel 420 , the second kernel 420 may have a size of Kw x Kh, and the number of channels may be M. The first convolution unit 220 may extract the first feature information 440 by performing a convolution operation between the correlation information 217 and the second kernel 420 .

예를 들어, 도 4에 도시된 바와 같이, 상관관계 정보(217)는 M개의 채널 영상들(411, 412, ..., 419)을 포함할 수 있으며, 제2 커널(420)은 M개의 서브 커널들(421, 422, ..., 429)을 포함할 수 있다.For example, as shown in FIG. 4 , the correlation information 217 may include M number of channel images 411 , 412 , ..., 419 , and the second kernel 420 may include M number of channel images 411 , 412 , ..., 419 . It may include sub-kernels 421 , 422 , ..., 429 .

제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 first convolution unit 220 may perform a convolution operation between the first channel image 411 and the first sub-kernel 421 to extract the first sub-feature information 431 , and the second channel By performing a convolution operation between the image 412 and the second sub-kernel 422 , the second sub-feature information 432 may be extracted. In addition, the M-th sub-feature information 439 may be extracted by performing a convolution operation between the M-th channel image 419 and the M-th sub-kernel 429 . For a method of extracting sub-feature information for each channel by performing a convolution operation on the channel images 411, 412, ..., 419 and the sub-kernels 421, 422, ..., 429 for each channel, Referring to FIG. 5 , it will be described in detail.

도 5는, 도 4의 제1 채널 영상(411)과 제1 서브 커널(421)과의 컨볼루션 연산을 통해 제1 서브 특징 정보(431)가 생성되는 과정을 나타낸다.FIG. 5 illustrates a process in which the first sub-feature information 431 is generated through a convolution operation between the first channel image 411 and the first sub-kernel 421 of FIG. 4 .

도 5에서는 설명의 편의를 위해, 제1 채널 영상(411)이 5 x 5의 크기를 가지며, 제1 서브 커널(421)은 3 x 3의 크기를 가지는 것으로 가정한다.In FIG. 5 , for convenience of explanation, it is assumed that the first channel image 411 has a size of 5×5 and the first sub-kernel 421 has a size of 3×3.

도 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 sub-feature information 431 by performing a convolution operation by applying the first sub-kernel 421 from the upper left to the lower right of the first channel image 411 . This is shown. For example, the first sub-kernel 421 may be applied to pixels included in the upper left 3×3 region 510 of the first channel image 411 to perform element-by-element multiplication and summation. That is, by multiplying and summing pixel values included in the upper left 3 x 3 region 510 and parameter values included in the first sub-kernel 421, one pixel value mapped to the upper left 3 x 3 region 510 ( 531) can be created.

또한, 제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 region 520 moved one pixel to the right from the upper left 3 x 3 region 510 of the first channel image 411 and parameters included in the first sub-kernel 421 . By multiplying and summing the values, one pixel value 532 mapped to the 3×3 area 520 may be generated. In the same manner, while sliding the first sub-kernel 421 from left to right and from top to bottom one pixel at a time in the first channel image 411 , parameter values included in the first sub-kernel 421 and the second By multiplying and summing pixel values of the one-channel image 411 , pixel values included in the first sub-feature information 431 may be generated. In this case, the data to be subjected to the convolution operation may be sampled while moving one pixel at a time, or may be sampled by the number of two or more pixels. A size of an interval between pixels sampled in the convolution process is referred to as a stride, and the size of the output first sub-feature information 431 may be determined according to the size of the stride.

또는, 제1 채널 영상(411)에는 패딩이 수행될 수 있다. 패딩은 출력되는 제1 서브 특징 정보(431)의 크기가 작아지는 것을 방지하기 위하여, 제1 채널 영상(411)의 가장자리에 특정 값(예를 들어, '0')을 주어, 제1 채널 영상(411)의 사이즈를 증가시키는 것을 의미한다.Alternatively, padding may be performed on the first channel image 411 . In the padding, a specific value (eg, '0') is given to the edge of the first channel image 411 in order to prevent the size of the output first sub-feature information 431 from being reduced, so that the first channel image It means increasing the size of (411).

다시, 도 4를 참조하면, 제1 컨볼루션 부(220)는 제1 내지 제M 서브 특징 정보들(431, 432,..., 439)의 요소별 합산을 수행하여, 제1 특징 정보(440)를 획득할 수 있다. 이때, 요소별 합산은 제1 내지 제M 서브 특징 정보들(431, 432,..., 439)을 합산할 때, 동일한 위치에 있는 값들끼리 더하는 연산이다.Again, referring to FIG. 4 , the first convolution unit 220 performs elementwise summation of the first to Mth sub-feature information 431 , 432 , ..., 439 , so that the first feature information ( 440) can be obtained. In this case, the element-by-element summing is an operation of adding values at the same position when summing the first to Mth sub-feature information 431 , 432 , ..., 439 .

다시, 도 3을 참조하면, 활성화 연산부(230)는 제1 특징 정보에 활성화 함수 연산을 수행하여, 블록들 각각에 대응하는 가중치(240)를 생성할 수 있다. 활성화 함수 연산은 제1 특징 정보에 대해 비선형(non-linear) 특성을 부여하는 것으로, 활성화 함수는 시그모이드 함수(sigmoid function), Tanh 함수, ReLU(Rectified Linear Unit) 함수, leaky ReLu 함수 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.Again referring to FIG. 3 , the activation operation unit 230 may generate a weight 240 corresponding to each of the blocks by performing an activation function operation on the first feature information. The activation function operation is to give a non-linear characteristic to the first characteristic information, and the activation function is a sigmoid function, a Tanh function, a Rectified Linear Unit (ReLU) function, a leaky ReLu function, etc. may be included, but is not limited thereto.

블록들 각각에 대응하는 가중치(240)는 제1 블록(B1)에 대응하는 제1 가중치(a1), 제2 블록(B2)에 대응하는 제2 가중치(a2), 제3 블록(B3)에 대응하는 제3 가중치(a3), 및 제4 블록(B4)에 대응하는 제4 가중치(a4)를 포함할 수 있다. 또한, 블록들 각각에 대응하는 가중치(240)는 0이상 1미만의 값으로 나타날 수 있으며, 퀄리티 추정 네트워크(300)로 입력될 수 있다.A weight 240 corresponding to each of the blocks is a first weight a1 corresponding to the first block B 1 , a second weight a2 corresponding to the second block B 2 , and a third block B 3 ) may include a third weight a3 corresponding to and a fourth weight a4 corresponding to the fourth block B 4 . In addition, the weight 240 corresponding to each of the blocks may appear as a value greater than or equal to 0 and less than 1, and may be input to the quality estimation network 300 .

도 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 quality estimation network 300 according to an embodiment includes a rearrangement unit 610 , a second convolution unit 620 , a weight application unit 630 , a third convolution unit 640 , and a quality operation unit 650 . can do.

도 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 rearrangement unit 610 according to an embodiment may rearrange the coefficient information included in the first frequency coefficient information 21 to obtain the second frequency coefficient information 22 . The rearrangement unit 610 may obtain the second frequency coefficient information 22 by rearranging coefficient information corresponding to the same frequency in each of the blocks included in the first frequency coefficient information 21 into the same group (channel). . Since the coefficient information of the same position in each of the blocks included in the first frequency coefficient information 21 is coefficient information corresponding to the same frequency, the rearranging unit 610 divides the coefficient information of the same position in each of the blocks into the same group ( channels) can be rearranged. For example, in each of the first to fourth blocks, the rearranging unit 310 may include values (b 1 1,1 , b 2 1,1 , b 3 1,1 , b 4 1,1 ) may be configured as the first channel of the second frequency coefficient information 22 . Also, in each of the first to fourth blocks, values (b 1 1,2 , b 2 1,2 , b 3 1,2 , b 4 ) located in row 1 (i=1) and column 2 (j=2) 1,2 ) may be configured as the second channel of the second frequency coefficient information 22 . The rearrangement unit 610 may rearrange values included in each of the first to fourth blocks B 1 , B 2 , B 3 , and B 4 in the same manner as described above, and accordingly, the second frequency The number of channels of the coefficient information 22 is determined based on the block size (N x N), and the second frequency coefficient information 22 includes N 2 channels.

일 실시예에 따른 제2 주파수 계수 정보(22)는 제2 컨볼루션부(620)로 입력될 수 있다.The second frequency coefficient information 22 according to an embodiment may be input to the second convolution unit 620 .

제2 컨볼루션부(620)는 제2 주파수 계수 정보(22)에 기초하여, 제2 특징 정보(625)를 획득할 수 있다. 예를 들어, 제2 컨볼루션부(620)는 하나 이상의 컨볼루션 레이어들을 포함할 수 있다. 제2 컨볼루션부(620)가 복수의 컨볼루션 레이어들을 포함하는 경우, 복수의 컨볼루션 레이어들은 연속적으로 위치할 수 있다. 복수의 컨볼루션 레이어들 중 첫번째 컨볼루션 레이어는 제2 주파수 계수 정보(22)를 입력받아, 컨볼루션 연산을 수행하여 획득한 결과값을 수행할 수 있다. 나머지 컨볼루션 레이어들은 이전 컨볼루션 레이어로부터 출력된 값들을 입력 받고, 해당 레이어에서 컨볼루션 연산을 수행하여, 획득한 결과 값들을 다음 레이어로 출력하는 구조를 가질 수 있다.The second convolution unit 620 may obtain the second characteristic information 625 based on the second frequency coefficient information 22 . For example, the second convolution unit 620 may include one or more convolutional layers. When the second convolution unit 620 includes a plurality of convolutional layers, the plurality of convolutional layers may be continuously positioned. A first convolutional layer among the plurality of convolutional layers may receive the second frequency coefficient information 22 , and may perform a result obtained by performing a convolution operation. The remaining convolutional layers may have a structure in which values output from a previous convolution layer are received, a convolution operation is performed on the corresponding layer, and the obtained result values are output to a next layer.

본 개시의 실시예에서는 설명의 편의를 위해, 제2 컨볼루션부(620)가 하나의 컨볼루션 레이어를 포함하는 것으로 설명하나, 이에 한정되지 않는다.In the embodiment of the present disclosure, for convenience of description, it is described that the second convolution unit 620 includes one convolution layer, but the present disclosure is not limited thereto.

제2 컨볼루션부(620)는 제2 주파수 계수 정보(22)와 제2 컨볼루션부(620)에 포함되는 제3 커널 간의 컨볼루션 연산을 수행함으로써, 제2 특징 정보(625)를 추출할 수 있다. 제2 특징 정보(625)는 블록들 각각에 대응하는 특징 정보를 포함한다.The second convolution unit 620 performs a convolution operation between the second frequency coefficient information 22 and the third kernel included in the second convolution unit 620 to extract the second feature information 625 . can The second characteristic information 625 includes characteristic information corresponding to each of the blocks.

가중치 적용부(630)는 제2 특징 정보(625)에 가중치 추출 네트워크(200)에서 획득한 블록들 각각에 대한 가중치(240)를 적용함으로써, 제3 특징 정보(635)를 획득할 수 있다.The weight application unit 630 may obtain the third characteristic information 635 by applying a weight 240 for each of the blocks obtained from the weight extraction network 200 to the second characteristic information 625 .

가중치 적용부(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 weight application unit 630 may obtain the third characteristic information 635 by multiplying the characteristic information corresponding to each of the blocks included in the second characteristic information 625 and the weight 240 corresponding to each of the blocks. can For example, the weight application unit 630 multiplies the first weight a1 by the characteristic information f1 corresponding to the first block B1 included in the second characteristic information 625, and the second characteristic information ( The feature information f2 corresponding to the second block B2 included in 625 is multiplied by a second weight a2, and feature information corresponding to the third block B3 included in the second feature information 625 . (f3) is multiplied by a third weight, and by multiplying the characteristic information f4 corresponding to the fourth block B4 included in the second characteristic information 625 by a fourth weight a4, the third characteristic information (635) can be obtained.

도 7을 참조하면, 일 실시예에 따른 제3 특징 정보(635)는 제3 컨볼루션부(640)로 입력될 수 있다.Referring to FIG. 7 , third characteristic information 635 according to an embodiment may be input to the third convolution unit 640 .

일 실시예에 따른 제3 컨볼루션부(640)는 하나 이상의 컨볼루션 레이어들을 포함할 수 있다. 예를 들어, 제3 컨볼루션부(640)가 복수의 컨볼루션 레이어들을 포함하는 경우, 복수의 컨볼루션 레이어들은 연속적으로 위치할 수 있다. 복수의 컨볼루션 레이어들 각각은 이전 레이어로부터 출력된 값들을 입력 받고, 해당 레이어에서 컨볼루션 연산을 수행하여, 결과 값들을 획득하며, 획득된 결과 값들을 다음 레이어로 출력하는 구조를 가질 수 있다.The third convolution unit 640 according to an embodiment may include one or more convolutional layers. For example, when the third convolution unit 640 includes a plurality of convolutional layers, the plurality of convolutional layers may be continuously positioned. Each of the plurality of convolutional layers may have a structure in which values output from a previous layer are received, a convolution operation is performed in a corresponding layer to obtain result values, and the obtained result values are output to a next layer.

본 개시의 실시예에서는 설명의 편의를 위해, 제3 컨볼루션부(640)가 하나의 컨볼루션 레이어를 포함하는 것으로 설명하나, 이에 한정되지 않는다.In the embodiment of the present disclosure, for convenience of description, it is described that the third convolution unit 640 includes one convolutional layer, but is not limited thereto.

도 7을 참조하면, 제3 컨볼루션부(640)는 가중치가 적용된 제3 특징 정보(635)와 제4 커널의 컨볼루션 연산을 수행하여, 제4 특징 정보를 추출할 수 있다.Referring to FIG. 7 , the third convolution unit 640 may extract the fourth feature information by performing a convolution operation on the third feature information 635 to which the weight is applied and the fourth kernel.

제4 특징 정보는 퀄리티 연산부(650)로 입력될 수 있으며, 퀄리티 연산부(650)는 제4 특징 정보를 1차원 벡터(710)로 변환할 수 있다. 예를 들어, 퀄리티 연산부(650)는 제4 특징 정보에 포함된 값들을 1차원으로 연결하는(fully connected) 동작을 통해, 제4 특징 정보를 1차원 벡터(710)로 변환할 수 있으나, 이에 한정되지 않는다.The fourth characteristic information may be input to the quality calculating unit 650 , and the quality calculating unit 650 may convert the fourth characteristic information into a one-dimensional vector 710 . For example, the quality calculator 650 may convert the fourth feature information into the one-dimensional vector 710 through an operation of fully connected values included in the fourth feature information in one dimension. not limited

퀄리티 연산부(650)는 변환된 벡터 및 선형 분류 모델을 이용하여, 제1 영상(10)에 대한 퀄리티 정보를 획득할 수 있다. 예를 들어, 일 실시예에 따른 선형 분류 모델은 벡터를 입력 받아, 복수의 퀄리티 팩터들 각각에 대한 확률 값들(720)을 계산하는 모델일 수 있으며, 다음의 수학식 2로 나타낼 수 있다.The quality calculator 650 may obtain quality information about the first image 10 by using the transformed vector and the linear classification model. For example, the linear classification model according to an embodiment may be a model that receives a vector and calculates probability values 720 for each of a plurality of quality factors, and may be expressed by Equation 2 below.

Figure pat00002
Figure pat00002

수학식 2에서, f는 복수의 퀄리티 팩터들 각각에 대한 확률 값들을 나타내며, W는 선형 분류 모델의 가중치 행렬을 나타내고, b는 선형 분류 모델의 바이어스 벡터를 나타내며, x는 선형 분류 모델에 입력되는 벡터를 나타낸다. 퀄리티 연산부(650)는 복수의 퀄리티 팩터들 각각에 대한 확률 값들 중 가장 큰 값에 대응하는 퀄리티 팩터를 제1 영상(10)에 대한 퀄리티 정보로 획득할 수 있다.In Equation 2, f denotes probability values for each of the plurality of quality factors, W denotes a weight matrix of the linear classification model, b denotes a bias vector of the linear classification model, and x denotes the input to the linear classification model. represents a vector. The quality calculator 650 may obtain a quality factor corresponding to the largest value among probability values for each of the plurality of quality factors as quality information on the first image 10 .

도 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 third convolution unit 640 may perform a convolution operation between the weighted third feature information 635 and the fourth kernel to extract the fourth feature information. Since this has been described in detail with reference to FIG. 7 , a detailed description thereof will be omitted.

제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 quality calculating unit 650 , and the quality calculating unit 650 may perform a pooling 810 on the fourth characteristic information. The pooling 810 means generating one pixel capable of representing a characteristic by synthesizing a plurality of pixels in the fourth characteristic information. In this case, as a method of synthesizing the plurality of pixels, a method of taking a maximum value (Max pooling) or a method of taking an average value (Average pooling) may be used. In this case, a method of taking one average value from one channel of the feature information is called Global Average Pooling (GAP), and the quality calculator 650 may generate the one-dimensional vector 820 by performing the GAP.

퀄리티 연산부(650)는 생성된 1차원 벡터(820)와 퀄리티 팩터들 각각에 대응하는 특징 벡터와의 유사도에 기초하여, 제1 영상(10)의 퀄리티 정보를 결정할 수 있다. 예를 들어, 복수의 퀄리티 팩터들 각각에 대응하는 특징 벡터는 미리 저장될 수 있다. 이때, 복수의 퀄리티 팩터들 각각에 대응하는 특징 벡터는, 해당 퀄리티 팩터를 가지는 압축 영상으로부터 추출될 수 있으나, 이에 한정되는 것은 아니다.The quality calculator 650 may determine the quality information of the first image 10 based on a similarity between the generated one-dimensional vector 820 and a feature vector corresponding to each of the quality factors. For example, a feature vector corresponding to each of the plurality of quality factors may be stored in advance. In this case, the feature vector corresponding to each of the plurality of quality factors may be extracted from the compressed image having the corresponding quality factor, but is not limited thereto.

퀄리티 연산부(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 quality calculating unit 650 includes a first feature vector c1 corresponding to the first quality factor, a second feature vector c2 corresponding to the second quality factor, and a third feature vector c3 corresponding to the third quality factor. Distances d1, d2, and d3 between each of the values and the one-dimensional vector 820 generated through the GAP may be calculated. The quality calculator 650 may determine the first quality factor corresponding to the first feature vector c1 having the closest distance d1 to the one-dimensional vector 820 as the quality information of the first image 10 . However, the present invention is not limited thereto.

도 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 image processing apparatus 100 according to an embodiment may obtain first frequency coefficient information by converting a first image into a frequency domain in units of blocks having a preset size ( S910 ). .

예를 들어, 영상 처리 장치(100)는 기 설정된 크기(N x N)를 가지는 DCT 기저 함수를 이용하여, DCT 변환을 수행함으로써, 제1 주파수 계수 정보를 획득할 수 있다. 다만, 이에 한정되지 않는다. 이때, 제1 주파수 계수 정보는 기 설정된 크기(N x N)를 가지는 복수의 블록들로 분할될 수 있으며, 복수의 블록들 각각에서 동일한 위치의 계수 정보는, 동일한 주파수에 대응하는 계수 정보일 수 있다.For example, the image processing apparatus 100 may obtain first frequency coefficient information by performing DCT transformation using a DCT basis function having a preset size (N×N). However, the present invention is not limited thereto. In this case, the first frequency coefficient information may be divided into a plurality of blocks having a preset size (N x N), and the coefficient information at the same position in each of the plurality of blocks may be coefficient information corresponding to the same frequency. have.

일 실시예에 따른 영상 처리 장치(100)는 제1 주파수 계수 정보와 제1 커널과의 상관관계 정보를 획득할 수 있다(S920).The image processing apparatus 100 according to an embodiment may obtain correlation information between the first frequency coefficient information and the first kernel ( S920 ).

영상 처리 장치(100)는 제1 주파수 계수 정보에 상응하는 적어도 하나의 블록과 제1 커널과의 연산을 수행함으로써, 기 설정된 크기(N x N)를 가지는 블록 단위로 적어도 하나의 블록과 제1 커널과의 상관관계를 나타내는 상관관계 정보를 획득할 수 있다. 예를 들어, 영상 처리 장치(100)는 복수의 블록들 중 제1 블록과 제1 커널과의 요소별 곱 연산을 수행한 후, 요소별 곱 연산이 수행된 값들을 합산함으로써, 제1 블록에 대한 상관관계 정보를 획득할 수 있으며, 나머지 블록들에 대해서도 제1 블록과 동일한 방법으로 상관관계 정보를 획득할 수 있다.The image processing apparatus 100 performs an operation between at least one block corresponding to the first frequency coefficient information and the first kernel, thereby generating at least one block and the first block in units of blocks having a preset size (N x N). Correlation information indicating a correlation with the kernel may be obtained. For example, the image processing apparatus 100 performs an element-wise multiplication operation between a first block and a first kernel among a plurality of blocks, and then sums the values on which the element-by-element product operation has been performed to obtain the first block. Correlation information may be obtained for each block, and correlation information may be obtained for the remaining blocks in the same manner as in the first block.

또는, 영상 처리 장치(100)는 제1 주파수 계수 정보와 제1 커널과의 컨볼루션 연산을 수행함으로써, 상관관계 정보를 획득할 수도 있다.Alternatively, the image processing apparatus 100 may obtain correlation information by performing a convolution operation between the first frequency coefficient information and the first kernel.

일 실시예에 따른 영상 처리 장치(100)는 상관관계 정보에 기초하여, 블록들 각각에 대응하는 가중치를 생성할 수 있다(S930).The image processing apparatus 100 according to an embodiment may generate a weight corresponding to each of the blocks based on the correlation information (S930).

예를 들어, 영상 처리 장치(100)는 920 단계(S920)에서 획득한 상관관계 정보와 제2 커널과의 컨볼루션 연산을 통해 제1 특징 정보를 추출할 수 있다. 제1 특징 정보를 추출하는 방법에 대해서는 도 4 및 도 5에서 자세히 설명하였으므로, 구체적인 설명은 생략하기로 한다.For example, the image processing apparatus 100 may extract the first characteristic information through a convolution operation between the correlation information obtained in operation S920 and the second kernel. Since the method of extracting the first characteristic information has been described in detail with reference to FIGS. 4 and 5 , a detailed description thereof will be omitted.

영상 처리 장치(100)는 제1 특징 정보에 활성화 함수 연산을 수행함으로써, 블록들 각각에 대응하는 가중치를 생성할 수 있다. 이때, 가중치는 0 이상 1 미만의 값으로 나타날 수 있으나, 이에 한정되는 것은 아니다.The image processing apparatus 100 may generate a weight corresponding to each of the blocks by performing an activation function operation on the first feature information. In this case, the weight may appear as a value of 0 or more but less than 1, but is not limited thereto.

일 실시예에 따른 영상 처리 장치(100)는 제1 주파수 계수 정보를 재배열하여, 제2 주파수 계수 정보를 생성할 수 있다(S940).The image processing apparatus 100 according to an embodiment may generate second frequency coefficient information by rearranging the first frequency coefficient information ( S940 ).

예를 들어, 영상 처리 장치(100)는 제1 주파수 계수 정보에 포함되는 계수들을 동일한 주파수에 대응하는 계수들 끼리 동일한 그룹(채널)으로 재배열함으로써, 제2 주파수 계수 정보를 생성할 수 있다. 이때, 제1 주파수 계수 정보에 상응하는 복수의 블록들 각각에서 동일한 위치의 계수 정보는, 동일한 주파수에 대응하는 계수 정보이므로, 영상 처리 장치(100)는 제1 주파수 계수 정보에 상응하는 복수의 블록들 각각에서 동일한 위치의 계수 정보를 동일한 그룹(채널)으로 재배열하여, 제2 주파수 계수 정보를 생성할 수 있다. 이에 따라, 제2 주파수 계수 정보의 채널 수는 블록의 크기(N x N)에 기초하여, 결정되며, N2개의 채널을 포함하게 된다.For example, the image processing apparatus 100 may generate the second frequency coefficient information by rearranging coefficients included in the first frequency coefficient information into the same group (channel) among coefficients corresponding to the same frequency. At this time, since the coefficient information of the same position in each of the plurality of blocks corresponding to the first frequency coefficient information is coefficient information corresponding to the same frequency, the image processing apparatus 100 performs the processing of the plurality of blocks corresponding to the first frequency coefficient information. The second frequency coefficient information may be generated by rearranging the coefficient information of the same position in each of the groups into the same group (channel). Accordingly, the number of channels of the second frequency coefficient information is determined based on the block size (N x N), and includes N 2 channels.

일 실시예에 따른 영상 처리 장치(100)는 930 단계(S930)에서 생성된 가중치와 940 단계(S940)에서 생성된 제2 주파수 계수 정보에 기초하여, 제1 영상에 대한 퀄리티 정보를 획득할 수 있다(S950).The image processing apparatus 100 according to an embodiment may obtain quality information on the first image based on the weight generated in step 930 ( S930 ) and the second frequency coefficient information generated in step 940 ( S940 ). There is (S950).

영상 처리 장치(100)는 제2 주파수 계수 정보와 제3 커널과의 컨볼루션 연산을 수행함으로써, 제2 특징 정보를 추출할 수 있다. 영상 처리 장치(100)는 제2 특징 정보에 가중치를 적용하여, 제3 특징 정보를 획득할 수 있다. 예를 들어, 영상 처리 장치(100)는 제2 특징 정보에 포함된 블록들 각각에 대응하는 특징 정보와 블록들 각각에 대응하는 가중치를 곱함으로써, 제3 특징 정보를 획득할 수 있다.The image processing apparatus 100 may extract the second characteristic information by performing a convolution operation between the second frequency coefficient information and the third kernel. The image processing apparatus 100 may obtain the third characteristic information by applying a weight to the second characteristic information. For example, the image processing apparatus 100 may obtain the third characteristic information by multiplying the characteristic information corresponding to each of the blocks included in the second characteristic information and a weight corresponding to each of the blocks.

영상 처리 장치(100)는 제3 특징 정보와 제4 커널과의 컨볼루션 연산을 수행함으로써, 제4 특징 정보를 추출할 수 있다. The image processing apparatus 100 may extract the fourth feature information by performing a convolution operation between the third feature information and the fourth kernel.

영상 처리 장치(100)는 제4 특징 정보를 1차원 벡터로 변환할 수 있다. 예를 들어, 제4 특징 정보에 포함된 값들을 1차원으로 연결하는 동작을 통해, 제4 특징 정보를 1차원 벡터로 변환할 수 있으나, 이에 한정되지 않는다. 영상 처리 장치(100)는 1차원 벡터와, 1차원 벡터를 입력 받아 복수의 퀄리티 팩터들 각각에 대한 확률 값들을 계산하는 선형 분류 모델을 이용하여, 제1 영상에 대한 퀄리티 정보를 획득할 수 있다. 예를 들어, 영상 처리 장치(100)는 선형 분류 모델에서 출력된 확률 값들 중 가장 큰 확률 값을 가지는 퀄리티 팩터를 제1 영상에 대한 퀄리티 정보로 결정할 수 있다.The image processing apparatus 100 may convert the fourth characteristic information into a one-dimensional vector. For example, the fourth characteristic information may be converted into a one-dimensional vector through an operation of one-dimensionally connecting values included in the fourth characteristic information, but is not limited thereto. The image processing apparatus 100 may obtain quality information on the first image by using a one-dimensional vector and a linear classification model that receives the one-dimensional vector and calculates probability values for each of a plurality of quality factors. . For example, the image processing apparatus 100 may determine a quality factor having the largest probability value among the probability values output from the linear classification model as the quality information on the first image.

또는, 영상 처리 장치(100)는 제4 특징 정보에 풀링을 수행하여, 1차원 벡터를 생성할 수 있다. 영상 처리 장치(100)는 1차원 벡터와 복수의 퀄리티 팩터들 각각에 대응하는 특징 벡터와의 유사도에 기초하여, 가장 유사한 특징 벡터에 대응하는 퀄리티 팩터를 제1 영상에 대한 퀄리티 정보로 결정할 수 있다.Alternatively, the image processing apparatus 100 may generate a one-dimensional vector by performing pooling on the fourth feature information. The image processing apparatus 100 may determine the quality factor corresponding to the most similar feature vector as the quality information for the first image based on the similarity between the one-dimensional vector and the feature vector corresponding to each of the plurality of quality factors. .

도 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 image processing apparatus 100 according to an embodiment may include a processor 120 and a memory 130 .

일 실시예에 따른 프로세서(120)는 영상 처리 장치(100)를 전반적으로 제어할 수 있다. 일 실시예에 따른 프로세서(120)는 메모리(130)에 저장되는 하나 이상의 프로그램들을 실행할 수 있다.The processor 120 according to an embodiment may control the image processing apparatus 100 as a whole. The processor 120 according to an embodiment may execute one or more programs stored in the memory 130 .

일 실시예에 따른 메모리(130)는 영상 처리 장치(100)를 구동하고 제어하기 위한 다양한 데이터, 프로그램 또는 어플리케이션을 저장할 수 있다. 메모리(130)에 저장되는 프로그램은 하나 이상의 인스트럭션들을 포함할 수 있다. 메모리(130)에 저장된 프로그램(하나 이상의 인스트럭션들) 또는 어플리케이션은 프로세서(120)에 의해 실행될 수 있다.The memory 130 according to an embodiment may store various data, programs, or applications for driving and controlling the image processing apparatus 100 . A program stored in the memory 130 may include one or more instructions. A program (one or more instructions) or an application stored in the memory 130 may be executed by the processor 120 .

일 실시예에 따른 프로세서(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 processor 120 according to an embodiment may include at least one of a central processing unit (CPU), a graphic processing unit (GPU), and a video processing unit (VPU). Alternatively, according to an embodiment, it may be implemented in the form of a system on chip (SoC) in which at least one of a CPU, a GPU, and a VPU is integrated. Alternatively, the processor 120 may further include a Neural Processing Unit (NPU).

일 실시예에 따른 프로세서(120)는 영상 처리 네트워크(30)를 이용하여, 영상의 퀄리티 정보를 획득할 수 있다. 예를 들어, 프로세서(120)는 도 2 내지 도 8에서 도시하고 설명한 제1 연산부(210), 제1 컨볼루션부(220), 활성화 연산부(230), 재배열부(610), 제2 컨볼루션부(620), 가중치 적용부(630), 제3 컨볼루션부(640) 및 퀄리티 연산부(650) 의 동작들 중 적어도 하나를 수행할 수 있다.The processor 120 according to an embodiment may obtain quality information of an image by using the image processing network 30 . For example, the processor 120 includes the first operation unit 210 , the first convolution unit 220 , the activation operation unit 230 , the rearrangement unit 610 , and the second convolution illustrated and described with reference to FIGS. 2 to 8 . At least one of the operations of the unit 620 , the weight application unit 630 , the third convolution unit 640 , and the quality operation unit 650 may be performed.

프로세서(120)는 제1 영상을 기 설정된 크기를 가지는 블록 단위로, 주파수 도메인으로 변환하여, 제1 주파수 계수 정보를 획득할 수 있다. 예를 들어, 프로세서(120)는 기 설정된 크기(N x N)를 가지는 DCT 기저 함수를 이용하여, DCT 변환을 수행함으로써, 제1 주파수 계수 정보를 획득할 수 있다. 다만, 이에 한정되지 않는다. 이때, 제1 주파수 계수 정보는 기 설정된 크기(N x N)를 가지는 복수의 블록들로 분할될 수 있으며, 복수의 블록들 각각에서 동일한 위치의 계수 정보는, 동일한 주파수에 대응하는 계수 정보일 수 있다.The processor 120 may obtain the first frequency coefficient information by converting the first image into a frequency domain in units of blocks having a preset size. For example, the processor 120 may obtain the first frequency coefficient information by performing DCT transformation using a DCT basis function having a preset size (N×N). However, the present invention is not limited thereto. In this case, the first frequency coefficient information may be divided into a plurality of blocks having a preset size (N x N), and the coefficient information at the same position in each of the plurality of blocks may be coefficient information corresponding to the same frequency. have.

프로세서(120)는 제1 주파수 계수 정보와 제1 커널과의 상관관계 정보를 획득할 수 있다. 프로세서(120)는 제1 주파수 계수 정보에 상응하는 적어도 하나의 블록과 제1 커널과의 연산을 수행함으로써, 기 설정된 크기(N x N)를 가지는 블록 단위로, 적어도 하나의 블록과 제1 커널과의 상관관계를 나타내는 상관관계 정보를 획득할 수 있다. 예를 들어, 프로세서(120)는 복수의 블록들 중 제1 블록과 제1 커널과의 요소별 곱 연산을 수행한 후, 요소별 곱 연산이 수행된 값들을 합산함으로써, 제1 블록에 대한 상관관계 정보를 획득할 수 있으며, 나머지 블록들에 대해서도 제1 블록과 동일한 방법으로 상관관계 정보를 획득할 수 있다.The processor 120 may obtain correlation information between the first frequency coefficient information and the first kernel. The processor 120 performs an operation between at least one block corresponding to the first frequency coefficient information and the first kernel, so that the at least one block and the first kernel are in units of blocks having a preset size (N x N). It is possible to obtain correlation information indicating a correlation with the . For example, the processor 120 performs a factor-by-element multiplication operation between the first block and the first kernel among the plurality of blocks, and then sums the values on which the element-by-element multiplication operation has been performed, thereby correlating the first block. Relation information may be obtained, and correlation information may be obtained for the remaining blocks in the same manner as in the first block.

또는, 영상 처리 장치(100)는 제1 주파수 계수 정보와 제1 커널과의 컨볼루션 연산을 수행함으로써, 상관관계 정보를 획득할 수도 있다. 상관관계 정보를 획득하는 방법에 대해서는 도 2를 참조하여 자세히 설명하였으므로 구체적인 설명은 생략하기로 한다.Alternatively, the image processing apparatus 100 may obtain correlation information by performing a convolution operation between the first frequency coefficient information and the first kernel. Since the method of obtaining the correlation information has been described in detail with reference to FIG. 2 , a detailed description thereof will be omitted.

프로세서(120)는 상관관계 정보에 기초하여, 블록들 각각에 대응하는 가중치를 생성할 수 있다. 예를 들어, 프로세서(120)는 상관관계 정보와 제2 커널과의 컨볼루션 연산을 통해 제1 특징 정보를 추출할 수 있다. 제1 특징 정보를 추출하는 방법에 대해서는 도 4 및 도 5에서 자세히 설명하였으므로, 구체적인 설명은 생략하기로 한다. 프로세서(120)는 제1 특징 정보에 활성화 함수 연산을 수행함으로써, 블록들 각각에 대응하는 가중치를 생성할 수 있다. 이때, 가중치는 0 이상 1 미만의 값으로 나타날 수 있으나, 이에 한정되는 것은 아니다.The processor 120 may generate a weight corresponding to each of the blocks based on the correlation information. For example, the processor 120 may extract the first feature information through a convolution operation between the correlation information and the second kernel. Since the method of extracting the first characteristic information has been described in detail with reference to FIGS. 4 and 5 , a detailed description thereof will be omitted. The processor 120 may generate a weight corresponding to each of the blocks by performing an activation function operation on the first feature information. In this case, the weight may appear as a value of 0 or more but less than 1, but is not limited thereto.

프로세서(120)는 제1 주파수 계수 정보를 재배열하여, 제2 주파수 계수 정보를 생성할 수 있다. 예를 들어, 프로세서(120)는 제1 주파수 계수 정보에 포함되는 계수들을 동일한 주파수에 대응하는 계수들 끼리 동일한 그룹(채널)으로 재배열함으로써, 제2 주파수 계수 정보를 생성할 수 있다. 이때, 제1 주파수 계수 정보에 상응하는 복수의 블록들 각각에서 동일한 위치의 계수 정보는, 동일한 주파수에 대응하는 계수 정보이므로, 프로세서(120)는 제1 주파수 계수 정보에 상응하는 복수의 블록들 각각에서 동일한 위치의 계수 정보를 동일한 그룹(채널)으로 재배열하여, 제2 주파수 계수 정보를 생성할 수 있다. 이에 따라, 제2 주파수 계수 정보의 채널 수는 블록의 크기(N x N)에 기초하여, 결정되며, N2개의 채널을 포함하게 된다.The processor 120 may rearrange the first frequency coefficient information to generate second frequency coefficient information. For example, the processor 120 may generate the second frequency coefficient information by rearranging coefficients included in the first frequency coefficient information into the same group (channel) among coefficients corresponding to the same frequency. At this time, since the coefficient information of the same position in each of the plurality of blocks corresponding to the first frequency coefficient information is coefficient information corresponding to the same frequency, the processor 120 performs each of the plurality of blocks corresponding to the first frequency coefficient information. The second frequency coefficient information may be generated by rearranging the coefficient information of the same position in the same group (channel). Accordingly, the number of channels of the second frequency coefficient information is determined based on the block size (N x N), and includes N 2 channels.

프로세서(120)는 가중치와 제2 주파수 계수 정보에 기초하여, 제1 영상에 대한 퀄리티 정보를 획득할 수 있다.The processor 120 may acquire quality information on the first image based on the weight and the second frequency coefficient information.

예를 들어, 프로세서(120)는 제2 주파수 계수 정보와 제3 커널과의 컨볼루션 연산을 수행함으로써, 제2 특징 정보를 추출할 수 있다. 프로세서(120)는 제2 특징 정보에 가중치를 적용하여, 제3 특징 정보를 획득할 수 있다. 예를 들어, 프로세서(120)는 제2 특징 정보에 포함된 블록들 각각에 대응하는 특징 정보와 블록들 각각에 대응하는 가중치를 곱함으로써, 제3 특징 정보를 획득할 수 있다.For example, the processor 120 may extract the second characteristic information by performing a convolution operation between the second frequency coefficient information and the third kernel. The processor 120 may obtain the third characteristic information by applying a weight to the second characteristic information. For example, the processor 120 may obtain the third characteristic information by multiplying the characteristic information corresponding to each of the blocks included in the second characteristic information by a weight corresponding to each of the blocks.

프로세서(120)는 제3 특징 정보와 제4 커널과의 컨볼루션 연산을 수행함으로써, 제4 특징 정보를 추출할 수 있다. The processor 120 may extract the fourth feature information by performing a convolution operation between the third feature information and the fourth kernel.

프로세서(120)는 제4 특징 정보를 1차원 벡터로 변환할 수 있다. 예를 들어, 제4 특징 정보에 포함된 값들을 1차원으로 연결하는 동작을 통해, 제4 특징 정보를 1차원 벡터로 변환할 수 있으나, 이에 한정되지 않는다. 프로세서(120)는 1차원 벡터와, 1차원 벡터를 입력 받아 복수의 퀄리티 팩터들 각각에 대한 확률 값들을 계산하는 선형 분류 모델을 이용하여, 제1 영상에 대한 퀄리티 정보를 획득할 수 있다. 예를 들어, 프로세서(120)는 선형 분류 모델에서 출력된 확률 값들 중 가장 큰 확률 값을 가지는 퀄리티 팩터를 제1 영상에 대한 퀄리티 정보로 결정할 수 있다.The processor 120 may convert the fourth characteristic information into a one-dimensional vector. For example, the fourth characteristic information may be converted into a one-dimensional vector through an operation of one-dimensionally connecting values included in the fourth characteristic information, but is not limited thereto. The processor 120 may obtain quality information on the first image by using a one-dimensional vector and a linear classification model that receives the one-dimensional vector and calculates probability values for each of a plurality of quality factors. For example, the processor 120 may determine a quality factor having the largest probability value among the probability values output from the linear classification model as the quality information on the first image.

또는, 프로세서(120)는 제4 특징 정보에 풀링을 수행하여, 1차원 벡터를 생성할 수 있다. 프로세서(120)는 1차원 벡터와 복수의 퀄리티 팩터들 각각에 대응하는 특징 벡터와의 유사도에 기초하여, 가장 유사한 특징 벡터에 대응하는 퀄리티 팩터를 제1 영상에 대한 퀄리티 정보로 결정할 수 있다.Alternatively, the processor 120 may generate a one-dimensional vector by performing pooling on the fourth feature information. The processor 120 may determine the quality factor corresponding to the most similar feature vector as the quality information for the first image based on the similarity between the one-dimensional vector and the feature vector corresponding to each of the plurality of quality factors.

한편, 일 실시예에 따른 영상 처리 네트워크(30), 가중치 추출 네트워크(200), 및 퀄리티 추정 네트워크(300) 중 적어도 하나는, 서버 또는 외부 장치에 의해 훈련된 네트워크일 수 있다. 서버 또는 외부 장치는 훈련 데이터에 기초하여, 영상 처리 네트워크(30), 가중치 추출 네트워크(200), 및 퀄리티 추정 네트워크(300) 적어도 하나를 훈련시킬 수 있다. 예를 들어, 서버 또는 외부 장치는 영상을 주파수 도메인으로 변환하여 획득한 주파수 계수 정보와 해당 영상에 대한 퀄리티 정보를 포함하는 복수의 데이터 세트들을 이용하여, 영상 처리 네트워크(30)를 훈련시킬 수 있다.Meanwhile, at least one of the image processing network 30 , the weight extraction network 200 , and the quality estimation network 300 according to an embodiment may be a network trained by a server or an external device. The server or the external device may train at least one of the image processing network 30 , the weight extraction network 200 , and the quality estimation network 300 based on the training data. For example, the server or external device may train the image processing network 30 using a plurality of data sets including frequency coefficient information obtained by converting an image into a frequency domain and quality information on the corresponding image. .

서버 또는 외부 장치는 훈련을 통하여, 영상 처리 네트워크(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 image processing network 30 through training. For example, the server or the external device may determine the parameter values in a direction of minimizing a difference (loss information) between the quality information generated by the image processing network 30 and the quality information on the image included in the training data.

일 실시예에 따른 영상 처리 장치(100)는 서버 또는 외부 장치로부터 훈련이 완료된 영상 처리 네트워크(30)를 수신하여, 메모리(130)에 저장할 수 있다. 예를 들어, 메모리(130)는 일 실시예에 따른 영상 처리 네트워크(30)의 구조 및 파라미터 값들을 저장할 수 있으며, 프로세서(120)는 메모리(130)에 저장된 파라미터 값들을 이용하여, 일 실시예에 따른 제1 영상으로부터 노이즈는 제거되면서, 엣지 특성은 보존되는 제2 영상을 생성할 수 있다.The image processing apparatus 100 according to an embodiment may receive the trained image processing network 30 from a server or an external device and store it in the memory 130 . For example, the memory 130 may store the structure and parameter values of the image processing network 30 according to an embodiment, and the processor 120 uses the parameter values stored in the memory 130, according to an embodiment. It is possible to generate a second image in which edge characteristics are preserved while noise is removed from the first image.

한편, 도 10에 도시된 영상 처리 장치(100)의 블록도는 일 실시예를 위한 블록도이다. 블록도의 각 구성요소는 실제 구현되는 영상 처리 장치(100)의 사양에 따라 통합, 추가, 또는 생략될 수 있다. 즉, 필요에 따라 2 이상의 구성요소가 하나의 구성요소로 합쳐지거나, 혹은 하나의 구성요소가 2 이상의 구성요소로 세분되어 구성될 수 있다. 또한, 각 블록에서 수행하는 기능은 실시예들을 설명하기 위한 것이며, 그 구체적인 동작이나 장치는 본 발명의 권리범위를 제한하지 아니한다.Meanwhile, a block diagram of the image processing apparatus 100 illustrated in FIG. 10 is a block diagram for an exemplary embodiment. Each component of the block diagram may be integrated, added, or omitted according to specifications of the image processing apparatus 100 that are actually implemented. That is, two or more components may be combined into one component, or one component may be subdivided into two or more components as needed. In addition, the function performed in each block is for describing the embodiments, and the specific operation or device does not limit the scope of the present invention.

일 실시예에 따른 영상 처리 장치의 동작방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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.
제1항에 있어서,
상기 가중치는 상기 적어도 하나의 블록이 나타내는 퀄리티 정보의 신뢰도를 나타내는, 영상 처리 장치.
According to claim 1,
The weight indicates reliability of the quality information indicated by the at least one block.
제1항에 있어서,
상기 제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 주파수 계수 정보를, 상기 블록 단위로, 상기 제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항에 있어서,
상기 제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 주파수 계수 정보와 제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.
제1항에 있어서,
상기 프로세서는,
상기 상관관계 정보와 제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.
제1항에 있어서,
상기 프로세서는,
상기 제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.
제8항에 있어서,
상기 프로세서는,
상기 제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.
제9항에 있어서,
상기 퀄리티 정보는, 상기 제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.
제8항에 있어서,
상기 프로세서는,
상기 제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.
제12항에 있어서,
상기 가중치는 상기 적어도 하나의 블록이 나타내는 퀄리티 정보의 신뢰도를 나타내는, 영상 처리 장치의 동작 방법.
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.
제12항에 있어서,
상기 제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.
제12항에 있어서,
상기 제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.
제12항에 있어서,
상기 제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.
제12항에 있어서,
상기 상관관계 정보를 획득하는 단계는,
상기 제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.
제12항에 있어서,
상기 가중치를 생성하는 단계는,
상기 상관관계 정보와 제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.
제12항에 있어서,
상기 퀄리티 정보를 획득하는 단계는,
상기 제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.
제19항에 있어서,
상기 제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.
제20항에 있어서,
상기 퀄리티 정보는, 상기 제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.
제19항에 있어서,
상기 제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.
제12항의 방법을 수행하도록 하는 프로그램이 저장된 하나 이상의 컴퓨터로 읽을 수 있는 기록매체.One or more computer-readable recording media in which a program for performing the method of claim 12 is stored.
KR1020210093137A 2021-03-04 2021-07-15 Image processing apparatus and operating method for the same KR20220125126A (en)

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)

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