[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20230046913A - Apparatus and method for predicting compression quality of image in electronic device - Google Patents

Apparatus and method for predicting compression quality of image in electronic device Download PDF

Info

Publication number
KR20230046913A
KR20230046913A KR1020210153020A KR20210153020A KR20230046913A KR 20230046913 A KR20230046913 A KR 20230046913A KR 1020210153020 A KR1020210153020 A KR 1020210153020A KR 20210153020 A KR20210153020 A KR 20210153020A KR 20230046913 A KR20230046913 A KR 20230046913A
Authority
KR
South Korea
Prior art keywords
image
quality
compression
processor
electronic device
Prior art date
Application number
KR1020210153020A
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 CN202280066109.8A priority Critical patent/CN118057962A/en
Priority to EP22876884.2A priority patent/EP4365825A4/en
Priority to PCT/KR2022/014632 priority patent/WO2023055112A1/en
Priority to US17/970,482 priority patent/US20230102895A1/en
Publication of KR20230046913A publication Critical patent/KR20230046913A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001
    • EFIXED CONSTRUCTIONS
    • E06DOORS, WINDOWS, SHUTTERS, OR ROLLER BLINDS IN GENERAL; LADDERS
    • E06BFIXED OR MOVABLE CLOSURES FOR OPENINGS IN BUILDINGS, VEHICLES, FENCES OR LIKE ENCLOSURES IN GENERAL, e.g. DOORS, WINDOWS, BLINDS, GATES
    • E06B9/00Screening or protective devices for wall or similar openings, with or without operating or securing mechanisms; Closures of similar construction
    • E06B9/24Screens or other constructions affording protection against light, especially against sunshine; Similar screens for privacy or appearance; Slat blinds
    • G06T5/006
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Structural Engineering (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Civil Engineering (AREA)
  • Signal Processing (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)

Abstract

Disclosed are a method and device for predicting the compression quality of an image during image correction (e.g., image quality enhancement) in an electronic device and processing the image based on such predictions. The electronic device according to various embodiments comprises a display module, a memory, and a processor. The processor may be configured to: display an image through the display module; extract a plurality of designated blocks from the image in a designated manner; estimate the reliability of each block for the plurality of blocks; identify, based on the reliability estimation, a first block corresponding to an outlier block excluded from quality prediction and a second block for which quality prediction is possible among the plurality of blocks; exclude the first block from quality prediction targets among the plurality of blocks; and classify the compression quality of the image using the remaining second blocks, excluding the first blocks among the plurality of blocks. Various other embodiments are possible. Accordingly, the present invention can accurately analyze compression quality.

Description

전자 장치에서 이미지의 압축 품질 예측 방법 및 장치{APPARATUS AND METHOD FOR PREDICTING COMPRESSION QUALITY OF IMAGE IN ELECTRONIC DEVICE}Method and apparatus for predicting compression quality of image in electronic device

본 개시의 실시예들은 전자 장치에서 이미지 보정(예: 이미지 화질 개선) 시에 이미지의 압축 품질을 예측하고, 그에 기반하여 이미지를 처리하는 방법 및 장치에 관하여 개시한다.Embodiments of the present disclosure disclose a method and apparatus for estimating the compression quality of an image when correcting an image (eg, improving image quality) in an electronic device and processing the image based thereon.

디지털 기술의 발달과 함께 이동통신 단말기, PDA(personal digital assistant), 전자수첩, 스마트 폰(smart phone), 태블릿(tablet) PC(personal computer), 웨어러블 디바이스(wearable device) 및/또는 랩탑(laptop) PC와 같은 다양한 유형의 전자 장치가 널리 사용되고 있다. 이러한, 전자 장치는 기능 지지 및 증대를 위해, 전자 장치의 하드웨어적인 부분 및/또는 소프트웨어적인 부분이 지속적으로 개발되고 있다.With the development of digital technology, mobile communication terminals, PDAs (personal digital assistants), electronic notebooks, smart phones, tablet PCs (personal computers), wearable devices and / or laptops Various types of electronic devices such as personal computers are widely used. In order to support and increase functions of these electronic devices, hardware parts and/or software parts of electronic devices are continuously being developed.

전자 장치는 기능이 다양화됨에 따라, 예를 들어, 사진이나 동영상의 촬영, 음악이나 동영상 파일의 재생, 게임, 방송 수신, 또는 통화(call) 기능과 같은 복합적인 기능들을 갖춘 멀티미디어 기기(multimedia device) 형태로 구현되고 있다. 이러한 전자 장치는 디스플레이(display)를 구비하며, 디스플레이에 기반하여 기능들에 관련된 화면을 표시할 수 있다.As electronic devices diversify their functions, for example, multimedia devices equipped with complex functions such as taking pictures or videos, playing music or video files, playing games, receiving broadcasts, or making calls. ) is implemented in the form of Such an electronic device has a display and can display screens related to functions based on the display.

전자 장치는, 전자 장치에 저장된 이미지 또는 외부 장치(예: 서버 및/또는 다른 전자 장치)로부터 획득된 이미지를 디스플레이를 통해 표시할 수 있다. 최근에는, 전자 장치는 디스플레이의 해상도 증가 및/또는 물리적인 크기(예: 디스플레이의 화면 크기)의 증가에 따라, 전자 장치에서도 고화질의 이미지가 요구되고 있고, 그에 따른 이미지의 품질 향상에 대한 필요가 제기되고 있다. 예를 들면, 전자 장치 또는 외부 장치에 의해 제공되는 이미지에 대한 이미지 품질(image quality)의 중요도 증가하고 있다.The electronic device may display an image stored in the electronic device or an image acquired from an external device (eg, a server and/or other electronic device) through a display. In recent years, as the resolution and/or physical size (e.g., screen size of a display) of an electronic device increases, high-definition images are required in electronic devices, and the need for image quality improvement accordingly increases. is being raised For example, the importance of image quality for images provided by electronic devices or external devices is also increasing.

한편, 외부 장치에서 제공하는 이미지는 압축되어 전송될 수 있다. 예를 들면, 이미지는 클라우드 환경의 스토리지를 절약하고 이미지 전송의 지연을 최소화하기 위해서, 일정 압축 품질(또는 압축률)로 압축되어 제공될 수 있다. 이러한 경우, 원본 영상의 압축 방법 정보(예: 해상도 정보) 및 압축 품질 정보(예: 압축 비트레이트 정보)가 소실되어, 영상 표시 장치에서, 원본 영상의 압축 방법 정보 및 압축 품질 정보와 관련된 영상의 품질 판단이 어려워져, 원본 영상에 알맞은 화질 세팅을 하는 것이 어려워졌으며, 특히, 영상 표시 장치 내의 화질 알고리즘의 최대 성능을 구현하는 것이 어려워졌다.Meanwhile, an image provided by an external device may be compressed and transmitted. For example, an image may be provided after being compressed with a certain compression quality (or compression rate) in order to save storage in a cloud environment and minimize delay in image transmission. In this case, the compression method information (eg, resolution information) and compression quality information (eg, compression bitrate information) of the original video are lost, and thus, in the video display device, the image related to the compression method information and compression quality information of the original video is lost. Quality determination has become difficult, making it difficult to set a picture quality suitable for an original video, and in particular, it has become difficult to implement the maximum performance of a picture quality algorithm in an image display device.

이미지 압축은, 예를 들면, 이미지에 압축 아티팩트(compression artifact)가 발생할 수 있다. 예를 들면, 이미지 압축에서는 적어도 하나의 아티팩트(예: ringing artifacts(또는 mosquito artifacts), blocking artifacts, blur artifacts, color distortion, 및/또는 texture deviation)가 발생할 수 있다. 일반적으로, 압축 아티팩트는 이미지의 압축 품질(또는 압축률)이 높을수록 보다 많이 발생할 수 있다. 따라서, 외부 장치(예: 컨텐츠 서버 또는 다른 외부 장치와 같은 서비스 제공자)에서는, 이미지를 전자 장치로 제공할 때, 이미지 크기를 최대한 압축하면서도 사용자 눈에는 아티팩트가 최소한으로 보일 수 있도록 하는 이슈가 제기될 수 있다. 또한, 최근에는 전자 장치가 대화면의 디스플레이를 지원함에 따라, 기존의 작은 화면에 최적화되어 아티팩트가 숨겨진 이미지가, 큰 화면에서 확대 제공됨에 따라 사용자에 의해 쉽게 노출될 수 있다. 예를 들면, 작은 화면에서 식별되지 않던 아티팩트가 큰 화면에서 확대되어 사용자에 의해 식별될 수 있고, 사용자에게 이미지 품질의 저하로 인식될 수 있다.Image compression, for example, can result in compression artifacts in the image. For example, image compression may introduce at least one artifact (eg, ringing artifacts (or mosquito artifacts), blocking artifacts, blur artifacts, color distortion, and/or texture deviation). In general, more compression artifacts may occur as the compression quality (or compression rate) of an image is higher. Therefore, in an external device (eg, a service provider such as a content server or other external device), when an image is provided to an electronic device, an issue of minimizing artifacts to the user's eyes while compressing the image size as much as possible may be raised. can In addition, as electronic devices recently support a display of a large screen, an image that is optimized for a small screen and has hidden artifacts can be easily exposed by a user as it is enlarged and provided on a large screen. For example, artifacts that were not identified on a small screen may be enlarged on a large screen and identified by the user, and may be perceived as deterioration of image quality by the user.

다양한 실시예들에서는, 전자 장치에서 이미지 화질 개선(예: 이미지 보정) 시에 이미지의 압축 품질을 판단하는 동작에서, 이미지의 압축 품질을 정확하고 빠르게 예측할 수 있는 방법 및 장치에 관하여 개시한다.In various embodiments, a method and apparatus capable of accurately and quickly predicting the compression quality of an image in an operation of determining the compression quality of an image when improving image quality (eg, image correction) in an electronic device are disclosed.

다양한 실시예들에서는, 전자 장치에서 주어진 이미지에 대해 압축 품질 판단 시에 블록 단위의 신뢰도(confidence) 추정에 기반하여 이미지의 압축 품질을 예측할 수 있는 방법 및 장치에 관하여 개시한다.In various embodiments, a method and apparatus capable of predicting the compression quality of an image based on block-by-block confidence estimation when determining the compression quality of a given image in an electronic device are disclosed.

다양한 실시예들에서는, 전자 장치에서 주어진 이미지에 대해 블록 단위 신뢰도 추정 시에, 이미지로부터 압축 품질 예측이 어려운 영역(예: 품질 예측 제외 대상 영역)인 아웃라이어(outlier)를 제거하고, 이미지에서 압축 품질 예측을 가능하게 하는 영역에 기반하여 압축 품질을 정확하고 빠르게 예측할 수 있는 방법 및 장치에 관하여 개시한다.In various embodiments, when estimating block-by-block reliability for a given image in an electronic device, an outlier, which is a region in which compression quality prediction is difficult to predict (eg, a region to be excluded from quality prediction) is removed from the image, and the image is compressed. Disclosed is a method and apparatus capable of accurately and quickly predicting compression quality based on a region enabling quality prediction.

다양한 실시예들에서는, 전자 장치에서 이미지의 화질 개선을 위하여, 주어진 이미지의 압축 품질을 판단하고, 압축 품질에 대응하게 학습된 노이즈 제거 모델에 기반하여 이미지를 보정할 수 있는 방법 및 장치에 관하여 개시한다.In various embodiments, a method and apparatus capable of determining compression quality of a given image and correcting an image based on a denoising model learned to correspond to the compression quality are disclosed in order to improve image quality in an electronic device. do.

본 개시의 일 실시예에 따른 전자 장치는, 디스플레이 모듈, 메모리, 및 상기 디스플레이 모듈 및 상기 메모리와 작동적으로 연결된 프로세서를 포함하고, 상기 프로세서는, 상기 디스플레이 모듈을 통해 이미지를 표시하고, 상기 이미지에서 지정된 복수 개의 블록을 지정된 방식(예: 균등 방식 또는 랜덤 방식)으로 추출하고, 상기 복수 개의 블록에 대하여 각 블록 별로 신뢰도를 추정하고, 신뢰도 추정에 기반하여, 상기 복수 개의 블록 중 품질 예측 제외 대상인 아웃라이어(outlier)에 대응하는 제1 블록과 품질 예측이 가능한 제2 블록을 식별하고, 상기 복수 개의 블록 중 상기 제1 블록을 품질 예측 대상에서 제외하고, 및 상기 복수 개의 블록 중 상기 제1 블록을 제외한 나머지 제2 블록을 이용하여, 상기 이미지에 대한 압축 품질을 분류하도록 동작할 수 있다.An electronic device according to an embodiment of the present disclosure includes a display module, a memory, and a processor operatively connected to the display module and the memory, wherein the processor displays an image through the display module, and displays the image. extracts a plurality of blocks specified in a designated method (eg, a uniform method or a random method), estimates reliability for each block with respect to the plurality of blocks, and based on the reliability estimation, quality prediction is excluded from among the plurality of blocks. A first block corresponding to an outlier and a second block for which quality can be predicted are identified, the first block among the plurality of blocks is excluded from the quality prediction target, and the first block among the plurality of blocks is identified. It is possible to classify the compression quality of the image using the remaining second blocks except for .

본 개시의 일 실시예에 따른 전자 장치의 동작 방법은, 전자 장치의 디스플레이 모듈을 통해 이미지를 표시하는 동작, 상기 이미지에서 지정된 복수 개의 블록을 지정된 방식으로 추출하는 동작, 상기 복수 개의 블록에 대하여 각 블록 별로 신뢰도를 추정하는 동작, 신뢰도 추정에 기반하여, 상기 복수 개의 블록 중 품질 예측이 불가능한 아웃라이어(outlier)에 대응하는 제1 블록과 품질 예측이 가능한 제2 블록을 식별하는 동작, 상기 복수 개의 블록 중 상기 제1 블록을 품질 예측 대상에서 제외하는 동작, 및 상기 복수 개의 블록 중 상기 제1 블록을 제외한 나머지 제2 블록을 이용하여, 상기 이미지에 대한 압축 품질을 분류하는 동작을 포함할 수 있다.An operating method of an electronic device according to an embodiment of the present disclosure includes an operation of displaying an image through a display module of the electronic device, an operation of extracting a plurality of designated blocks from the image in a designated manner, and each of the plurality of blocks. An operation of estimating reliability for each block; an operation of identifying a first block corresponding to an outlier whose quality cannot be predicted and a second block whose quality can be predicted among the plurality of blocks based on the reliability estimation; and An operation of excluding the first block among blocks from a quality prediction target, and an operation of classifying the compression quality of the image using second blocks other than the first block among the plurality of blocks. .

상기와 같은 과제를 해결하기 위하여 본 개시의 다양한 실시예들에서는, 상기 방법을 프로세서에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체를 포함할 수 있다.In various embodiments of the present disclosure to solve the above problems, a computer-readable recording medium in which a program for executing the method in a processor may be included.

본 개시의 적용 가능성의 추가적인 범위는 이하의 상세한 설명으로부터 명백해질 것이다. 그러나 본 개시의 사상 및 범위 내에서 다양한 변경 및 수정은 당업자에게 명확하게 이해될 수 있으므로, 상세한 설명 및 본 개시의 바람직한 실시예와 같은 특정 실시예는 단지 예시로 주어진 것으로 이해되어야 한다.Additional scope of applicability of the present disclosure will become apparent from the detailed description that follows. However, since various changes and modifications within the spirit and scope of the present disclosure may be clearly understood by those skilled in the art, it should be understood that the detailed description and specific embodiments such as the preferred embodiments of the present disclosure are given by way of example only.

본 개시에 따른 전자 장치 및 그의 동작 방법에 따르면, 전자 장치에서 이미지를 분석할 때, 이미지의 전체 영역이 아닌 일부 영역에 대해, 심층 신경망(DNN, deep neural network)을 이용하여 압축 품질 분석을 수행함에 따라, 이미지의 압축 품질 연산을 정확하고 신속하게 처리할 수 있다. 다양한 실시예들에 따르면, 전자 장치에서 이미지 화질 개선(예: 이미지 보정)을 위해 이미지의 압축 품질을 판단(또는 분석) 시에, 블록 단위의 신뢰도(confidence) 추정에 기반하여 이미지의 압축 품질을 정확하고 빠르게 예측하도록 할 수 있다. 다양한 실시예들에 따르면, 전자 장치에서 주어진 이미지에 대해 블록 단위 신뢰도 추정에 기반하여, 이미지로부터 아웃라이어(outlier)를 제거하고, 이미지에서 압축 품질 예측을 가능하게 하는 영역에 기반하여 압축 품질을 분석함으로써, 보다 정확하게 압축 품질을 분석할 수 있다. According to the electronic device and method of operation thereof according to the present disclosure, when the electronic device analyzes an image, compression quality analysis is performed on a partial area rather than the entire area of the image using a deep neural network (DNN). According to this, it is possible to accurately and quickly process the compression quality calculation of the image. According to various embodiments, when determining (or analyzing) the compression quality of an image to improve image quality (eg, image correction) in an electronic device, the compression quality of an image is determined based on block-by-block confidence estimation. You can make accurate and fast predictions. According to various embodiments, an electronic device removes outliers from an image based on block-by-block reliability estimation for a given image, and analyzes compression quality based on a region in the image that enables compression quality prediction. By doing so, the compression quality can be more accurately analyzed.

다양한 실시예들에 따르면, 전자 장치에서 주어진 이미지에 대해 압축 품질을 정확하게 판단할 수 있고, 판단된 압축 품질에 대응하게 학습된 노이즈 제거 모델에 기반하여 이미지의 압축 아티팩트(또는 압축 노이즈)를 제거할 수 있다. 이에 따라, 전자 장치는 압축 이미지의 품질을 높여 원본 품질에 가까운 이미지를 사용자에게 제공할 수 있다. According to various embodiments, an electronic device may accurately determine the compression quality of a given image and remove compression artifacts (or compression noise) of the image based on a denoising model learned to correspond to the determined compression quality. can Accordingly, the electronic device can provide a user with an image close to the original quality by increasing the quality of the compressed image.

이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.In addition to this, various effects identified directly or indirectly through this document may be provided.

도면 설명과 관련하여, 동일 또는 유사한 구성 요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
도 1은 다양한 실시예들에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 일 실시예에 따른 전자 장치의 구성을 개략적으로 도시하는 도면이다.
도 3은 일 실시예에 따른 전자 장치에서 이미지 보정을 위한 학습, 분류 및 제거 동작의 예를 도시하는 흐름도이다.
도 4는 일 실시예에 따른 전자 장치에서 이미지 보정의 예를 도시하는 도면이다.
도 5는 일 실시예에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다.
도 6은 일 실시예에 따른 전자 장치에서 학습하는 동작 예를 도시하는 도면이다.
도 7은 일 실시예에 따른 전자 장치에서 압축 품질을 예측하는 동작 방법을 도시하는 흐름도이다.
도 8은 일 실시예에 따른 전자 장치에서 품질 예측을 위한 추론 동작의 예를 설명하기 위해 도시하는 도면이다.
도 9는 일 실시예에 따른 전자 장치에서 아티팩트를 제거하는 동작 방법을 도시하는 흐름도이다.
도 10은 일 실시예에 따른 전자 장치에서 이미지를 압축하는 동작 방법을 도시하는 흐름도이다.
도 11은 일 실시예에 따른 전자 장치에서 이미지 보정에 대한 정보를 제공하는 동작 방법을 도시하는 흐름도이다.
도 12는 일 실시예에 따른 전자 장치에서 이미지 보정에 대한 정보를 제공하는 사용자 인터페이스 및 그 동작 예를 도시하는 도면이다.
In the description of the drawings, the same or similar reference numerals may be used for the same or similar elements.
1 is a block diagram of an electronic device in a network environment according to various embodiments.
2 is a diagram schematically illustrating a configuration of an electronic device according to an exemplary embodiment.
3 is a flowchart illustrating examples of learning, classification, and removal operations for image correction in an electronic device according to an exemplary embodiment.
4 is a diagram illustrating an example of image correction in an electronic device according to an exemplary embodiment.
5 is a flowchart illustrating a method of operating an electronic device according to an exemplary embodiment.
6 is a diagram illustrating an example of an operation learned in an electronic device according to an embodiment.
7 is a flowchart illustrating an operation method of predicting compression quality in an electronic device according to an embodiment.
8 is a diagram illustrating an example of an inference operation for predicting quality in an electronic device according to an exemplary embodiment.
9 is a flowchart illustrating an operation method of removing artifacts in an electronic device according to an exemplary embodiment.
10 is a flowchart illustrating a method of compressing an image in an electronic device according to an exemplary embodiment.
11 is a flowchart illustrating an operation method of providing information on image correction in an electronic device according to an exemplary embodiment.
FIG. 12 is a diagram illustrating a user interface providing information about image correction and an operation example thereof in an electronic device according to an exemplary embodiment.

도 1은 다양한 실시예들에 따른 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다. 1 is a block diagram of an electronic device 101 within a network environment 100 according to various embodiments.

도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108) 중 적어도 하나와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.Referring to FIG. 1 , in a network environment 100, an electronic device 101 communicates with an electronic device 102 through a first network 198 (eg, a short-range wireless communication network) or through a second network 199. It may communicate with at least one of the electronic device 104 or the server 108 through (eg, a long-distance wireless communication network). According to an embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108 . According to an embodiment, the electronic device 101 includes a processor 120, a memory 130, an input module 150, an audio output module 155, a display module 160, an audio module 170, a sensor module ( 176), interface 177, connection terminal 178, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196 , or the antenna module 197 may be included. In some embodiments, in the electronic device 101, at least one of these components (eg, the connection terminal 178) may be omitted or one or more other components may be added. In some embodiments, some of these components (eg, sensor module 176, camera module 180, or antenna module 197) are integrated into a single component (eg, display module 160). It can be.

프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일 실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치(CPU, central processing unit) 또는 어플리케이션 프로세서(AP, application processor)) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치(GPU, graphic processing unit), 신경망 처리 장치(NPU, neural processing unit), 이미지 시그널 프로세서(ISP, image signal processor), 센서 허브 프로세서(sensor hub processor), 또는 커뮤니케이션 프로세서(CP, communication processor))를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.The processor 120, for example, executes software (eg, the program 140) to cause at least one other component (eg, hardware or software component) of the electronic device 101 connected to the processor 120. It can control and perform various data processing or calculations. According to one embodiment, as at least part of data processing or operation, processor 120 transfers instructions or data received from other components (e.g., sensor module 176 or communication module 190) to volatile memory 132. , processing commands or data stored in the volatile memory 132 , and storing resultant data in the non-volatile memory 134 . According to an embodiment, the processor 120 may include a main processor 121 (eg, a central processing unit (CPU) or an application processor (AP)) or a secondary processor (which may be operated independently of or together with the main processor 121). 123) (e.g., graphic processing unit (GPU), neural processing unit (NPU), image signal processor (ISP), sensor hub processor, or communication processor (CP, communication processor)). For example, when the electronic device 101 includes the main processor 121 and the auxiliary processor 123, the auxiliary processor 123 may use less power than the main processor 121 or be set to be specialized for a designated function. can The secondary processor 123 may be implemented separately from or as part of the main processor 121 .

보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(inactive)(예: 슬립(sleep)) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.The secondary processor 123 may, for example, take the place of the main processor 121 while the main processor 121 is in an inactive (eg, sleep) state, or the main processor 121 may At least one of the components of the electronic device 101 (eg, the display module 160, the sensor module 176, or At least some of the functions or states related to the communication module 190) may be controlled. According to one embodiment, the auxiliary processor 123 (eg, an image signal processor or a communication processor) may be implemented as part of other functionally related components (eg, the camera module 180 or the communication module 190). there is. According to an embodiment, the auxiliary processor 123 (eg, a neural network processing device) may include a hardware structure specialized for processing an artificial intelligence model. AI models can be created through machine learning. Such learning may be performed, for example, in the electronic device 101 itself where the artificial intelligence model is performed, or may be performed through a separate server (eg, the server 108). The learning algorithm may include, for example, supervised learning, unsupervised learning, semi-supervised learning or reinforcement learning, but in the above example Not limited. The artificial intelligence model may include a plurality of artificial neural network layers. Artificial neural networks include deep neural networks (DNNs), convolutional neural networks (CNNs), recurrent neural networks (RNNs), restricted boltzmann machines (RBMs), deep belief networks (DBNs), bidirectional recurrent deep neural networks (BRDNNs), It may be one of deep Q-networks or a combination of two or more of the foregoing, but is not limited to the foregoing examples. The artificial intelligence model may include, in addition or alternatively, software structures in addition to hardware structures.

메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다. The memory 130 may store various data used by at least one component (eg, the processor 120 or the sensor module 176) of the electronic device 101 . The data may include, for example, input data or output data for software (eg, program 140) and commands related thereto. The memory 130 may include volatile memory 132 or non-volatile memory 134 .

프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(OS, operating system)(142), 미들 웨어(middleware)(144) 또는 어플리케이션(146)을 포함할 수 있다. The program 140 may be stored as software in the memory 130, and may include, for example, an operating system (OS) 142, middleware 144, or an application 146. there is.

입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다. The input module 150 may receive a command or data to be used by a component (eg, the processor 120) of the electronic device 101 from the outside of the electronic device 101 (eg, a user). The input module 150 may include, for example, a microphone, a mouse, a keyboard, a key (eg, a button), or a digital pen (eg, a stylus pen).

음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일 실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.The sound output module 155 may output sound signals to the outside of the electronic device 101 . The sound output module 155 may include, for example, a speaker or a receiver. The speaker can be used for general purposes such as multimedia playback or recording playback. A receiver may be used to receive an incoming call. According to one embodiment, the receiver may be implemented separately from the speaker or as part of it.

디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다. The display module 160 may visually provide information to the outside of the electronic device 101 (eg, a user). The display module 160 may include, for example, a display, a hologram device, or a projector and a control circuit for controlling the device. According to an embodiment, the display module 160 may include a touch sensor configured to detect a touch or a pressure sensor configured to measure the intensity of force generated by the touch.

오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일 실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.The audio module 170 may convert sound into an electrical signal or vice versa. According to an embodiment, the audio module 170 acquires sound through the input module 150, the sound output module 155, or an external electronic device connected directly or wirelessly to the electronic device 101 (eg: Sound may be output through the electronic device 102 (eg, a speaker or a headphone).

센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일 실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다. The sensor module 176 detects an operating state (eg, power or temperature) of the electronic device 101 or an external environmental state (eg, a user state), and generates an electrical signal or data value corresponding to the detected state. can do. According to one embodiment, the sensor module 176 may include, for example, a gesture sensor, a gyro sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an infrared (IR) sensor, a bio sensor, It may include a temperature sensor, humidity sensor, or light sensor.

인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일 실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD(secure digital) 카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.The interface 177 may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device 101 to an external electronic device (eg, the electronic device 102). According to one embodiment, the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, a secure digital (SD) card interface, or an audio interface.

연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일 실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.The connection terminal 178 may include a connector through which the electronic device 101 may be physically connected to an external electronic device (eg, the electronic device 102). According to one embodiment, the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).

햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일 실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.The haptic module 179 may convert electrical signals into mechanical stimuli (eg, vibration or motion) or electrical stimuli that a user may perceive through tactile or kinesthetic senses. According to one embodiment, the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.

카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.The camera module 180 may capture still images and moving images. According to one embodiment, the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.

전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일 실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.The power management module 188 may manage power supplied to the electronic device 101 . According to one embodiment, the power management module 188 may be implemented as at least part of a power management integrated circuit (PMIC), for example.

배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일 실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.The battery 189 may supply power to at least one component of the electronic device 101 . According to one embodiment, the battery 189 may include, for example, a non-rechargeable primary cell, a rechargeable secondary cell, or a fuel cell.

통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN(wide area network))와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제1 네트워크(198) 또는 제2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다. The communication module 190 is a direct (eg, wired) communication channel or a wireless communication channel between the electronic device 101 and an external electronic device (eg, the electronic device 102, the electronic device 104, or the server 108). Establishment and communication through the established communication channel may be supported. The communication module 190 may include one or more communication processors that operate independently of the processor 120 (eg, an application processor) and support direct (eg, wired) communication or wireless communication. According to one embodiment, the communication module 190 may be a wireless communication module 192 (eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (eg, a : a local area network (LAN) communication module or a power line communication module). Among these communication modules, a corresponding communication module is a first network 198 (eg, a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network 199 (eg, a legacy communication module). It may communicate with the external electronic device 104 through a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (eg, a telecommunications network such as a LAN or wide area network (WAN)). These various types of communication modules may be integrated as one component (eg, a single chip) or implemented as a plurality of separate components (eg, multiple chips). The wireless communication module 192 uses subscriber information (eg, International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 196 within a communication network such as the first network 198 or the second network 199. The electronic device 101 may be identified or authenticated.

무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB, enhanced mobile broadband), 단말 전력 최소화와 다수 단말의 접속(mMTC, massive machine type communications), 또는 고신뢰도와 저지연(URLLC, ultra-reliable and low-latency communications)을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO, full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일 실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.The wireless communication module 192 may support a 5G network after a 4G network and a next-generation communication technology, for example, NR access technology (new radio access technology). NR access technologies include high-speed transmission of high-capacity data (eMBB, mobile broadband), minimization of terminal power and access of multiple terminals (mMTC, massive machine type communications), or high-reliability and low-latency (URLLC, ultra-reliable and low-latency communications) can be supported. The wireless communication module 192 may support a high frequency band (eg, mmWave band) to achieve a high data rate, for example. The wireless communication module 192 uses various technologies for securing performance in a high frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), and full-dimensional multiplexing. Technologies such as input/output (FD-MIMO, full dimensional MIMO), array antenna, analog beam-forming, or large scale antenna may be supported. The wireless communication module 192 may support various requirements defined for the electronic device 101, an external electronic device (eg, the electronic device 104), or a network system (eg, the second network 199). According to one embodiment, the wireless communication module 192 may be used to realize peak data rate (eg, 20 Gbps or more) for realizing eMBB, loss coverage (eg, 164 dB or less) for realizing mMTC, or U-plane latency (for realizing URLLC). Example: downlink (DL) and uplink (UL) each of 0.5 ms or less, or round trip 1 ms or less) may be supported.

안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제1 네트워크(198) 또는 제2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.The antenna module 197 may transmit or receive signals or power to the outside (eg, an external electronic device). According to an embodiment, the antenna module 197 may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (eg, PCB). According to one embodiment, the antenna module 197 may include a plurality of antennas (eg, an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network such as the first network 198 or the second network 199 is selected from the plurality of antennas by the communication module 190, for example. can be chosen A signal or power may be transmitted or received between the communication module 190 and an external electronic device through the selected at least one antenna. According to some embodiments, other components (eg, a radio frequency integrated circuit (RFIC)) may be additionally formed as a part of the antenna module 197 in addition to the radiator.

다양한 실시예들에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일 실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.According to various embodiments, the antenna module 197 may form a mmWave antenna module. According to one embodiment, the mmWave antenna module includes a printed circuit board, an RFIC disposed on or adjacent to a first surface (eg, a bottom surface) of the printed circuit board and capable of supporting a designated high frequency band (eg, mmWave band); and a plurality of antennas (eg, array antennas) disposed on or adjacent to a second surface (eg, a top surface or a side surface) of the printed circuit board and capable of transmitting or receiving signals of the designated high frequency band. can do.

상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.At least some of the components are connected to each other through a communication method between peripheral devices (eg, a bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)) and signal ( e.g. commands or data) can be exchanged with each other.

일 실시예에 따르면, 명령 또는 데이터는 제2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC, mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일 실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.According to an embodiment, commands or data may be transmitted or received between the electronic device 101 and the external electronic device 104 through the server 108 connected to the second network 199 . Each of the external electronic devices 102 or 104 may be the same as or different from the electronic device 101 . According to an embodiment, all or part of operations executed in the electronic device 101 may be executed in one or more external electronic devices among the external electronic devices 102 , 104 , or 108 . For example, when the electronic device 101 needs to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device 101 instead of executing the function or service by itself. Alternatively or additionally, one or more external electronic devices may be requested to perform the function or at least part of the service. One or more external electronic devices receiving the request may execute at least a part of the requested function or service or an additional function or service related to the request, and deliver the execution result to the electronic device 101 . The electronic device 101 may provide the result as at least part of a response to the request as it is or additionally processed. To this end, for example, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used. The electronic device 101 may provide an ultra-low latency service using, for example, distributed computing or mobile edge computing. In another embodiment, the external electronic device 104 may include an internet of things (IoT) device. Server 108 may be an intelligent server using machine learning and/or neural networks. According to one embodiment, the external electronic device 104 or server 108 may be included in the second network 199 . The electronic device 101 may be applied to intelligent services (eg, smart home, smart city, smart car, or health care) based on 5G communication technology and IoT-related technology.

본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.Electronic devices according to various embodiments disclosed in this document may be devices of various types. The electronic device may include, for example, a portable communication device (eg, a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance. An electronic device according to an embodiment of the present document is not limited to the aforementioned devices.

본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제1", "제2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제1) 구성요소가 다른(예: 제2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.Various embodiments of this document and terms used therein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various modifications, equivalents, or substitutes of the embodiments. In connection with the description of the drawings, like reference numbers may be used for like or related elements. The singular form of a noun corresponding to an item may include one item or a plurality of items, unless the relevant context clearly dictates otherwise. In this document, "A or B", "at least one of A and B", "at least one of A or B", "A, B or C", "at least one of A, B and C", and "A Each of the phrases such as "at least one of , B, or C" may include any one of the items listed together in that phrase, or all possible combinations thereof. Terms such as "first", "second", or "first" or "secondary" may simply be used to distinguish that component from other corresponding components, and may refer to that component in other respects (eg, importance or order) is not limited. A (eg, first) component is said to be "coupled" or "connected" to another (eg, second) component, with or without the terms "functionally" or "communicatively." When mentioned, it means that the certain component may be connected to the other component directly (eg by wire), wirelessly, or through a third component.

본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다. The term "module" used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and is interchangeable with terms such as, for example, logic, logical blocks, parts, or circuits. can be used as A module may be an integrally constructed component or a minimal unit of components or a portion thereof that performs one or more functions. For example, according to one embodiment, the module may be implemented in the form of an application-specific integrated circuit (ASIC).

본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.Various embodiments of this document provide one or more instructions stored in a storage medium (eg, internal memory 136 or external memory 138) readable by a machine (eg, electronic device 101). It may be implemented as software (eg, the program 140) including them. For example, a processor (eg, the processor 120 ) of a device (eg, the electronic device 101 ) may call at least one command among one or more instructions stored from a storage medium and execute it. This enables the device to be operated to perform at least one function according to the at least one command invoked. The one or more instructions may include code generated by a compiler or code executable by an interpreter. The device-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-temporary' only means that the storage medium is a tangible device and does not contain a signal (e.g. electromagnetic wave), and this term refers to the case where data is stored semi-permanently in the storage medium. It does not discriminate when it is temporarily stored.

일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, the method according to various embodiments disclosed in this document may be provided by being included in a computer program product. Computer program products may be traded between sellers and buyers as commodities. A computer program product is distributed in the form of a device-readable storage medium (eg compact disc read only memory (CD-ROM)), or through an application store (eg Play Store TM ) or on two user devices ( It can be distributed (eg downloaded or uploaded) online, directly between smart phones. In the case of online distribution, at least part of the computer program product may be temporarily stored or temporarily created in a device-readable storage medium such as a manufacturer's server, an application store server, or a relay server's memory.

다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱(heuristic)하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.According to various embodiments, each component (eg, module or program) of the above-described components may include a single object or a plurality of entities, and some of the plurality of entities may be separately disposed in other components. there is. According to various embodiments, one or more components or operations among the aforementioned corresponding components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (eg modules or programs) may be integrated into a single component. In this case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by a corresponding component of the plurality of components prior to the integration. . According to various embodiments, the operations performed by a module, program or other component are executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations are executed in a different order. may be added, omitted, or one or more other actions may be added.

도 2는 일 실시예에 따른 전자 장치의 구성을 개략적으로 도시하는 도면이다.2 is a diagram schematically illustrating a configuration of an electronic device according to an exemplary embodiment.

도 2를 참조하면, 일 실시예에 따른 전자 장치(101)는 통신 모듈(190), 디스플레이 모듈(160), 메모리(130) 및 프로세서(120)를 포함할 수 있다. 일 실시예에서, 프로세서(120)는 이미지 처리 모듈(210), 샘플 패치 추출 모듈(220), 압축 품질 분류 모듈(230), 노이즈 제거 모델(260), 모델 선택 모듈(270), 및/또는 스코어 산출 모듈(280) 중 적어도 하나를 포함할 수 있다.Referring to FIG. 2 , an electronic device 101 according to an embodiment may include a communication module 190, a display module 160, a memory 130, and a processor 120. In one embodiment, processor 120 includes image processing module 210, sample patch extraction module 220, compression quality classification module 230, denoising model 260, model selection module 270, and/or At least one of the score calculation module 280 may be included.

통신 모듈(190)은 레거시 네트워크(예: 3G 네트워크 및/또는 4G 네트워크), 5G 네트워크, OOB(out of band) 및/또는 차세대 통신 기술(예: NR(new radio) 기술)을 지원할 수 있다. 일 실시예에 따르면, 통신 모듈(190)은 도 1에 예시한 바와 같은 무선 통신 모듈(192)에 대응할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 통신 모듈(190)을 이용하여 네트워크를 통해 외부 장치(예: 도 1의 서버(201) 및/또는 다른 전자 장치(102, 104))와 통신을 수행할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 통신 모듈(190)을 통해 외부 장치로부터 이미지 및/또는 이미지를 포함하는 컨텐츠(예: 웹 페이지)를 수신할 수 있다. The communication module 190 may support legacy networks (eg, 3G networks and/or 4G networks), 5G networks, out of band (OOB), and/or next-generation communication technologies (eg, new radio (NR) technologies). According to one embodiment, the communication module 190 may correspond to the wireless communication module 192 as illustrated in FIG. 1 . According to an embodiment, the electronic device 101 communicates with an external device (eg, the server 201 of FIG. 1 and/or other electronic devices 102 and 104) through a network using the communication module 190. can be done According to an embodiment, the electronic device 101 may receive an image and/or content including the image (eg, a web page) from an external device through the communication module 190 .

디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 다양한 정보를 시각적으로 제공할 수 있다. 일 실시예에 따라, 디스플레이 모듈(160)은 터치 감지 회로(또는 터치 센서)(미도시), 터치의 세기를 측정할 수 있는 압력 센서 및/또는 자기장 방식의 스타일러스 펜을 검출하는 터치 패널(예: 디지타이저)을 포함할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(160)은 터치 감지 회로, 압력 센서 및/또는 터치 패널에 기반하여 디스플레이 모듈(160)의 특정 위치에 대한 신호(예: 전압, 광량, 저항, 전자기 신호 및/또는 전하량)의 변화를 측정함으로써 터치 입력 및/또는 호버링 입력(또는 근접 입력)을 감지할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(160)은 액정 표시 장치(LCD, liquid crystal display), OLED(organic light emitted diode), AMOLED(active matrix organic light emitted diode)로 구성될 수 있다. 어떤 실시예에 따르면, 디스플레이 모듈(160)은 플렉서블 디스플레이(flexible display)로 구성될 수 있다.The display module 160 can visually provide various information to the outside of the electronic device 101 (eg, a user). According to an embodiment, the display module 160 includes a touch sensing circuit (or touch sensor) (not shown), a pressure sensor capable of measuring the strength of a touch, and/or a touch panel (eg, detecting a magnetic stylus pen). : digitizer) may be included. According to an embodiment, the display module 160 is a touch sensing circuit, a pressure sensor, and/or a signal for a specific position of the display module 160 based on the touch panel (eg, voltage, light intensity, resistance, electromagnetic signal, and/or Alternatively, a touch input and/or a hovering input (or proximity input) may be sensed by measuring a change in charge amount. According to an embodiment, the display module 160 may include a liquid crystal display (LCD), an organic light emitted diode (OLED), or an active matrix organic light emitted diode (AMOLED). According to some embodiments, the display module 160 may be configured as a flexible display.

디스플레이 모듈(160)은 프로세서(120)의 제어 하에, 이미지 및/또는 이미지를 포함하는 컨텐츠를 시각적으로 제공할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(160)은 표시된 적어도 하나의 이미지에 대응하는 이미지 처리(image processing)(예: 이미지 보정)와 관련된 다양한 정보(예: 사용자 인터페이스)를 제공할 수 있다.The display module 160 may visually provide an image and/or content including the image under the control of the processor 120 . According to an embodiment, the display module 160 may provide various information (eg, a user interface) related to image processing (eg, image correction) corresponding to at least one displayed image.

메모리(130)는 전자 장치(101)에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 어플리케이션(예: 도 1의 프로그램(140)), 및 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 일 실시예에 따라, 메모리(130)는 실행 시에, 프로세서(120)가 동작하도록 하는 인스트럭션들(instructions)을 저장할 수 있다. 예를 들면, 어플리케이션은 메모리(130) 상에 소프트웨어(예: 도 1의 프로그램(140))로서 저장될 수 있고, 프로세서(120)에 의해 실행 가능할 수 있다. 일 실시예에 따라, 어플리케이션은 전자 장치(101)에서 이미지를 제공할 수 있는 다양한 어플리케이션(예: 갤러리 어플리케이션, 이미지 편집 어플리케이션)일 수 있다. The memory 130 may store various data used by the electronic device 101 . The data may include, for example, input data or output data for an application (eg, the program 140 of FIG. 1 ) and a command related thereto. According to one embodiment, the memory 130 may store instructions that, when executed, cause the processor 120 to operate. For example, the application may be stored as software (eg, the program 140 of FIG. 1 ) on the memory 130 and may be executable by the processor 120 . According to an embodiment, the application may be various applications (eg, gallery application, image editing application) capable of providing images in the electronic device 101 .

일 실시예에 따르면, 메모리(130)는 프로세서(120)에 의하여 수행될 수 있는, 블록 단위 신뢰도(confidence) 추정 기반 압축 품질(compression quality) 예측 및 압축 품질 별 이미지 보정을 처리하는 기능(또는 동작)과 관련된 적어도 하나의 구성 요소(또는 모듈)를 저장할 수 있다. 예를 들면, 메모리(130)는 프로세서(120)의 이미지 처리 모듈(210), 샘플 패치 추출 모듈(220), 압축 품질 분류 모듈(230), 노이즈 제거 모델(260), 모델 선택 모듈(270), 및/또는 스코어 산출 모듈(280) 중 적어도 일부를 소프트웨어 형태(또는 인스트럭션 형태)로 포함할 수 있다. According to an embodiment, the memory 130 performs a function (or operation) of processing block-by-block confidence estimation-based compression quality prediction and image correction for each compression quality, which may be performed by the processor 120. ) and at least one component (or module) related to it. For example, the memory 130 includes an image processing module 210 of the processor 120, a sample patch extraction module 220, a compression quality classification module 230, a noise removal model 260, and a model selection module 270. , and/or at least some of the score calculation module 280 may be included in software form (or instruction form).

프로세서(120)는 전자 장치(101)에서 블록 단위 신뢰도 추정(confidence estimation) 기반 압축 품질 예측(compression quality prediction) 및 압축 품질 별 이미지 보정을 처리하기 위한 관련된 동작을 제어할 수 있다. 일 실시예에 따르면, 프로세서(120)는 전자 장치(101)의 메모리(130)에 저장된 이미지 및/또는 외부 장치로부터 수신된 이미지에 관련된 압축 품질을 블록 단위의 신뢰도 추정에 기반하여 판단하고, 판단된 압축 품질에 기반하여 이미지 보정을 처리하는 것과 관련된 동작을 제어할 수 있다. The processor 120 may control related operations for processing block-by-block confidence estimation-based compression quality prediction and image correction for each compression quality in the electronic device 101 . According to an embodiment, the processor 120 determines the compression quality related to the image stored in the memory 130 of the electronic device 101 and/or the image received from the external device based on block-by-block reliability estimation, and determines Based on the compression quality obtained, it is possible to control the actions associated with processing the image correction.

일 실시예에서, 프로세서(120)는 이미지 화질 개선(예: 이미지 보정)을 위해 이미지의 압축 품질을 판단(또는 분석) 시에, 블록 단위의 신뢰도 추정에 기반하여 이미지의 압축 품질을 예측할 수 있다. 일 실시예에서, 프로세서(120)는 주어진 이미지에 대해 블록 단위 신뢰도 추정에 기반하여, 이미지로부터 아웃라이어(outlier)를 제거하고, 이미지에서 압축 품질 예측을 가능하게 하는 영역, 예를 들면, 이미지의 전체 영역이 아닌 일부 영역에 기반하여 압축 품질을 분석함으로써, 압축 품질의 분류 속도를 향상하도록 동작할 수 있다. 여기서, 아웃라이어는 신뢰도 추정을 제대로 수행할 수 없는(또는 압축 품질 예측이 어려운 또는 불가능한) 특이 블록으로, 예를 들면, 품질 예측에서 제외되는 대상 영역을 나타낼 수 있다. In one embodiment, the processor 120 may predict the compression quality of the image based on the block-by-block reliability estimation when determining (or analyzing) the compression quality of the image to improve image quality (eg, image correction). . In one embodiment, the processor 120 removes outliers from the image based on block-by-block reliability estimation for a given image, and enables compression quality prediction in a region in the image, eg, of the image. By analyzing the compression quality based on a partial region rather than the entire region, the classification speed of the compression quality may be improved. Here, the outlier is a specific block in which reliability estimation cannot be properly performed (or compression quality prediction is difficult or impossible), and may indicate, for example, a target region excluded from quality prediction.

일 실시예에 따르면, 프로세서(120)는 디스플레이 모듈(160)을 통해 적어도 하나의 이미지를 포함하는 화면을 표시하도록 디스플레이 모듈(160)을 제어할 수 있다. 일 실시예에 따르면, 프로세서(120)는 이미지를 표시할 때, 또는 이미지를 표시하는 동안 주어진 이미지의 압축 품질(예: 압축률)을 예측(또는 분류)할 수 있다. 일 실시예에 따르면, 프로세서(120)는 메모리(130)에 저장된 다양한 압축 품질 별로 학습된(또는 모델링된) 다양한 노이즈 제거 모델(260)(또는 디노이징 모델(denoising model), 디노이저(denoiser) 또는 아티팩트 제거기(artifact reducer)) 중, 주어진 이미지에 대해 예측된 압축 품질에 대응하게 학습된 노이즈 제거 모델(260)을 선택할 수 있다. 일 실시예에 따르면, 프로세서(120)는 선택된 노이즈 제거 모델(260)에 기반하여 이미지 보정을 처리(예: 압축 이미지에서 압축 아티팩트를 제거하여 원본 품질의 이미지로 복구)하고, 보정된 이미지를 지정된 동작에 따라 처리할 수 있다. 예를 들면, 프로세서(120)는 보정된 이미지를 디스플레이 모듈(160)을 통해 표시하거나, 메모리(130)에 저장하거나, 또는 외부(예: 서버 또는 다른 전자 장치)로 전송하도록 동작할 수 있다.According to an embodiment, the processor 120 may control the display module 160 to display a screen including at least one image through the display module 160 . According to an embodiment, the processor 120 may predict (or classify) the compression quality (eg, compression rate) of a given image when displaying the image or while displaying the image. According to an embodiment, the processor 120 may use various denoising models 260 (or denoising models, denoisers) learned (or modeled) for various compression qualities stored in the memory 130. Alternatively, among artifact reducers, a denoising model 260 trained to correspond to the predicted compression quality for a given image may be selected. According to one embodiment, the processor 120 processes image correction (eg, removing compression artifacts from a compressed image to restore it to an original quality image) based on the selected denoising model 260, and converts the corrected image to a specified value. It can be processed according to the action. For example, the processor 120 may operate to display the corrected image through the display module 160, store it in the memory 130, or transmit the corrected image to the outside (eg, a server or other electronic device).

일 실시예에 따르면, 프로세서(120)는 블록 단위 신뢰도 추정 기반 압축 품질 예측 및 압축 품질 별 이미지 보정을 처리하기 적어도 하나의 구성 요소(또는 모듈)를 포함할 수 있다. 예를 들면, 프로세서(120)는 이미지 처리 모듈(210), 샘플 패치 추출 모듈(220), 압축 품질 분류 모듈(230), 노이즈 제거 모델(260), 모델 선택 모듈(270), 및/또는 스코어 산출 모듈(280) 중 적어도 하나를 포함할 수 있다. 일 실시예에 따라, 이미지 처리 모듈(210), 샘플 패치 추출 모듈(220), 압축 품질 분류 모듈(230), 노이즈 제거 모델(260), 모델 선택 모듈(270), 및/또는 스코어 산출 모듈(280) 중 적어도 일부는 하드웨어 모듈(예: 회로(circuitry))로 프로세서(120)에 포함되거나, 및/또는 프로세서(120)에 의해 실행될 수 있는 하나 이상의 인스트럭션들을 포함하는 소프트웨어로서 구현될 수 있다. 예를 들면, 프로세서(120)에서 수행하는 동작들은, 메모리(130)에 저장되고, 실행 시에, 프로세서(120)가 동작하도록 하는 인스트럭션들에 의해 실행될 수 있다.According to an embodiment, the processor 120 may include at least one component (or module) for processing block-by-block reliability estimation-based compression quality prediction and image correction for each compression quality. For example, the processor 120 may include an image processing module 210, a sample patch extraction module 220, a compression quality classification module 230, a denoising model 260, a model selection module 270, and/or a score. At least one of the calculation modules 280 may be included. According to one embodiment, the image processing module 210, the sample patch extraction module 220, the compression quality classification module 230, the denoising model 260, the model selection module 270, and/or the score calculation module ( At least some of 280) may be included in processor 120 as hardware modules (eg, circuitry) and/or may be implemented as software including one or more instructions executable by processor 120. For example, operations performed by the processor 120 may be executed by instructions stored in the memory 130 and causing the processor 120 to operate when executed.

이미지 처리 모듈(210)은, 이미지 인코더(image encoder) 및 이미지 디코더(image decoder)를 포함할 수 있다. 일 실시예에 따르면, 이미지 처리 모듈(210)은, 이미지 인코더를 통해, 이미지에 대한 인코딩(encoding)을 처리할 수 있다. 예를 들면, 이미지 처리 모듈(210)은, 이미지 인코더를 이용하여, 이미지 인코딩을 통해 이미지를 지정된 압축률(또는 압축 레벨) 및 지정된 포맷(예: mpeg, jpeg, gif, 및/또는 png)의 파일로 압축할 수 있다. 일 실시예에 따르면, 이미지 처리 모듈(210)은, 이미지 디코더를 통해, 지정된 인코딩으로 압축된 이미지에 대한 디코딩(decoding)을 처리할 수 있다. 예를 들면, 이미지 처리 모듈(210)은, 이미지 디코더를 이용하여, 인코딩으로 압축된 이미지 파일의 압축을 해제하여, 이미지를 복구(또는 복원)할 수 있다.The image processing module 210 may include an image encoder and an image decoder. According to an embodiment, the image processing module 210 may process encoding of an image through an image encoder. For example, the image processing module 210 converts an image into a file of a specified compression rate (or compression level) and a specified format (eg, mpeg, jpeg, gif, and/or png) through image encoding using an image encoder. can be compressed with According to an embodiment, the image processing module 210 may process decoding of an image compressed by a designated encoding through an image decoder. For example, the image processing module 210 may restore (or restore) an image by using an image decoder to decompress an image file compressed by encoding.

샘플 패치 추출 모듈(220)(예: sample patch extractor)은, 이미지의 압축 품질을 구분하기 위해서 일정 개수(예: M개)의 패치(예: 16x16 patch)를 추출하는 모듈을 나타낼 수 있다. 일 실시예에 따르면, 샘플 패치 추출 모듈(220)은, 주어진 이미지로부터 M개(예: 약 256개)의 샘플(samples)(예: 약 256개의 16x16 패치)를 지정된 방식으로 추출하고, 프로세서(120)(예: 압축 품질 분류 모듈(230))가 추출된 256개의 16x16 패치 중 적어도 일부에 대해서 압축 품질 분류(예: 품질 예측 및 신뢰도 추정) 및 통합을 수행하여 이미지에 대한 최종 품질(Q)을 판단하도록 동작할 수 있다. 일 실시예에 따르면, 샘플 패치 추출 모듈(220)은 패치를 추출할 때, 지정된 방식(예: 균등 방식 또는 랜덤 방식)에 따라 복수 개의 패치를 균등하게 또는 랜덤하게 추출할 수 있다. 예를 들면, 프로세서(120)는 주어진 이미지에서, 전체 영역이 아닌 일부 영역(예: 패치 단위)을 통해 분석을 수행할 수 있다. 예를 들면, 프로세서(120)는 이미지에서 전체 영역이 아닌 지정된 관심 영역(ROI, region of interest)에 기반하여 분석을 수행할 수 있다. The sample patch extraction module 220 (eg, sample patch extractor) may represent a module that extracts a predetermined number (eg, M) of patches (eg, 16x16 patches) in order to classify the compression quality of an image. According to one embodiment, the sample patch extraction module 220 extracts M (eg, about 256) samples (eg, about 256 16x16 patches) from a given image in a specified manner, and the processor ( 120) (eg, the compression quality classification module 230) performs compression quality classification (eg, quality prediction and reliability estimation) and integration on at least some of the extracted 256 16x16 patches to obtain a final quality (Q) for the image. It can operate to determine. According to an embodiment, when extracting patches, the sample patch extraction module 220 may equally or randomly extract a plurality of patches according to a designated method (eg, a uniform method or a random method). For example, the processor 120 may perform analysis through a partial region (eg, a patch unit) rather than the entire region in a given image. For example, the processor 120 may perform analysis based on a designated region of interest (ROI) rather than the entire region in the image.

어떤 실시예에 따르면, 샘플 패치 추출 모듈(220)은, 주어진 이미지로부터, 패치 단위로 복수 개의 영역들을 추출(예: 균등 추출 또는 랜덤 추출)할 수 있다. 일 실시예에서, 패치는 이미지의 압축 품질을 이해할 수 있는 최소한의 이미지 단위를 의미할 수 있다. 예를 들어, 이미지를 압축하는 압축 방법이 8x8 블록 단위로 이미지를 분할하여 압축하는 경우, 패치는 8x8 블록뿐만 아니라, 8x8 블록의 주변 관계를 포함할 수 있는 좀 더 큰 영역의 10x10 블록을 패치로 설정할 수 있다. 일 실시예에 따르면, 패치는 8x8 블록의 주변 블록의 중심까지 포함할 수 있도록 주변 블록의 약 4 픽셀(pixel)을 추가하여 16x16 크기의 영역을 패치의 크기로 정의할 수 있다. According to an embodiment, the sample patch extraction module 220 may extract a plurality of regions (eg, uniform extraction or random extraction) from a given image in units of patches. In one embodiment, a patch may mean a minimum image unit capable of understanding the compression quality of an image. For example, when a compression method for compressing an image divides and compresses an image into 8x8 block units, a patch is a 10x10 block of a larger area that can include not only the 8x8 block but also the surrounding relationships of the 8x8 block as a patch. can be set According to an embodiment, an area of 16x16 size may be defined as the size of the patch by adding about 4 pixels of the adjacent block so that the patch includes the center of the adjacent block of the 8x8 block.

압축 품질 분류 모듈(230)(예: compression quality classifier)은, 일정 단계(예: N 단계)(예: 13 단계, 16 단계, 50 단계, 또는 100 단계)로 압축 품질(compression quality)을 구분하는 모듈을 나타낼 수 있다. 예를 들면, 압축 품질 분류 모듈(230)은 이미지에 관련된 N개의 압축 품질(또는 압축률 또는 압축 레벨)에 대응하여 N개의 압축 품질을 분류할 수 있다. 일 실시예에 따르면, 압축 품질 분류 모듈(230)은 서비스 또는 어플리케이션에 기반하여 다양한 단계(예: 13 단계, 16 단계, 50 단계, 또는 100 단계)로 설정 가능할 수 있다. 예를 들면, 압축 품질 분류 모듈(230)은 제1 어플리케이션(예: 이미지 편집 어플리케이션)은 X 단계(예: 16 단계)로 설정할 수 있고, 제2 어플리케이션(예: 갤러리 어플리케이션)은 Y 단계(예: 100 단계)로 설정할 수 있다. 예를 들면, 압축 품질 분류 모듈(230)은 이미지 인코더의 품질(quality) 옵션을 N개의 클래스로 다양하게 설정하여, N개의 품질의 압축 이미지를 준비할 수 있다. 일 예로, JPEG 포맷의 인코딩이 구현된 라이브러리 어플리케이션은 인코딩 품질(encoding quality)을, 예를 들면, 1에서 100까지의 100개의 압축 단계를 제공할 수 있고, 이미지 편집 어플리케이션은 인코딩 품질을, 예를 들면, 1에서 13까지의 13개의 압축 단계를 제공할 수 있다. 일 실시예에 따르면, 압축 품질 분류 모듈(230)의 입력은, 예를 들면, 16x16 패치의 크기를 갖는 이미지일 수 있다. 일 실시예에 따라, 압축 품질 분류 모듈(230)의 압축 품질 분류 동작과 관련하여 후술하는 도면들을 참조하여 설명된다. The compression quality classification module 230 (eg, compression quality classifier) divides the compression quality into a certain level (eg, N level) (eg, 13 level, 16 level, 50 level, or 100 level). module can be displayed. For example, the compression quality classification module 230 may classify N compression qualities corresponding to N compression qualities (or compression rates or compression levels) related to an image. According to an embodiment, the compression quality classification module 230 may be set to various levels (eg, 13 levels, 16 levels, 50 levels, or 100 levels) based on services or applications. For example, the compression quality classification module 230 may set the first application (eg, image editing application) to level X (eg, level 16), and the second application (eg, gallery application) to level Y (eg, level 16). : 100 steps). For example, the compression quality classification module 230 may prepare N quality compressed images by setting various quality options of an image encoder to N classes. For example, a library application implementing JPEG format encoding may provide encoding quality, for example, 100 compression steps from 1 to 100, and an image editing application may provide encoding quality, for example, For example, 13 compression stages from 1 to 13 can be provided. According to one embodiment, the input of the compression quality classification module 230 may be, for example, an image having a size of 16x16 patches. According to an embodiment, the compression quality classification operation of the compression quality classification module 230 will be described with reference to the following drawings.

일 실시예에 따르면, 압축 품질 분류 모듈(230)은 샘플 패치 추출 모듈(220)에 의해 추출된 패치에 대한 신뢰도 추정에 기반하여 주어진 이미지에 대한 압축 품질을 예측할 수 있다. 예를 들면, 압축 품질 분류 모듈(230)은 주어진 이미지에서 블록 단위(예: 패치 단위)로 신뢰도를 추정하도록 동작 가능한 신뢰도 추정 모듈(240)(예: confidence estimator)과 주어진 이미지에서 압축 품질을 예측하도록 동작 가능한 품질 예측 모듈(250)(예: quality predictor)과 을 포함할 수 있다.According to an embodiment, the compression quality classification module 230 may predict the compression quality of a given image based on the reliability estimation of the patch extracted by the sample patch extraction module 220 . For example, the compression quality classification module 230 may include a reliability estimation module 240 (eg, a confidence estimator) operable to estimate the confidence in a given image on a block-by-block basis (eg, patch-by-patch) and predict the compression quality in the given image. It may include a quality prediction module 250 (eg, quality predictor) operable to do so.

신뢰도 추정 모듈(240)은 입력 패치(예: 샘플 패치 추출 모듈(220)에 의해 추출된 패치)의 신뢰도를 추정할 수 있다. 일 실시예에 따르면, 신뢰도 추정 모듈(240)은 이미지에서 전체 영역이 아닌 특정 관심 영역(ROI)에 기반하여 신뢰도를 추정할 수 있다. 예를 들면, 신뢰도 추정 모듈(240)은 이미지에서 추정하고자 하는 범위를 지정하여 신뢰도를 추정할 수 있다. 일 실시예에 따르면, 신뢰도 추정 모듈(240)은 이미지로부터 추출된 복수 개(예: 지정된 M개)의 패치들에 대한 신뢰도 추정을 수행할 수 있다. 일 실시예에서, 신뢰도 추정 모듈(240)은 다양한 신뢰도 추정 방식을 기반으로, 추출된 패치들의 신뢰도를 추정하여, 신뢰도가 지정된 임계 값 이하인 아웃라이어에 대응하는 적어도 하나의 패치(예: K개의 패치)를 추정할 수 있다. 일 실시예에 따르면, 신뢰도 추정 모듈(240)은 품질 예측 모듈(250)을 학습하는 중에, 동시에 입력 패치에 대한 품질 예측 성능을 계속 측정하여, 품질 예측 모듈(250)이 특정 타입의 입력 패치에 품질 측정 성능이 떨어지는 현상을 통계적으로 파악할 수 있도록, 품질 예측 모듈(250)과 함께 학습할 수 있다.The reliability estimation module 240 may estimate reliability of an input patch (eg, a patch extracted by the sample patch extraction module 220). According to an embodiment, the reliability estimation module 240 may estimate the reliability based on a specific region of interest (ROI) rather than the entire region in the image. For example, the reliability estimation module 240 may estimate the reliability by designating a range to be estimated in the image. According to an embodiment, the reliability estimation module 240 may perform reliability estimation on a plurality of (eg, designated M) patches extracted from an image. In an embodiment, the reliability estimation module 240 estimates reliability of the extracted patches based on various reliability estimation methods, and selects at least one patch (eg, K patches) corresponding to an outlier having a reliability equal to or less than a specified threshold. ) can be estimated. According to an embodiment, while the quality prediction module 250 is being trained, the reliability estimation module 240 continuously measures the quality prediction performance of the input patch at the same time, so that the quality prediction module 250 can determine the specific type of input patch. It can be trained together with the quality prediction module 250 so that a phenomenon in which quality measurement performance is degraded can be statistically grasped.

품질 예측 모듈(250)은 입력 패치에 대한 품질을 측정할 수 있다. 일 실시예에 따르면, 품질 예측 모듈(250)은 이미지로부터 추출된 복수 개(예: 지정된 M개)의 패치들 중, 신뢰도 추정 모듈(240)에 기반하여 추정된 아웃라이어에 대응하는 패치(예: K개의 패치)를 품질 예측 대상에서 제외하고, 입력 패치 중 아웃라이어의 패치를 제외한 나머지 패치(예: 압축 품질 예측을 가능하게 하는 영역)를 이용하여 압축 품질을 판단할 수 있다. 일 실시예에 따르면, 품질 예측 모듈(250)은 신뢰도가 지정된 임계 값 이하인 아웃라이어에 대응하는 적어도 하나의 패치(예: K개의 패치)에 대해, 패치 별 압축 품질의 평균 연산에서 제외하고, 신뢰도가 지정된 임계 값 초과인 나머지 패치(예: (M-K)개의 패치)에 기반하여 압축 품질을 분석(예: 나머지 패치 별 압축 품질의 평균을 연산)하여, 압축 품질(예: 이미지에 대한 최종 품질(Q))를 분류(또는 결정)할 수 있다. The quality prediction module 250 may measure the quality of an input patch. According to an embodiment, the quality prediction module 250 includes a patch (eg, a designated M number) corresponding to an outlier estimated based on the reliability estimation module 240 among a plurality of (eg, designated M) patches extracted from an image. : K patches) are excluded from the quality prediction target, and the compression quality can be determined using the rest of the input patches except for the outlier patches (eg, a region enabling compression quality prediction). According to an embodiment, the quality prediction module 250 excludes at least one patch (eg, K patches) corresponding to an outlier whose reliability is equal to or less than a specified threshold value from an average operation of compression quality for each patch, and determines the reliability level. By analyzing the compression quality (e.g. calculating the average of the compression quality for each remaining patch) based on the remaining patches (e.g. (M-K) patches) for which is greater than a specified threshold, the compression quality (e.g. the final quality for the image (e.g. Q)) can be classified (or determined).

예를 들면, 품질 예측 모듈(250)은 이미지에서 아웃라이어를 제거하고, 유의미한 압축 품질 예측을 가능하게 하는 영상 패치에서 획득하는 예측 결과만을 종합하여 이미지의 품질을 보다 정확하고 신속하게 예측할 수 있다. 일 실시예에 따르면, 품질 예측 모듈(250)은 만약 추출된 복수 개(예: 지정된 M개)의 패치가 모두 아웃라이어라고 판단하는 경우, 다른 영역에서 복수 개(예: 지정된 M개)의 패치를 다시 추출하는 방식으로, 적응적으로 품질을 예측하도록 동작할 수도 있다. For example, the quality prediction module 250 can more accurately and quickly predict the quality of an image by removing outliers from the image and integrating only prediction results obtained from image patches enabling meaningful compression quality prediction. According to an embodiment, if the quality prediction module 250 determines that all of the extracted plural (eg, designated M) patches are outliers, the quality prediction module 250 determines a plurality of (eg, designated M) patches from other regions. In a way of re-extracting , it may operate to predict the quality adaptively.

노이즈 제거 모델(260)은, 디노이징 모델, 디노이저 또는 아티팩트 제거기를 포함할 수 있다. 일 실시예에 따라, 노이즈 제거 모델(260)은, 예를 들면, 이미지 처리 모듈(210)(예: 이미지 디코더)의 후처리(post-processing) 필터(filter)로 사용될 모델을 나타낼 수 있다. 일 실시예에 따르면, 노이즈 제거 모델(260)은, 이미지에 관련된 다양한 압축 품질(또는 압축률 또는 압축 레벨) 별로 복수 개(예: n개, n은 2 이상의 자연수)를 포함할 수 있다. 일 실시예에 따르면, 노이즈 제거 모델(260)은 전자 장치(101)에서 다양한 압축 품질에 대응하는 다양한 압축 이미지를 이용하여, 다양한 압축 품질에 각각 대응하는 복수 개의 노이즈 제거 모델(260)이 학습되어, 메모리(130)에 저장될 수 있다. The denoising model 260 may include a denoising model, a denoiser, or an artifact remover. According to an embodiment, the denoising model 260 may represent, for example, a model to be used as a post-processing filter of the image processing module 210 (eg, an image decoder). According to an embodiment, the denoising model 260 may include a plurality (eg, n, where n is a natural number of 2 or more) for each of various compression qualities (or compression rates or compression levels) related to an image. According to an embodiment, the noise removal model 260 is learned by using various compressed images corresponding to various compression qualities in the electronic device 101, and a plurality of noise removal models 260 respectively corresponding to various compression qualities are learned. , may be stored in the memory 130.

모델 선택 모듈(270)은, 적어도 하나의 지정된 조건(criteria)에 기반하여, 주어진 이미지의 이미지 보정(예: 압축 품질에 기반한 압축 아티팩트 제거)에 적용하기 최적의 노이즈 제거 모델(260)을 선택할 수 있다. 일 실시예에 따르면, 모델 선택 모듈(270)은 노이즈 제거 모델(260) 선택 시에, 신뢰도 추정 기반 압축 품질에 대응하게 학습된 노이즈 제거 모델(260)을 선택할 수 있다. 어떤 실시예에 따르면, 모델 선택 모듈(270)은 노이즈 제거 모델(260) 선택 시에, 압축 품질에 더하여, 사용자 의도(또는 선호도 또는 취향), 이미지를 제공하는 서비스 또는 어플리케이션의 종류 및/또는 실제 이미지가 표시될 디스플레이 모듈(160)의 물리적 크기(예: 디스플레이 모듈(160)의 화면 크기) 중 적어도 하나를 고려하여, 다른 보정 강도 적용(또는 설정)을 위한 노이즈 제거 모델(260)을 선택할 수도 있다.The model selection module 270 may select an optimal denoising model 260 to apply to image correction (eg, compression artifact removal based on compression quality) of a given image based on at least one specified criterion. there is. According to an embodiment, when selecting the denoising model 260, the model selection module 270 may select the denoising model 260 learned to correspond to the compression quality based on reliability estimation. According to some embodiments, in selecting the denoising model 260, the model selection module 270 may, in addition to the compression quality, the user intention (or preference or taste), the type of service or application providing the image, and/or the actual A noise removal model 260 for applying (or setting) another correction strength may be selected in consideration of at least one of the physical sizes (eg, screen size of the display module 160) of the display module 160 on which an image is to be displayed. there is.

스코어 산출 모듈(280)은 입력 패치의 추론 결과들을 신뢰도 기반으로 평균(mean) 또는 중간(median) 값을 계산하여 하나의 출력(예: 숫자)을 생성할 수 있다. 일 실시예에 따르면, 스코어 산출 모듈(280)은 이미지의 압축 품질(예: 최종 품질(Q))에 대한 품질 정보(예: 숫자)를 출력하도록 학습할 수 있다. 일 실시예에 따르면, 스코어 산출 모듈(280)은 미리 정의된 스코어 산출 기준이나 범위(예: 평균 또는 중간 값)에 기반하여 압축 품질에 대한 품질 정보를 학습할 수 있다.The score calculation module 280 may generate one output (eg, a number) by calculating a mean or a median value of the inference results of the input patch based on reliability. According to an embodiment, the score calculation module 280 may learn to output quality information (eg, a number) about the compression quality (eg, final quality (Q)) of an image. According to an embodiment, the score calculation module 280 may learn quality information about compression quality based on a predefined score calculation criterion or range (eg, average or median value).

본 개시에서 설명되는 다양한 실시예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합된 것을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 하드웨어적인 구현에 의하면, 다양한 실시예들에서 설명되는 동작들은 ASICs(Application Specific Integrated Circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로프로세서(microprocessors), 및/또는 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다. Various embodiments described in the present disclosure may be implemented in a recording medium readable by a computer or similar device using software, hardware, or a combination thereof. According to hardware implementation, the operations described in various embodiments are ASICs (Application Specific Integrated Circuits), DSPs (Digital Signal Processors), DSPDs (Digital Signal Processing Devices), PLDs (Programmable Logic Devices), FPGAs (Field Programmable Gates) arrays), processors, controllers, micro-controllers, microprocessors, and/or electrical units for performing other functions. there is.

다양한 실시예들에서, 기록 매체는 디스플레이 모듈(160)을 통해 이미지를 포함하는 화면을 표시하는 동작, 이미지의 압축 품질을 결정하는 동작, 결정된 압축 품질에 대응하게 학습된 노이즈 제거 모델을 선택하는 동작, 선택된 노이즈 제거 모델에 기반하여 이미지 보정을 처리하는 동작, 및 보정된 이미지를 지정된 동작(예: 표시, 저장 및/또는 전송 동작)에 따라 처리하는 동작을 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체를 포함할 수 있다.In various embodiments, an operation of displaying a screen including an image on a recording medium through the display module 160, an operation of determining the compression quality of the image, and an operation of selecting a noise removal model learned to correspond to the determined compression quality. , a computer-readable program recording a program for executing an operation of processing an image correction based on a selected denoising model, and an operation of processing the corrected image according to a specified operation (eg, a display, storage, and/or transmission operation). A recording medium may be included.

본 개시의 일 실시예에 따른 전자 장치(101)는 디스플레이 모듈(예: 도 1 또는 도 2의 디스플레이 모듈(160)), 메모리(예: 도 1 또는 도 2의 메모리(130)), 및 상기 디스플레이 모듈 및 상기 메모리와 작동적으로 연결된 프로세서(예: 도 1 또는 도 2의 프로세서(120))를 포함하고, 상기 프로세서는, 상기 디스플레이 모듈을 통해 이미지를 표시하고, 상기 이미지에서 지정된 복수 개의 블록을 지정된 방식으로 추출하고, 상기 복수 개의 블록에 대하여 각 블록 별로 신뢰도를 추정하고, 신뢰도 추정에 기반하여, 상기 복수 개의 블록 중 품질 예측 제외 대상인 아웃라이어(outlier)에 대응하는 제1 블록과 품질 예측이 가능한 제2 블록을 식별하고, 상기 복수 개의 블록 중 상기 제1 블록을 품질 예측 대상에서 제외하고, 및 상기 복수 개의 블록 중 상기 제1 블록을 제외한 나머지 제2 블록을 이용하여, 상기 이미지에 대한 압축 품질을 분류하도록 동작할 수 있다.The electronic device 101 according to an embodiment of the present disclosure includes a display module (eg, the display module 160 of FIG. 1 or 2), a memory (eg, the memory 130 of FIG. 1 or 2), and the A display module and a processor (eg, the processor 120 of FIG. 1 or 2) operatively connected to the memory, wherein the processor displays an image through the display module and a plurality of blocks specified in the image. is extracted in a designated manner, and reliability is estimated for each block with respect to the plurality of blocks, and based on the reliability estimation, a first block and quality prediction corresponding to an outlier, which is a quality prediction exclusion target, among the plurality of blocks A possible second block is identified, the first block among the plurality of blocks is excluded from the quality prediction target, and the remaining second blocks other than the first block among the plurality of blocks are used to determine the quality of the image. It may operate to classify compression quality.

일 실시예에 따르면, 상기 이미지는, 지정된 압축 품질로 압축된 압축 이미지일 수 있다.According to one embodiment, the image may be a compressed image compressed with a specified compression quality.

일 실시예에 따르면, 상기 프로세서는, 상기 추출된 복수 개의 블록에 대해, 블록 단위의 신뢰도 추정에 기반하여, 지정된 임계 값 이하의 아웃라이어에 대응하는 적어도 하나의 제1 블록을 추정하고, 상기 적어도 하나의 제1 블록을 압축 품질 분류를 위한 평균 연산에서 제외하고, 지정된 임계 값 초과의 적어도 하나의 제2 블록에 기반하여 압축 품질 분류를 위한 평균 연산을 수행하고, 평균 연산의 결과를 상기 이미지에 대한 압축 품질로 분류하도록 동작할 수 있다.According to an embodiment, the processor estimates at least one first block corresponding to an outlier of a predetermined threshold value or less based on block-by-block reliability estimation for the plurality of extracted blocks, and the at least one Excluding one first block from the average operation for compression quality classification, performing an average operation for compression quality classification based on at least one second block exceeding a specified threshold value, and displaying the result of the average operation in the image. It can operate to classify by compression quality for

일 실시예에 따르면, 상기 프로세서는, 상기 이미지에 대해 분류된 압축 품질에 대응하게 학습된 노이즈 제거 모델을 선택하고, 상기 선택된 노이즈 제거 모델에 기반하여 상기 이미지에 대한 화질 개선을 처리하고, 개선된 이미지를 지정된 동작에 기반하여 처리하도록 동작할 수 있다.According to an embodiment, the processor selects a denoising model learned to correspond to the classified compression quality of the image, processes image quality improvement for the image based on the selected denoising model, and It can act to process images based on specified actions.

일 실시예에 따르면, 상기 프로세서는, 다양한 압축 품질 별로 미리 학습된 복수의 노이즈 제거 모델을 상기 메모리에 저장하고, 상기 복수의 노이즈 제거 모델 중 상기 이미지의 압축 품질의 분류에 대응하게 학습된 노이즈 제거 모델을 선택하도록 동작할 수 있다.According to an embodiment, the processor stores in the memory a plurality of denoising models pre-learned for various compression qualities, and denoises learned corresponding to classification of the compression quality of the image among the plurality of denoising models. You can act to select a model.

일 실시예에 따르면, 상기 프로세서는, 개선된 이미지를, 상기 디스플레이 모듈을 통한 표시, 상기 메모리에 저장 또는 외부로 전송 중 적어도 하나의 지정된 동작으로 처리하도록 동작할 수 있다.According to an embodiment, the processor may operate to process the improved image through at least one designated operation of displaying through the display module, storing in the memory, or transmitting the image to the outside.

일 실시예에 따르면, 상기 프로세서는, 상기 이미지의 이미지 품질에 관련된 정보를 요청하는 사용자 입력을 수신하고, 상기 사용자 입력을 수신하는 것에 기반하여, 상기 이미지에 대한 보정 정보를 상기 이미지에 기반하여 표시하도록 상기 디스플레이 모듈(160)을 제어하도록 동작할 수 있다.According to an embodiment, the processor receives a user input requesting information related to image quality of the image, and based on receiving the user input, the processor displays correction information for the image based on the image. It can operate to control the display module 160 to do so.

일 실시예에 따르면, 상기 프로세서는, 상기 사용자 입력을 수신하는 것에 기반하여, 상기 이미지의 대표 품질에 대응하는 압축 품질을 갖는 적어도 하나의 블록을 식별하고, 상기 식별된 블록에 기반하여 지정된 노티 객체와 이미지 보정에 대한 상세 정보를 제공하도록 동작할 수 있다.According to an embodiment, the processor identifies at least one block having a compression quality corresponding to the representative quality of the image, based on receiving the user input, and a designated notification object based on the identified block. and provide detailed information about image correction.

일 실시예에 따르면, 상기 프로세서는, 상기 이미지로부터 높은 신뢰도의 블록을 식별하고, 식별된 블록에 대한 품질 및 신뢰도를 측정하고, 측정된 품질 및 신뢰도에 따른 블록 별 압축 품질과 상기 이미지의 대표 품질을 비교하고, 상기 블록 별 압축 품질 중 상기 대표 품질에 대응하는 압축 품질을 가지면서, 다른 블록과 비교하여 상대적으로 높은 신뢰도를 갖는 블록을 군집화(clustering) 하고, 상기 이미지에서 군집화된 블록에 대응하는 부분에 기반하여 상기 지정된 노티 객체를 제공하고, 상기 노티 객체와 함께, 상기 이미지 보정에 대한 전체 스코어 및 분류에 대한 설명을 포함하는 상세 정보를 표시하도록 상기 디스플레이 모듈을 제어하도록 동작할 수 있다.According to an embodiment, the processor identifies a high-reliability block from the image, measures quality and reliability of the identified block, compresses quality for each block according to the measured quality and reliability, and represents a quality of the image. Comparing, clustering blocks having a compression quality corresponding to the representative quality among the compression qualities of each block and having a relatively high reliability compared to other blocks, and corresponding to the blocks clustered in the image Provide the specified notification object based on the part, and control the display module to display detailed information including a description of a total score and classification for the image correction together with the notification object.

일 실시예에 따르면, 상기 프로세서는, 상기 이미지의 제2 압축 시에, 상기 이미지의 제1 압축 시에 발생된 아티펙트를 제거하고, 이후 제2 압축을 수행하도록 동작할 수 있다.According to an embodiment, the processor may operate to remove artifacts generated during the first compression of the image, and then to perform the second compression during the second compression of the image.

일 실시예에 따르면, 상기 프로세서는, 상기 이미지의 압축을 위한 사용자 입력을 수신하고, 상기 사용자 입력을 수신하는 것에 기반하여, 상기 이미지의 제1 압축 시의 제1 압축 품질에 대응하는 노이즈 제거 모델에 기반하여, 상기 제1 압축 시 발생한 아티펙트를 제거하고, 상기 제1 압축에 관련된 제1 압축 품질에 기반하여 상기 제2 압축을 위한 제2 압축 품질을 결정하고, 상기 제2 압축 품질에 기반하여 이미지에 대한 제2 압축을 수행하도록 동작할 수 있다.According to an embodiment, the processor receives a user input for compressing the image, and based on receiving the user input, a noise removal model corresponding to a first compression quality upon first compression of the image. Based on, removing artifacts generated during the first compression, determining a second compression quality for the second compression based on the first compression quality related to the first compression, and based on the second compression quality and perform a second compression on the image.

일 실시예에 따르면, 상기 프로세서는, 상기 제1 압축 품질에 대응하게 상기 제2 압축 품질을 결정하도록 동작할 수 있다.According to an embodiment, the processor may operate to determine the second compression quality corresponding to the first compression quality.

일 실시예에 따르면, 상기 프로세서는, 상기 압축 품질 분류를 위한 품질 예측 모듈 및 신뢰도 추정 모듈을 포함하고, 상기 품질 예측 모듈을 학습하는 중에, 상기 신뢰도 추정 모듈을 함께 학습하도록 동작할 수 있다.According to an embodiment, the processor may include a quality estimation module and a reliability estimation module for classifying the compression quality, and operate to learn the reliability estimation module together while learning the quality estimation module.

일 실시예에 따르면, 상기 프로세서는, 인공 지능 알고리즘을 이용하여 학습된 학습 모델(learning model 또는 trained model)을 이용하여, 이미지의 압축 품질을 분류하도록 동작할 수 있다.According to an embodiment, the processor may operate to classify the compression quality of an image using a learning model or trained model learned using an artificial intelligence algorithm.

이하에서는 다양한 실시예들의 전자 장치(101)의 동작 방법에 대해서 상세하게 설명한다. 일 실시예에 따라, 이하에서 설명하는 전자 장치(101)에서 수행하는 동작들은, 전자 장치(101)의 다양한 프로세싱 회로(various processing circuitry) 및/또는 실행 가능한 프로그램 요소(executable program elements)를 포함하는 프로세서(120)에 의해 실행될 수 있다. 일 실시예에 따라, 전자 장치(101)에서 수행하는 동작들은, 메모리(130)에 저장되고, 실행 시에, 프로세서(120)가 동작하도록 하는 인스트럭션들에 의해 실행될 수 있다. Hereinafter, an operating method of the electronic device 101 according to various embodiments will be described in detail. According to an embodiment, operations performed by the electronic device 101 described below include various processing circuitry and/or executable program elements of the electronic device 101. may be executed by the processor 120 . According to an embodiment, operations performed by the electronic device 101 may be executed by instructions stored in the memory 130 and causing the processor 120 to operate when executed.

도 3은 일 실시예에 따른 전자 장치에서 이미지 보정을 위한 학습, 분류 및 제거 동작의 예를 도시하는 흐름도이다.3 is a flowchart illustrating examples of learning, classification, and removal operations for image correction in an electronic device according to an exemplary embodiment.

도 3을 참조하면, 동작 301에서, 전자 장치(101)의 프로세서(120)는 복수 개 클래스(class)의 압축 품질로 구성된 데이터세트(dataset)를 생성할 수 있다. 일 실시예에 따르면, 프로세서(120)는 N개 클래스의 압축 품질로 구성된 데이터세트를 생성할 수 있다. 예를 들면, 전자 장치(101)에서 머신 러닝(machine learning) 모델을 만들기 위해서, 이미지의 데이터세트가 필요할 수 있다. 일 실시예에서, 이미지의 데이터세트는, 예를 들면, 도 2의 이미지 처리 모듈(210)(예: 이미지 인코더)을 사용하여 준비할 수 있다. 예를 들면, 프로세서(120)는 이미지 인코더의 품질(quality) 옵션을 N개의 클래스로 다양하게 설정하여, N개의 품질의 압축 이미지를 준비할 수 있다. 일 예로, JPEG 포맷의 인코딩이 구현된 라이브러리 어플리케이션은 인코딩 품질(encoding quality)을, 예를 들면, 1에서 100까지의 100개의 압축 단계를 제공할 수 있고, 이미지 편집 어플리케이션은 인코딩 품질을, 예를 들면, 1에서 13까지의 13개의 압축 단계를 제공할 수 있다.Referring to FIG. 3 , in operation 301, the processor 120 of the electronic device 101 may generate a dataset composed of compression qualities of a plurality of classes. According to one embodiment, the processor 120 may generate a dataset consisting of N classes of compression quality. For example, a dataset of images may be required to create a machine learning model in the electronic device 101 . In one embodiment, a dataset of images may be prepared using, for example, the image processing module 210 of FIG. 2 (eg, an image encoder). For example, the processor 120 may set the quality options of the image encoder in various ways to N classes to prepare N types of compressed images. For example, a library application implementing JPEG format encoding may provide encoding quality, for example, 100 compression steps from 1 to 100, and an image editing application may provide encoding quality, for example, For example, 13 compression stages from 1 to 13 can be provided.

일 실시예에 따르면, 프로세서(120)는 데이터세트에 기반하여, 예를 들면, 도 2의 압축 품질 분류 모듈(230)(예: 신뢰도 추정 모듈(240) 및 품질 예측 모듈(250))을 학습할 수 있다. 일 실시예에 따르면, 프로세서(120)는 다양한 품질로 압축된 이미지를 “입력 X”로 하고, 각 압축 이미지를 생성할 때 사용한 품질을 “Ground Truth 출력 Y”(예: 라벨(label) 또는 표지)로 설정할 수 있다. 일 실시예에 따르면, 프로세서(120)는 품질 예측 모듈(250)을 학습하는 도중에, 동시에 입력 패치에 대한 품질 예측 성능을 계속 측정하여 해당 품질 예측 모듈(250)이 특정 타입의 입력 패치에 품질 측정 성능이 떨어지는 현상을 통계적으로 파악할 수 있는 신뢰도 추정 모듈(240)도 함께 학습하도록 동작할 수 있다. 예를 들면, 프로세서(120)는 학습 데이터에서 해당 압축 품질을 분류하는 방법을 학습할 뿐만 아니라, 대응하는 신뢰도를 추정하는 방법까지 학습할 수 있다. 이를 기반으로, 프로세서(120)는 특정 이미지가 주어졌을 때, 해당 압축 품질에 맞는 신뢰도 추정을 적용할 수 있다.According to one embodiment, the processor 120 learns, for example, the compression quality classification module 230 (eg, the reliability estimation module 240 and the quality prediction module 250) of FIG. 2 based on the dataset. can do. According to one embodiment, the processor 120 takes images compressed with various qualities as “input X”, and the quality used when generating each compressed image is “ground truth output Y” (eg, label or sign). ) can be set. According to an embodiment, while the quality prediction module 250 is being trained, the processor 120 simultaneously measures quality prediction performance for an input patch so that the quality prediction module 250 measures the quality of a specific type of input patch. The reliability estimation module 240, which can statistically grasp the phenomenon of deterioration in performance, can also operate to learn together. For example, the processor 120 may not only learn how to classify the corresponding compression quality in the training data, but also learn how to estimate the corresponding reliability. Based on this, the processor 120 may apply reliability estimation suitable for the corresponding compression quality when a specific image is given.

일 실시예에 따르면, 프로세서(120)는, 예를 들면, 도 2의 노이즈 제거 모델(260)(예: artifact reducer)을 학습할 수 있다. 일 실시예에 따르면, 프로세서(120)는 다양한 품질로 압축된 이미지를 “입력 X”로 하고, 원본 이미지를 “Ground Truth 출력 Y”로 설정할 수 있다. 일 실시예에 따라, 노이즈 제거 모델(260)은 압축 품질 분류 모듈(230)과 다르게 라벨이 정수가 아닌 이미지를 나타낼 수 있다.According to an embodiment, the processor 120 may learn, for example, the noise removal model 260 (eg, an artifact reducer) of FIG. 2 . According to an embodiment, the processor 120 may set an image compressed with various qualities as “input X” and an original image as “ground truth output Y”. According to one embodiment, unlike the compression quality classification module 230, the denoising model 260 may indicate an image whose label is not an integer.

동작 303에서, 프로세서(120)는 압축 품질의 클래스를 분류할 수 있다. 일 실시예에 따르면, 프로세서(120)는 압축 품질의 클래스를 분류하기 위한 학습(learning)을 수행할 수 있다. 일 실시예에 따라, 프로세서(120)는 압축 품질의 클래스를 분류하기 위한 방법으로 다양한 머신 러닝 방법을 이용할 수 있으며, 예를 들면, CNN(convolutional neural network)으로 압축 품질 분류 모듈(230)(예: 품질 예측 모듈(250))을 구현할 수 있다. 예를 들면, 프로세서(120)는 CNN 모델을 동작 301에서 생성한 데이터세트 상에서 다양한 압축 이미지 품질을 이미지 처리 모듈(210)(예: 이미지 디코더)로 디코딩한 데이터로 훈련하여, 전자 장치(101) 상에서의 임의의 이미지가 주어졌을 때 해당 이미지의 압축 품질을 예측하도록 할 수 있다. 일 실시예에 따른 머신 러닝 방법은 CNN 모델에 한정하지 않으며, 압축 품질의 분류 및 개선을 위해 이용될 수 있는 다양한 머신 러닝 방법을 이용할 수 있다. 예를 들면, 머신 러닝 방법으로, 비지도 학습 방법(unsupervised learning)을 기반으로 하는 심층 신뢰 신경망(DBN, deep belief network) 및/또는 심층 오토인코더(deep autoencoder), 이미지와 같은 2차원 데이터 처리를 위한 합성곱 신경망(CNN), 및/또는 시계열 데이터 처리를 위한 순환 신경망(RNN, recurrent neural network)과 같은 다양한 모신 러닝 방법을 포함할 수 있다.At operation 303, the processor 120 may classify the compression quality class. According to an embodiment, the processor 120 may perform learning to classify compression quality classes. According to one embodiment, the processor 120 may use various machine learning methods as a method for classifying the compression quality class, for example, the compression quality classification module 230 (eg, convolutional neural network (CNN)) : The quality prediction module 250) may be implemented. For example, the processor 120 trains the CNN model with data decoded by the image processing module 210 (eg, an image decoder) of various compressed image qualities on the dataset generated in operation 301, and the electronic device 101 Given an arbitrary image on the image, it is possible to predict the compression quality of the image. A machine learning method according to an embodiment is not limited to a CNN model, and various machine learning methods that can be used for classification and improvement of compression quality may be used. For example, as a machine learning method, a deep belief network (DBN) based on an unsupervised learning method and / or a deep autoencoder (deep autoencoder), two-dimensional data processing such as images It may include various matrix learning methods, such as a convolutional neural network (CNN) for data processing, and/or a recurrent neural network (RNN) for time-series data processing.

일 실시예에 따르면, 프로세서(120)는 이미지에 대한 압축 품질을 예측(inference)할 수 있다. 일 실시예에 따르면, 프로세서(120)는 전자 장치(101)에서 압축 품질의 클래스 분류를 수행할 때, 이미지의 모든 패치(patch)들을 모두 체크(check)하지 않고, 예를 들면, 도 2의 샘플 패치 추출 모듈(220)을 이용하여, 예를 들면, 약 256개의 16x16 패치를 추출(예: 균등 추출 또는 랜덤 추출)하고, 추출된 256개 각각에 기반하여 이미지에 대한 압출 품질(예: 최종 품질(Q))를 예측할 수 있다. 일 실시예에 따르면, 프로세서(120)는 추출된 영역들에 기반한 최종 품질(Q)을 예측할 때, 추출된 영역들의 신뢰도를 추정하여, 신뢰도(또는 점수)가 지정된 임계 값 이하인 아웃라이어(outlier)에 대해, 압축 품질의 평균 연산에서 제외하고 최종 품질(Q)을 예측할 수 있다. 다양한 실시예들에 따르면, 프로세서(120)는 이미지의 전체가 아닌 일부를 분석함으로써 분류 속도를 급격하게 향상할 수 있다. 일 실시예에 따라, 압축 품질 분류 동작과 관련하여 후술하는 도면들을 참조하여 설명된다. According to an embodiment, the processor 120 may infer the compression quality of an image. According to an embodiment, when the electronic device 101 classifies the compression quality, the processor 120 does not check all patches of the image, for example, in FIG. 2 Using the sample patch extraction module 220, for example, about 256 16x16 patches are extracted (e.g. uniform or random extraction), and the extrusion quality (e.g. final quality (Q)) can be predicted. According to an embodiment, when predicting the final quality Q based on the extracted regions, the processor 120 estimates the reliability of the extracted regions, and identifies an outlier whose reliability (or score) is less than or equal to a specified threshold. For , the final quality (Q) can be predicted by excluding it from the average operation of the compression quality. According to various embodiments, the processor 120 may rapidly improve classification speed by analyzing a part of an image rather than the whole. According to an embodiment, a compression quality classification operation will be described with reference to the following drawings.

동작 305에서, 프로세서(120)는 압축 품질에 대응하게 학습된 노이즈 제거 모델 적용에 기반하여 아티팩트(artifacts)를 제거할 수 있다. 일 실시예에 따르면, 프로세서(120)는 주어진 이미지에 대해, 해당 압축 품질에 대응하게 학습된 개선 강도(denoising strength)를 적용하여 아티팩트를 제거할 수 있다. 일 실시예에 따르면, 프로세서(120)는 압축 품질에 대응하는 노이즈 제거 모델을 결정하기 위한 학습을 수행할 수 있다. 일 실시예에 따르면, 프로세서(120)는 압축 품질의 분류 개수와 같이, 예를 들면, N개의 노이즈 제거 모델(260)을 생성할 수 있다. 어떤 실시예에 따르면, 프로세서(120)는 노이즈 제거 모델(260)의 개수를 줄이기 위해서, 예를 들면, N개보다 적은 개수로 근사화(quantization)하여 노이즈 제거 모델(260)을 생성할 수도 있다. 일 예로, 프로세서(120)는 약 100개의 압축 품질 중에서, 예를 들면, 약 8개의 품질(예: 압축 품질 20, 30, 40, 50, 60, 70, 80, 및 90)로 근사화할 수 있다. 일 실시예에 따르면, 프로세서(120)는 근사화를 통해 생성된 압축 이미지가 원본 이미지로 8x8 패치 단위로 보정될 수 있도록 학습 모델을 생성할 수 있다. 일 실시예에 따르면, 프로세서(120)는 입력 크기를 16x16 픽셀(pixel) 크기를 갖는 패치로 설정하여 주위의 블록의 적어도 일부 영역을 같이 고려하도록 할 수도 있다. 예를 들면, 프로세서(120)는 특정 블록의 주변 블록과 질감 및/또는 색감이 급격하게 변하는 것을 방지할 수 있다. In operation 305, the processor 120 may remove artifacts based on the application of the denoising model learned to correspond to the compression quality. According to an embodiment, the processor 120 may remove artifacts by applying a denoising strength learned to correspond to a corresponding compression quality to a given image. According to an embodiment, the processor 120 may perform learning to determine a denoising model corresponding to compression quality. According to one embodiment, the processor 120 may generate, for example, N denoising models 260, such as the number of categories of compression quality. According to some embodiments, in order to reduce the number of denoising models 260, the processor 120 may generate the denoising models 260 by quantizing them to a number smaller than N, for example. As an example, the processor 120 may approximate, for example, about 8 qualities out of about 100 compression qualities (eg, compression qualities 20, 30, 40, 50, 60, 70, 80, and 90). . According to an embodiment, the processor 120 may generate a learning model so that the compressed image generated through approximation can be corrected in units of 8x8 patches with the original image. According to an embodiment, the processor 120 may set the input size to a patch having a size of 16x16 pixels so that at least some areas of neighboring blocks are also considered. For example, the processor 120 may prevent sudden changes in the texture and/or color of a specific block with neighboring blocks.

일 실시예에 따르면, 프로세서(120)는 압축 품질 분류 모듈(230)을 통해서 예측된 품질(예: 최종 품질(Q))에 기반하여 적절한 노이즈 제거 모델(260)을 결정하고, 결정된 노이즈 제거 모델(260)을 이미지 보정에 적용하여, 이미지의 손실 압축에 따른 압축 아티팩트를 제거할 수 있다.According to an embodiment, the processor 120 determines an appropriate denoising model 260 based on the quality predicted through the compression quality classification module 230 (eg, the final quality Q), and the determined denoising model. (260) may be applied to image correction to remove compression artifacts resulting from image lossy compression.

도 4는 일 실시예에 따른 전자 장치에서 이미지 보정의 예를 도시하는 도면이다.4 is a diagram illustrating an example of image correction in an electronic device according to an exemplary embodiment.

도 4의 예시에서, 예시 화면 <401>은 압축 품질에 따른 이미지 보정 전의 압축 이미지(410)(예: 주어진 이미지)가 제공되는 예를 나타낼 수 있다. 도 4의 예시에서, 예시 화면 <403>은 압축 품질에 따른 이미지 보정 후의 보정 이미지(420)(예: 복구 이미지)가 제공되는 예를 나타낼 수 있다.In the example of FIG. 4 , screen <401> may indicate an example in which a compressed image 410 (eg, a given image) before image correction according to compression quality is provided. In the example of FIG. 4 , screen <403> may indicate an example in which a corrected image 420 (eg, a restored image) after image correction according to compression quality is provided.

일 실시예에 따라, 도 4의 예시에서, 예시 화면 <401>은 주어진 이미지(예: 지정된 압축 품질로 압축된 압축 이미지(410))의 압축 품질이, 예를 들면, JPEG 품질 레벨(quality level)(예: 약 80)인 것을 예로 나타낼 수 있다. 일 실시예에 따라, 도 4의 예시에서, 예시 화면 <403>은 전자 장치(101)가 주어진 이미지(410)에서 JPEG 품질 레벨(예: 약 80)인 것을 분류(classification)(또는 예측)하고, 분류된 압축 품질(예: 품질 레벨: 약 80)에 대응하게 학습된 개선 알고리즘(예: 노이즈 제거 모델)을 적용(예: 이미지 보정)한 예를 나타낼 수 있다.According to one embodiment, in the example of FIG. 4 , the example screen <401> indicates that the compression quality of a given image (eg, the compressed image 410 compressed with a specified compression quality) is, for example, a JPEG quality level (quality level). ) (e.g., about 80). According to one embodiment, in the example of FIG. 4 , example screen <403> classifies (or predicts) that the electronic device 101 is a JPEG quality level (eg, about 80) in a given image 410 and .

일 실시예에 따르면, 전자 장치(101)에서 이미지는 대부분 일정 압축 품질(또는 압축률)로 압축되어 제공될 수 있다. 이러한 압축 이미지는, 예시 화면 <401>에 예시한 바와 같이, 압축 품질에 따라 고유한 아티팩트(artifacts)(예: 예시 화면 <401>에서 엘리먼트 430 부분)가 발생할 수 있다. 예를 들면, 이미지는, 압축 품질(예: 비트레이트(bit rate))을 낮추기 위해서 다양한 샘플링(예: chroma subsampling), 블록 크기(block size), 및/또는 근사화(예: 이산코사인변환(DCT, discrete cosine transform) 계수 근사화(coefficient quantization))와 같은 다양한 방법들이 사용될 수 있고, 압축 코덱에 따라 추가로 더 다양한 압축 품질 조절 방법(예: 비트레이트 조절 방법)으로 압축될 수 있다. According to an embodiment, most of the images in the electronic device 101 may be compressed with a certain compression quality (or compression rate) and provided. As illustrated in the example screen <401>, such a compressed image may generate unique artifacts (eg, element 430 in the example screen <401>) depending on the compression quality. For example, an image may be subjected to various sampling (e.g. chroma subsampling), block size, and/or approximation (e.g. discrete cosine transform (DCT)) to reduce compression quality (e.g. bit rate). , discrete cosine transform coefficient approximation (coefficient quantization) can be used, and can be further compressed with more various compression quality control methods (eg, bit rate control method) according to the compression codec.

일 실시예에 따르면, 전자 장치(101)는 다양한 압축 품질로 이루어진 학습 데이터(예: 다양한 압축 품질 별 이미지들)에서 해당 압축 품질에 나타나는 특유의 아티팩트(또는 노이즈)들의 패턴을 학습(또는 훈련)하고, 이를 제거하는 복수 개의 모델(예: 노이즈 제거 모델)을 심층 신경망(deep neural network)을 통해 학습할 수 있다. 일 실시예에서, 심층 신경망은 입력층(input layer)과 출력층(output layer) 사이에 다중의 은닉층(hidden layer)을 포함하는 인공 신경망(ANN, artificial neural network)을 나타낼 수 있다. 일 실시예에 따르면, 심층 신경망은 다중의 은닉층을 포함하여 다양한 비선형적 관계를 학습할 수 있으며, 딥 러닝(deep learning)의 핵심 모델로 활용되고 있다. 일 실시예에 따르면, 심층 신경망은 알고리즘에 따라 심층 신뢰 신경망(DBN), 심층 오토인코더, 합성곱 신경망(CNN), 및/또는 순환 신경망(RNN)을 포함할 수 있다. 어떤 실시예에 따르면, 전자 장치(101)는 아티팩트(또는 노이즈)들의 패턴에 대해 미리 학습(또는 훈련)된 모델(예: 노이즈 제거 모델)을 다른 전자 장치로부터 전달받거나 또는 서버로부터 획득(예: 다운로드)할 수도 있다.According to an embodiment, the electronic device 101 learns (or trains) patterns of unique artifacts (or noises) appearing in corresponding compression quality in training data (eg, images for each compression quality) composed of various compression qualities. and a plurality of models (eg, denoising models) to remove them may be learned through a deep neural network. In one embodiment, the deep neural network may represent an artificial neural network (ANN) including multiple hidden layers between an input layer and an output layer. According to an embodiment, a deep neural network can learn various nonlinear relationships including multiple hidden layers, and is used as a core model for deep learning. According to an embodiment, the deep neural network may include a deep trust neural network (DBN), a deep autoencoder, a convolutional neural network (CNN), and/or a recurrent neural network (RNN) according to an algorithm. According to an embodiment, the electronic device 101 receives a pre-learned (or trained) model (eg, a noise cancellation model) for patterns of artifacts (or noises) from another electronic device or obtains (eg, a noise cancellation model) from a server. can be downloaded).

다양한 실시예들에서는, 다양한 압축 품질 별로 최적화된 노이즈 제거 모델을 매칭할 수 있고, 압축 품질에 대응하는 노이즈 제거 모델을 적용하여 아티팩트(또는 노이즈)(예: 엘리먼트 430)를 제거할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 학습 데이터를 통해서 압축 품질에 따른 아티팩트를 분류할 수 있고, 아티팩트의 패턴을 자동적으로 분석하여, 해당 압축 품질에 대응하는 특유의 아티팩트까지 제거할 수 있다. In various embodiments, a denoising model optimized for each compression quality may be matched, and an artifact (or noise) (eg, element 430) may be removed by applying a denoising model corresponding to the compression quality. According to an embodiment, the electronic device 101 can classify artifacts according to compression quality through learning data, automatically analyze patterns of artifacts, and remove even unique artifacts corresponding to the corresponding compression quality. .

일 실시예에 따르면, 전자 장치(101)는 주어지 이미지(예: 예시 화면 <401>의 압축 이미지(410))에 대해 압축 품질을 파악하고, 해당 압축 품질의 아티팩트(또는 노이즈)에 맞게 학습된 노이즈 제거 모델을 적용하여, 사용자에게 아티팩트가 제거된 이미지(예: 예시 화면 <403>의 복구 이미지(420))를 제공할 수 있다.According to an embodiment, the electronic device 101 determines the compression quality of a given image (eg, the compressed image 410 of the example screen <401>), and learns according to the artifact (or noise) of the compression quality. An image from which artifacts are removed (eg, the restored image 420 of the example screen <403>) may be provided to the user by applying the denoising model.

도 5는 일 실시예에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다.5 is a flowchart illustrating a method of operating an electronic device according to an exemplary embodiment.

도 5를 참조하면, 동작 501에서, 전자 장치(101)의 프로세서(120)는 이미지를 포함하는 화면을 표시할 수 있다. 일 실시예에 따르면, 프로세서(120)는 이미지 및/또는 이미지를 포함하는 컨텐츠를 디스플레이 모듈(160)을 통해 시각적으로 제공할 수 있다. 일 실시예에 따르면, 프로세서(120)는 사용자 입력에 기반하여, 전자 장치(101)의 메모리(130)에 저장된 이미지 및/또는 외부 장치로부터 수신된 이미지를 포함하는 화면을 표시하도록 디스플레이 모듈(160)을 제어할 수 있다. 일 실시예에 따라, 이미지는 지정된 압축 품질(또는 압축률 또는 압축 레벨)로 압축된 압축 이미지를 나타낼 수 있다.Referring to FIG. 5 , in operation 501, the processor 120 of the electronic device 101 may display a screen including an image. According to an embodiment, the processor 120 may visually provide an image and/or content including the image through the display module 160 . According to an embodiment, the processor 120 displays a screen including an image stored in the memory 130 of the electronic device 101 and/or an image received from an external device based on a user input, the display module 160 ) can be controlled. According to one embodiment, the image may represent a compressed image compressed with a specified compression quality (or compression rate or compression level).

동작 503에서, 프로세서(120)는 주어진 이미지에 대한 압축 품질(또는 압축률 또는 압축 레벨)을 판단(또는 분류)할 수 있다. 일 실시예에 따르면, 프로세서(120)는 압축 품질을 판단할 때, 주어진 이미지의 전체 영역이 아닌 일부 영역, 예를 들면, 패치(예: 8x8 픽셀(pixel), 16x16 픽셀 또는 64x64 픽셀) 단위)로, 지정된 M개(예: 약 256개)의 패치를 지정된 방식으로(예: 균등하게 또는 랜덤하게) 추출하여 패치 별로 압축 품질을 예측할 수 있다. 예를 들면, 이미지 압축은 이미지를 작은 블록(block)으로 나누고 같은 압축 품질 레벨의 압축 메커니즘(예: chroma subsampling, DCT, Quantization)을 모든 블록에 일괄적으로 적용하는 동작으로 이루어질 수 있다. In operation 503, the processor 120 may determine (or classify) the compression quality (or compression rate or compression level) of the given image. According to an embodiment, when the processor 120 determines the compression quality, the processor 120 determines the compression quality, not the entire area of the given image, but a partial area, for example, a patch (eg, 8x8 pixel, 16x16 pixel, or 64x64 pixel unit). , compression quality can be predicted for each patch by extracting designated M (eg, about 256) patches in a designated manner (eg, uniformly or randomly). For example, image compression may be performed by dividing an image into small blocks and collectively applying a compression mechanism (eg, chroma subsampling, DCT, quantization) of the same compression quality level to all blocks.

예를 들면, 압축 이미지는, 압축 품질(예: 비트레이트(bit rate))를 낮추기 위해서 다양한 샘플링(예: chroma subsampling), 블록 크기(block size), 및/또는 근사화(예: 이산코사인변환(DCT, discrete cosine transform), 계수 근사화(coefficient quantization))와 같은 다양한 압축 메커니즘이 사용될 수 있고, 압축 코덱에 따라 추가로 더 다양한 압축 품질 조절 방법(예: 비트레이트 조절 방법)으로 압축될 수 있다. 압축 이미지는 이미지 전체를 목표 압축 품질을 맞추기 위해 모든 블록에 대해 일정 압축 품질(또는 압축률)로 압축(예: 비슷한 수준의 압축 메커니즘 적용)될 수 있다. 따라서, 이미지에서 적어도 일부 블록만 확인하더라도, 이미지에 대해 전체 압축 품질을 예측할 수 있다. For example, a compressed image may be subjected to various sampling (eg, chroma subsampling), block size, and/or approximation (eg, discrete cosine transformation (eg, Various compression mechanisms such as DCT, discrete cosine transform, and coefficient approximation (coefficient quantization) may be used, and further various compression quality control methods (eg, bitrate control method) may be used depending on the compression codec. A compressed image may be compressed (eg, by applying a similar compression mechanism) to a certain compression quality (or compression rate) for all blocks to meet the target compression quality for the entire image. Thus, even if at least some blocks in the image are checked, the overall compression quality can be predicted for the image.

일 실시예에 따르면, 프로세서(120)는 이미지의 압축 품질 판단 시에, 블록 단위(예: 패치 단위)의 신뢰도 추정에 기반하여 이미지의 압축 품질을 예측할 수 있다. 예를 들면, 프로세서(120)는 주어진 이미지에 대해 블록 단위 신뢰도 추정에 기반하여, 이미지로부터 아웃라이어(outlier)를 제거하고, 이미지에서 압축 품질 예측을 가능하게 하는 영역을 기반으로 압축 품질을 분석할 수 있다. 예를 들면, 프로세서(120)는 입력 패치에서 신뢰도 추정을 통해 아웃라이어에 대응하는 패치는 품질 예측 대상에서 제외하고, 입력 패치 중 아웃라이어의 패치를 제외한 나머지 패치(예: 압축 품질 예측을 가능하게 하는 영역)를 이용하여 압축 품질을 판단할 수 있다.According to an embodiment, when determining the compression quality of the image, the processor 120 may predict the compression quality of the image based on reliability estimation in block units (eg, patch units). For example, the processor 120 may remove outliers from the image based on block-by-block reliability estimation for a given image, and analyze the compression quality based on a region in the image that enables compression quality prediction. can For example, the processor 120 excludes the patch corresponding to the outlier from the quality prediction target through reliability estimation in the input patch, and excludes the patch of the outlier among the input patches (e.g., enables compression quality prediction). area) can be used to determine the compression quality.

일 실시예에 따르면, 프로세서(120)는 압축 품질을 판단할 때, 주어진 이미지로부터, 복수 개(예: 지정된 M개)의 패치를 지정된 방식(예: 균등 방식 또는 랜덤 방식)으로 추출하고, 추출된 패치의 신뢰도 추정을 수행할 수 있다. 예를 들면, 프로세서(120)는 다양한 신뢰도 추정 방식에 기반하여, 추출된 패치들의 신뢰도를 추정하여, 신뢰도가 지정된 임계 값 이하인 아웃라이어에 대응하는 적어도 하나의 패치(예: K개의 패치)에 대해, 패치 별 압축 품질의 평균 연산에서 제외하고, 신뢰도가 지정된 임계 값 초과인 나머지 패치(예: (M-K)개의 패치)에 기반하여 압축 품질을 분석(예: 나머지 패치 별 압축 품질의 평균을 연산)하여, 압축 품질(예: 이미지에 대한 최종 품질(Q))를 분류(또는 결정)할 수 있다. 예를 들면, 프로세서(120)는 이미지에서 아웃라이어를 제거하고, 유의미한 압축 품질 예측을 가능하게 하는 영상 패치에서 획득하는 예측 결과만을 종합하여 이미지의 품질을 보다 정확하고 신속하게 예측할 수 있다.According to an embodiment, when determining the compression quality, the processor 120 extracts a plurality of (eg, designated M) patches from a given image in a designated method (eg, a uniform method or a random method), and extracts the patch. Reliability estimation of patched patches can be performed. For example, the processor 120 estimates the reliability of the extracted patches based on various reliability estimation methods, and for at least one patch (eg, K patches) corresponding to an outlier having a reliability equal to or less than a specified threshold. , Excluding from the average computation of compression quality per patch, analysis of the compression quality based on the remaining patches (eg, (M-K) patches) whose reliability exceeds a specified threshold (eg, computation of the average compression quality per remaining patch) In this way, the compression quality (eg, the final quality (Q) for the image) can be classified (or determined). For example, the processor 120 may more accurately and quickly predict the quality of an image by removing outliers from the image and integrating only prediction results obtained from image patches enabling meaningful compression quality prediction.

일 실시예에 따르면, 프로세서(120)는 압축 이미지를 패치 단위(예: 8x8 패치 단위, 16x16 패치 단위 또는 64x64 패치 단위)로 분류 학습 및 예측을 통해 압축 품질을 결정할 수 있다. 예를 들면, 이미지의 압축은, 패치 단위로 이루어질 수 있으므로, 8x8 패치 단위, 16x16 패치 단위 또는 최대로 64x64(예: HEVC의 경우) 패치 단위로 분류가 가능할 수 있다. 이를 통해, 프로세서(120)는 압축이 발생하는 단위인 해당 패치에 집중하여, 전체적인 이미지 특성에 의한 계산 오류를 방지할 수 있다. 또한, 프로세서(120)는 압축 품질을 결정하기 위한 연산의 입력 이미지(input image)의 크기가 작으므로, 기존의 풀링 레이어(pooling layer)를 사용하여 불필요하게 수용 영역(receptive field)을 넓히고 정확성이 떨어질 수 있는 동작을 회피할 수 있다.According to an embodiment, the processor 120 may determine the compression quality through classification learning and prediction of the compressed image in patch units (eg, 8x8 patch units, 16x16 patch units, or 64x64 patch units). For example, since image compression may be performed in patch units, classification may be possible in 8x8 patch units, 16x16 patch units, or at most 64x64 (eg, HEVC) patch units. Through this, the processor 120 can prevent calculation errors due to overall image characteristics by concentrating on a corresponding patch, which is a unit in which compression occurs. In addition, since the size of the input image of the operation for determining the compression quality is small, the processor 120 unnecessarily widens the receptive field and improves accuracy by using a conventional pooling layer. You can avoid actions that could cause you to fall.

일 실시예에 따르면, 프로세서(120)는 이미지의 특성상 압축률을 명확히 반영하지 못하는 영역(예: 아웃라이어)(예: 이미지에서 검은색의 영역 및/또는 저주파 성분의 영역과 같이 압축 여부에 관계 없이 비슷한 특성을 가지는 영역)이 발생할 수 있으므로, 이를 고려하여, 압축 품질 판단 시에, 이미지로부터 아웃라이어를 제거할 수 있다. 예를 들면, 프로세서(120)는 추출된 영역들의 각 압축 품질(또는 점수)들의 평균 값을 계산할 때, 추출된 영역들의 신뢰도를 분석하여, 신뢰도가 지정된 임계 값 이하인 아웃라이어에 대해, 평균 값 계산에서 제외할 수 있다. According to an embodiment, the processor 120 may perform compression regardless of compression, such as an area (eg, an outlier) that does not clearly reflect the compression rate due to the nature of the image (eg, a black area and/or an area of low frequency components in an image). Since an area having similar characteristics) may occur, an outlier may be removed from an image when determining compression quality in consideration of this. For example, when calculating the average value of each compression quality (or score) of the extracted regions, the processor 120 analyzes the reliability of the extracted regions, and calculates the average value for outliers whose reliability is less than or equal to a specified threshold. can be excluded from

동작 505에서, 프로세서(120)는 압축 품질에 대응하게 학습된 모델(예: 노이즈 제거 모델 또는 디노이징 모델)을 선택할 수 있다. 예를 들면, 프로세서(120)는 압축 품질을 사전에 예측하고, 전자 장치(101)에서 해당 압축 품질로 학습된 노이즈 제거 모델(260)을 사용할 수 있다.In operation 505, the processor 120 may select a model (eg, a denoising model or a denoising model) learned to correspond to the compression quality. For example, the processor 120 may predict the compression quality in advance and use the noise removal model 260 learned with the corresponding compression quality in the electronic device 101 .

일 실시예에 따르면, 프로세서(120)는 메모리(130)에 다양한 압축 품질 별로 미리 학습된 복수의 노이즈 제거 모델(260) 중, 이미지의 압축 품질에 대응하게 학습된 노이즈 제거 모델(260)을 선택할 수 있다. 일 실시예에 따르면, 프로세서(120)는 주어진 이미지에 대해, 제1 압축 품질로 분류하는 경우 제1 압축 품질의 분류에 대응하는 제1 노이즈 제거 모델을 선택할 수 있고, 제2 압축 품질로 분류하는 경우 제2 압축 품질의 분류에 대응하는 제2 노이즈 제거 모델을 선택할 수 있고, 제3 압축 품질로 분류하는 경우 제3 압축 품질의 분류에 대응하는 제3 노이즈 제거 모델을 선택할 수 있다. 어떤 실시예에 따르면, 프로세서(120)는 압축 품질에 대응하게 학습된 노이즈 제거 모델 선택 시, 사용자 의도(또는 선호도 또는 취향), 이미지를 제공하는 서비스 또는 어플리케이션의 종류 및/또는 실제 이미지가 표시될 디스플레이 모듈(160)의 물리적 크기(예: 디스플레이 모듈(160)의 화면 크기) 중 적어도 하나를 더 고려하여, 노이즈 제거 모델을 선택할 수도 있다.According to an embodiment, the processor 120 selects a denoising model 260 learned to correspond to the compression quality of an image from among a plurality of denoising models 260 pre-learned for each compression quality in the memory 130. can According to an embodiment, the processor 120 may select a first denoising model corresponding to the classification of the first compression quality when classifying the given image as the first compression quality, and classifying it as the second compression quality. In this case, a second noise reduction model corresponding to the classification of the second compression quality may be selected, and in the case of classification into the third compression quality, a third noise reduction model corresponding to the classification of the third compression quality may be selected. According to an embodiment, when selecting a denoising model learned to correspond to the compression quality, the processor 120 determines the user's intention (or preference or taste), the type of service or application providing the image, and/or the actual image to be displayed. A noise cancellation model may be selected by further considering at least one of the physical sizes of the display module 160 (eg, the screen size of the display module 160).

동작 507에서, 프로세서(120)는 선택된 모델에 기반하여 이미지 처리를 수행할 수 있다. 일 실시예에 따르면, 프로세서(120)는 복수의 노이즈 제거 모델(260) 중, 이미지의 압축 품질에 기반하여 선택된 노이즈 제거 모델을 이용하여 이미지 보정을 처리할 수 있다. 일 실시예에 따르면, 프로세서(120)는 선택된 노이즈 제거 모델에 대응하는 보정 강도에 따라 주어진 이미지에서 압축 아티팩트(또는 노이즈)를 제거하여 주어진 이미지(예: 압축 이미지)를 압축 이전의 원본 이미지로 복구할 수 있다.In operation 507, the processor 120 may perform image processing based on the selected model. According to an embodiment, the processor 120 may process image correction using a noise removal model selected from among a plurality of noise removal models 260 based on compression quality of an image. According to an embodiment, the processor 120 removes compression artifacts (or noise) from the given image according to the correction strength corresponding to the selected denoising model, and restores the given image (eg, the compressed image) to an original image before compression. can do.

동작 509에서, 프로세서(120)는 지정된 동작을 처리할 수 있다. 일 실시예에 따라, 프로세서(120)는 보정된 이미지를 표시하도록 디스플레이 모듈(160)을 제어할 수 있다. 일 실시예에 따르면, 프로세서(120)는 주어진 이미지가 대응하는 노이즈 제거 모델에 기반하여 보정된 상태를 표시하도록 디스플레이 모듈(160)을 제어할 수 있다. 어떤 실시예에 따르면, 동작 509의 지정된 동작은, 보정된 이미지를 외부로 전송하거나, 또는 전자 장치(101)의 메모리(130)에 저장하는 동작을 포함할 수 있다. At operation 509, the processor 120 may process the designated operation. According to an embodiment, the processor 120 may control the display module 160 to display the corrected image. According to an embodiment, the processor 120 may control the display module 160 to display a corrected state based on a noise removal model corresponding to a given image. According to some embodiments, the designated operation of operation 509 may include an operation of transmitting the corrected image to the outside or storing it in the memory 130 of the electronic device 101 .

도 6은 일 실시예에 따른 전자 장치에서 학습하는 동작 예를 도시하는 도면이다.6 is a diagram illustrating an example of an operation learned in an electronic device according to an embodiment.

일 실시예에 따라, 도 6에서는 전자 장치(101)에서 수행하는 사전 학습 동작의 예를 나타낼 수 있다. 어떤 실시예에 따르면, 도 6에 예시한 바와 같은 전자 장치(101)에서 수행하는 사전 학습 동작은, 예를 들면, 다른 환경(예: 개발자 워크스테이션 및/또는 클라우드 환경)에서 수행되고, 전자 장치(101)에서 다운로드 될 수도 있다. 어떤 실시예에 따르면, 전자 장치(101)의 사전 학습 동작에 따른 모델(예: 분류 모델)에 대해, 다른 전자 장치 또는 서버에 의해 미리 학습(또는 훈련)된 모델을 획득(예: 수신 또는 다운로드)할 수도 있다.According to an embodiment, FIG. 6 may show an example of a pre-learning operation performed by the electronic device 101 . According to an embodiment, the pre-learning operation performed by the electronic device 101 as illustrated in FIG. 6 is performed, for example, in another environment (eg, a developer workstation and/or a cloud environment), and the electronic device It can also be downloaded from (101). According to an embodiment, for a model (eg, a classification model) according to a pre-learning operation of the electronic device 101, a pre-trained (or trained) model is acquired (eg, received or downloaded) by another electronic device or server. )You may.

도 6을 참조하면, 블록 610에서, 전자 장치(101)의 프로세서(120)는 N개의 품질로 구성된 데이터세트(dataset)를 생성할 수 있다. 일 실시예에 따르면, 프로세서(120)는 복수 개(예: N개) 클래스의 압축 품질로 구성된 데이터세트를 생성하기 위해, 이미지들의 채널을 N 단계로 서브샘플링(subsampling), 변환(transform) 및/또는 계수 근사화(coefficients quantization)를 수행할 수 있다.Referring to FIG. 6 , in block 610, the processor 120 of the electronic device 101 may generate a dataset composed of N qualities. According to an embodiment, the processor 120 subsamples channels of images in N steps, transforms and /or can perform coefficients quantization.

블록 620에서, 프로세서(120)는 압축 이미지에 기반하여 모델을 학습할 수 있다. 일 실시예에 따르면, 프로세서(120)는 압축 이미지에 대해 학습(예: 블록 630)을 수행할 수 있다. 일 실시예에 따라, 본 개시에서 학습은, 블록 430에 예시한 바와 같이, 대상 노이즈 제거 모델이 변환된 패치의 아티팩트들을 분석하여, 압축 품질 및 그 압축 품질의 신뢰도를 알아낼 수 있도록 하는 학습을 나타낼 수 있다. At block 620, processor 120 may learn a model based on the compressed image. According to an embodiment, the processor 120 may perform training (eg, block 630) on the compressed image. According to one embodiment, learning in this disclosure represents learning that allows the target denoising model to analyze the artifacts of the transformed patch to determine the compression quality and the reliability of the compression quality, as illustrated in block 430. can

블록 640에서, 프로세서(120)는 학습(블록 630)에 따른 1개의 분류 모델을 생성할 수 있다. 일 실시예에 따르면, 프로세서(120)는 학습에 기반하여 생성하는 분류 모델을, 후술하는 도 7의 압축 품질을 예측하는 동작에 이용할 수 있다.At block 640, processor 120 may generate one classification model according to learning (block 630). According to an embodiment, the processor 120 may use a classification model generated based on learning for an operation of predicting the compression quality of FIG. 7 to be described later.

도 7은 일 실시예에 따른 전자 장치에서 압축 품질을 예측하는 동작 방법을 도시하는 흐름도이다.7 is a flowchart illustrating an operation method of predicting compression quality in an electronic device according to an embodiment.

일 실시예에 따라, 도 7은 전자 장치(101)에서 수행하는 압축 품질을 분류하는 동작의 예를 나타낼 수 있다. According to an embodiment, FIG. 7 may show an example of an operation of classifying compression quality performed by the electronic device 101 .

도 7을 참조하면, 동작 701에서, 전자 장치(101)의 프로세서(120)는 이미지를 입력할 수 있다. 일 실시예에 따르면, 프로세서(120)는 개선할 압축 품질의 이미지를 학습 대상의 이미지로 입력할 수 있다.Referring to FIG. 7 , in operation 701, the processor 120 of the electronic device 101 may input an image. According to an embodiment, the processor 120 may input an image of compressed quality to be improved as an image of a learning target.

동작 703에서, 프로세서(120)는 이미지에서 균등한 간격으로 약 M개의 패치를 추출할 수 있다. 일 실시예에 따르면, 프로세서(120)는 입력된 이미지로부터, 예를 들면, 약 256개의 16x16 패치를 균등하게 또는 랜덤하게 추출할 수 있다.In operation 703, the processor 120 may extract about M patches at equal intervals from the image. According to an embodiment, the processor 120 may equally or randomly extract, for example, about 256 16x16 patches from an input image.

동작 705에서, 프로세서(120)는 분류 모델로 아티팩트를 분석하여 N 단계(예: 아티팩트의 특성에 따른 품질 정보(예: 숫자)) 중 하나의 압축 품질로 구분할 수 있다. 일 실시예에 따르면, 프로세서(120)는 도 6에서 학습(예: 블록 430)에 따라 생성된 분류 모델을 기반으로 대응하는 아티팩트를 분석하여, N 단계의 압축 품질 중 어느 하나의 압축 품질로 분류할 수 있다In operation 705, the processor 120 analyzes the artifact with a classification model and classifies it into one compression quality among N stages (eg, quality information (eg, number) according to the characteristics of the artifact). According to an embodiment, the processor 120 analyzes the corresponding artifact based on the classification model generated according to learning (eg, block 430) in FIG. 6 and classifies it into one compression quality among N levels of compression quality. can do

동작 707에서, 프로세서(120)는 신뢰도를 이용하여 약 K개의 아웃라이어를 제거할 수 있다. 일 실시예에 따르면, 프로세서(120)는 패치 단위로 신뢰도를 추정하고, 패치 단위 신뢰도 추정에 기반하여, 이미지로부터 아웃라이어를 제거할 수 있다. 예를 들면, 프로세서(120)는 신뢰도 추정을 통해, 신뢰도가 지정된 임계 값 이하인 아웃라이어에 대응하는 패치는 품질 예측 대상에서 제외할 수 있다. 이의 예가 도 8에 예시된다.At operation 707, the processor 120 may remove about K outliers using the confidence level. According to an embodiment, the processor 120 may estimate the reliability in units of patches and remove outliers from the image based on the reliability estimation in units of patches. For example, through reliability estimation, the processor 120 may exclude a patch corresponding to an outlier having a reliability equal to or less than a specified threshold value from a quality prediction target. An example of this is illustrated in FIG. 8 .

동작 709에서, 프로세서(120)는 Y(예: Y = M - K)개의 패치의 품질 결과를 종합하여 이미지의 대표 품질(예: 최종 품질(Q))을 예측할 수 있다. 일 실시예에 따르면, 프로세서(120)는 이미지에서 추출된 패치(예: M개의 패치)로부터 아웃라이어에 대응하는 적어도 하나의 패치(예: K개의 패치)를 제거하고, 나머지 패치(예: Y개(예: M - K개)의 패치)에서 출력된 결과(예: Y개의 패치 별 압축 품질)를 평균하여 이미지의 대표 품질(또는 최종 품질(Q))을 예측(또는 도출)할 수 있다. 일 실시예에 따르면, 프로세서(120)는 이미지에 대해 예측된 대표 품질을, 후술하는 압축 아티팩트 제거 및/또는 이미지 보정 동작에서 이미지에 대한 압축 품질의 입력으로 사용할 수 있다.In operation 709, the processor 120 may predict a representative quality (eg, final quality (Q)) of an image by integrating quality results of Y (eg, Y = M - K) patches. According to an embodiment, the processor 120 removes at least one patch (eg, K patches) corresponding to an outlier from the patches (eg, M patches) extracted from the image, and removes the remaining patches (eg, Y patches). The representative quality (or final quality (Q)) of an image can be predicted (or derived) by averaging the results (eg, compression quality for each Y number of patches) output from (eg, M - K) patches. . According to an embodiment, the processor 120 may use the predicted representative quality of the image as an input of the compression quality of the image in a compression artifact removal and/or image correction operation described below.

도 8은 일 실시예에 따른 전자 장치에서 품질 예측을 위한 추론 동작의 예를 설명하기 위해 도시하는 도면이다.8 is a diagram illustrating an example of an inference operation for predicting quality in an electronic device according to an exemplary embodiment.

일 실시예에 따라, 도 8은 전자 장치(101)에서 패치 단위의 신뢰도 기반 압축 품질을 예측하는 동작의 예를 나타낼 수 있다.According to an embodiment, FIG. 8 may show an example of an operation of predicting reliability-based compression quality in a patch unit in the electronic device 101 .

도 8을 참조하면, 전자 장치(101)는 패치 단위의 신뢰도를 추정하기 위한 학습(learning)을 수행할 수 있다. 일 실시예에 따라, 전자 장치(101)는 패치 단위의 신뢰도를 추정하기 위한 방법으로 다양한 머신 러닝 방법을 이용할 수 있으며, 예를 들면, CNN(convolutional neural network)으로 신뢰도 추정을 구현할 수 있다. Referring to FIG. 8 , the electronic device 101 may perform learning to estimate the reliability of each patch. According to an embodiment, the electronic device 101 may use various machine learning methods as a method for estimating reliability in units of patches, and for example, reliability estimation may be implemented with a convolutional neural network (CNN).

예를 들면, 전자 장치(101)는 임의의 이미지(800)(예: 압축 이미지)가 주어졌을 때, 이미지(800)의 패치(810) 별 신뢰도 인식 CNN(820)을 사용하여, 해당 이미지(800)의 압축 품질 수준을 예측하도록 할 수 있다. 일 실시예에 따라, 도 8의 예시에서는, 주어진 이미지(800)는 이미지(800)의 전체 영역에서 9개의 입력 패치(810)만 검사한다고 가정할 수 있다. 일 실시예에 따르면, 각 입력 패치(810)에는 압축 코딩 블록이 포함될 수 있다. 일 실시예에서, 패치(810)는, 예를 들면, 샘플 패치 추출 모듈(220)을 통해 균일하게 샘플링될 수 있다. 샘플링된 패치는 일괄적인 예측을 위해 CNN(820)에 입력될 수 있고, CNN(820)을 통해, 예를 들면, 9 쌍(pairs)의 품질 결과(예: 품질(quality)(830) 및 신뢰도(confidence)(840))를 산출할 수 있다. For example, when an arbitrary image 800 (eg, a compressed image) is given, the electronic device 101 uses the reliability recognition CNN 820 for each patch 810 of the image 800 to obtain the image ( 800) to predict the compression quality level. According to one embodiment, in the example of FIG. 8 , it may be assumed that only nine input patches 810 are inspected in the entire area of the image 800 . According to one embodiment, each input patch 810 may include a compressed coding block. In one embodiment, patches 810 may be uniformly sampled, for example, via sample patch extraction module 220 . The sampled patches can be input to CNN 820 for batch prediction, and through CNN 820, for example, 9 pairs of quality results (eg, quality 830) and confidence (confidence) 840) can be calculated.

일 실시예에 따르면, 전자 장치(101)는 9 쌍의 품질 결과에서 신뢰도가 지정된 임계 값(예: 약 80%) 이하인 아웃라이어에 대응하는 패치(예: 낮은 신뢰도의 2개의 패치)는 제외할 수 있다. 일 실시예에 따라, 전자 장치(101)는 9 쌍의 품질 결과에서 신뢰도가 지정된 임계 값(예: 약 80%) 초과의 나머지 패치(예: 아웃라이어에 대응하는 패치가 제거된 패치로, 예를 들면, 높은 신뢰도의 7개의 패치)의 품질 결과를 평균할 수 있다. 예를 들면, 도 8의 예시에서, 전자 장치(101)는 7개의 패치에서 출력된 결과를 평균하고, 그 평균 값(예: ‘85’)을 이미지(800)의 대표 품질(또는 최종 품질(Q))을 예측(또는 도출)할 수 있다.According to an embodiment, the electronic device 101 may exclude patches (eg, two low-confidence patches) corresponding to outliers whose reliability is less than or equal to a specified threshold (eg, about 80%) from 9 pairs of quality results. can According to an embodiment, the electronic device 101 selects remaining patches (eg, patches corresponding to outliers are removed) whose reliability exceeds a specified threshold value (eg, about 80%) in the 9 pairs of quality results. For example, the quality results of 7 patches with high reliability) can be averaged. For example, in the example of FIG. 8 , the electronic device 101 averages output results from 7 patches, and converts the average value (eg, '85') to the representative quality (or final quality (or final quality) of the image 800). Q)) can be predicted (or derived).

일 실시예에 따른 머신 러닝 방법은 CNN 모델에 한정하지 않으며, 압축 품질의 분류를 위해 이용될 수 있는 다양한 머신 러닝 방법을 이용할 수 있다. 예를 들면, 머신 러닝 방법으로, 심층 신뢰 신경망(DBN, deep belief network), 심층 오토인코더(deep autoencoder), 합성곱 신경망(CNN), 및/또는 순환 신경망(RNN, recurrent neural network)과 같은 다양한 머신 러닝 방법을 포함할 수 있다.A machine learning method according to an embodiment is not limited to a CNN model, and various machine learning methods that can be used for classification of compression quality may be used. For example, as a machine learning method, various methods such as a deep belief network (DBN), a deep autoencoder, a convolutional neural network (CNN), and/or a recurrent neural network (RNN) It may include machine learning methods.

일 실시예에 따르면, 전자 장치(101)는 이미지에 대한 압축 품질의 예측(또는 압축 품질의 클래스 분류)을 수행할 때, 이미지의 모든 패치들을 모두 체크(check)하지 않고, 예를 들면, 샘플 패치 추출 모듈(220)을 이용하여, 예를 들면, 약 256개의 16x16 패치를 추출하고, 추출된 256개에서, 신뢰도 추정을 통해 아웃라이어에 대응하는 패치를 제거하고, 압축 품질의 예측을 가능하게 하는 유의미한 패치를 분류 및 통합하여 이미지에 대한 최종 품질(Q)을 정확하고 신속하게 예측할 수 있다. 예를 들면, 전자 장치(101)는 추출된 영역들에 기반한 최종 품질(Q)을 예측할 때, 추출된 영역들의 신뢰도를 추정하여, 신뢰도가 지정된 임계 값 이하인 영역에 대해, 평균 값 계산에서 제외하고 최종 품질(Q)를 예측할 수 있다.According to an embodiment, when the electronic device 101 performs compression quality prediction (or compression quality class classification) for an image, the electronic device 101 does not check all patches of the image, for example, a sample Using the patch extraction module 220, for example, about 256 16x16 patches are extracted, and from the extracted 256 patches, patches corresponding to outliers are removed through reliability estimation, and compression quality can be predicted. The final quality (Q) for an image can be accurately and quickly predicted by classifying and integrating significant patches that For example, when predicting the final quality Q based on the extracted regions, the electronic device 101 estimates the reliability of the extracted regions, and excludes regions whose reliability is less than or equal to a specified threshold value in calculating the average value. The final quality (Q) can be predicted.

일 실시예에 따라, 본 개시에서는, 도 8에 예시한 바와 같이, CNN(820)의 품질 결과를, 품질(830)(예: 품질 예측 모듈(250)의 학습에 의한 예측 결과)과 신뢰도(840)(예: 신뢰도 추정 모듈(240)의 학습에 의한 예측 결과)로 구분할 수 있다. 예를 들면, 전자 장치(101)는 각 패치의 품질 예측의 신뢰도를 품질 예측 결과와 Ground Truth 결과의 차이를 기반으로 압축 품질을 예측할 수 있다. 예를 들면, 본 개시에 따르면, 품질 예측 모듈(250)을 학습하는 중에, 동시에 입력 패치에 대한 품질 예측 성능을 계속 측정하고, 해당 품질 예측 모듈(250)이 특정 타입의 입력 패치에 대해 품질 측정 성능이 떨어지는 현상을 통계적으로 파악할 수 있는 신뢰도 추정 모듈(240)도 함께 학습할 수 있다.According to an embodiment, in the present disclosure, as illustrated in FIG. 8 , the quality result of the CNN 820 is determined by the quality 830 (eg, the prediction result by learning of the quality prediction module 250) and the reliability ( 840) (eg, a prediction result by learning of the reliability estimation module 240). For example, the electronic device 101 may predict the compression quality based on the reliability of the quality prediction of each patch based on the difference between the quality prediction result and the ground truth result. For example, according to the present disclosure, while the quality prediction module 250 is being trained, quality prediction performance for an input patch is continuously measured, and the quality prediction module 250 measures the quality of a specific type of input patch. The reliability estimation module 240, which can statistically grasp the phenomenon of poor performance, can also be learned.

예를 들면, CNN(820) 훈련의 경우 이미지(예: raw 이미지)를 일정 수준으로 압축하여 압축 품질의 Ground Truth 레이블을 제공할 수 있지만, 품질 예측에 대한 실제 신뢰도(또는 점수)는 제공할 수 없다. 이하에서는 본 개시에 따라 각 후보 패치(예: 입력 패치)에 대해 예측된 품질 레벨의 신뢰도를 실질적으로 추정하여 제공하는 일 예를 설명한다.For example, in the case of CNN(820) training, images (e.g. raw images) can be compressed to some degree to provide ground truth labels of compressed quality, but not true confidence (or scores) for predicting quality. does not exist. Hereinafter, an example of substantially estimating and providing reliability of a predicted quality level for each candidate patch (eg, an input patch) according to the present disclosure will be described.

예를 들면, 훈련된 CNN 모델 G(·)가 주어진 입력 패치(input patch) x의 압축 품질(예:

Figure pat00001
)을 정확하게 예측할 수 있다고 가정하면, 주어진 입력 패치 xi의 실제 신뢰도 ci는 아래 <수학식 1>과 같이 근사화될 수 있다.For example, if a trained CNN model G(·) is given the compression quality of an input patch x, e.g.
Figure pat00001
) can be accurately predicted, the actual reliability ci of a given input patch xi can be approximated as shown in Equation 1 below.

Figure pat00002
Figure pat00002

<수학식 1>에서,

Figure pat00003
는 주어진 i번째 입력 패치 xi의 예측된 품질(predicted quality)을 나타내고, qi는 실제 품질(true quality)을 나타내며, m은 최대 품질 레벨(maximum quality level)을 나타낼 수 있다. 예를 들면, m은 libjpeg-turbo의 경우 100으로 설정될 수 있고, FFmpeg의 경우 51로 설정될 수 있다. In <Equation 1>,
Figure pat00003
denotes the predicted quality of a given ith input patch xi, qi denotes true quality, and m denotes the maximum quality level. For example, m can be set to 100 for libjpeg-turbo and 51 for FFmpeg.

따라서, CNN 모델 G(·)(예: 품질 예측 모듈(250))와 <수학식 1>을 이용하여, 또 다른 신뢰도 추정 모듈(240)을 훈련할 수 있다.Accordingly, another reliability estimation module 240 may be trained using the CNN model G(·) (eg, the quality prediction module 250) and <Equation 1>.

Figure pat00004
Figure pat00004

<수학식 2>에서

Figure pat00005
는 입력 패치 x에 대해 추정된 신뢰도(estimated confidence)를 나타낼 수 있다. 예를 들면, L1 손실(loss)이 CNN 모델 H(·)(예: 신뢰도 추정 모듈(240)) 훈련에 사용되는 것을 가정하면, H(·)은 각 후보 패치(예: 입력 패치)에 대한 신뢰도 측정 값에서 평균 편차(average deviation)가 가장 작은 중간 값(median number) z를 추정할 수 있다.In <Equation 2>
Figure pat00005
may represent the estimated confidence for the input patch x. For example, assuming that L 1 loss is used for training a CNN model H(·) (eg, reliability estimation module 240), H(·) is for each candidate patch (eg, input patch). A median number z having the smallest average deviation from the reliability measurement value for can be estimated.

Figure pat00006
Figure pat00006

하지만, G(·)와 H(·)의 2개의 네트워크를 사용하는 종래의 방법은 2개의 학습 단계(two learning stages)와 2개의 추론(two inferences)이 필요하다는 점에서 비효율적일 수 있다. 따라서, 본 개시에서는 품질 예측과 신뢰도 추정이라는 2개의 작업(two tasks)이 많은 공통 특징(common features)를 공유할 수 있으므로 아래 <수학식 4>와 같이, 하나의 네트워크에서 품질(830)과 신뢰도(840)를 모두 출력할 수 있도록 네트워크 F(·)를 구현할 수 있다.However, the conventional method using two networks of G(·) and H(·) may be inefficient in that it requires two learning stages and two inferences. Therefore, in the present disclosure, since the two tasks of quality prediction and reliability estimation can share many common features, as shown in Equation 4 below, the quality 830 and reliability in one network A network F(·) can be implemented to output all (840).

Figure pat00007
Figure pat00007

<수학식 4>에서, F(x)1 및 F(x)2는 각각 F(x)의 첫 번째 및 두 번째 출력 유닛(output units)을 나타낼 수 있다. 결과적으로, 아래 <수학식 5>와 같은 손실 함수(loss function)가 채택될 수 있다.In <Equation 4>, F(x) 1 and F(x) 2 may represent first and second output units of F(x), respectively. As a result, a loss function such as Equation 5 below may be adopted.

Figure pat00008
Figure pat00008

<수학식 5>에서, Fθ는 파라미터 세트(parameter set) θ가 있는 신뢰도 인식(confidence-aware) CNN을 나타낼 수 있다. 본 개시에서, 신뢰도 추정은 입력을 신뢰할 수 있는 패치(예: 이미지에서 아웃라이어 영역)와 신뢰할 수 없는 패치(예: 이미지에서 유의미한 압축 품질 예측이 가능한 영역)의 2가지 카테고리(two categories)로 분류하는 데 사용될 수 있다. 또한, 품질 예측은 보다 정확한 품질 출력이 요구될 수 있다. 일 실시예에서는, 품질이 아닌 신뢰도의 상대적 중요성을 반영하는 파라미터 λ를 0.5로 실험적으로 설정하고, 그에 따른 결과는 아래와 같이 나타낼 수 있다. 다른 실시예에 따르면, 파라미터 λ를 0.25오 같이 0.5 보다 작은 경우에서도 비슷한 결과가 획득되는 것을 실험적으로 확인할 수 있다.In <Equation 5>, F θ may represent a confidence-aware CNN having a parameter set θ. In this disclosure, reliability estimation classifies inputs into two categories: reliable patches (e.g., outlier regions in an image) and unreliable patches (e.g., regions in an image where meaningful compression quality predictions are possible). can be used to Also, quality prediction may require more accurate quality output. In one embodiment, the parameter λ, which reflects the relative importance of reliability rather than quality, is experimentally set to 0.5, and the result can be expressed as follows. According to another embodiment, it can be confirmed experimentally that similar results are obtained even when the parameter λ is smaller than 0.5, such as 0.25.

일 실시예에 따라, <수학식 1> 내지 <수학식 5>는 CNN(820)의 출력 유닛을 품질(830)과 신뢰도(840)로 구분하는 배경과 학습을 하기 위한 손실 함수(loss function)를 설계하는 지에 대한 예시를 나타낼 수 있고, 이러한 예시는 본 개시의 이해를 돕기 위한 것일 뿐, 본 개시의 실시예를 제한하는 것은 아니다.According to an embodiment, <Equation 1> to <Equation 5> represent a background for classifying the output unit of the CNN 820 into quality 830 and reliability 840, and a loss function for learning. May indicate an example of how to design, and this example is only to help the understanding of the present disclosure, but does not limit the embodiments of the present disclosure.

일 실시예에 따라, 아래 <표 1> 및 <표 2>는 본 개시에 따른 품질 예측 방법을 이용한 실험 결과의 예를 나타낼 수 있다. 예를 들면, <표 1>은 JPEG 코덱을 사용한 경우의 실험 결과의 일 예를 나타내고, <표 2>는 H.264 코덱을 사용한 경우의 일 예를 나타낼 수 있다. 본 개시에 따른 품질 예측 방법(예: <표 1> 및 <표 2>의 예시에서 제5 방법)에 따르면, 입력 패치의 신뢰도를 추정하여 압축 품질을 측정하였을 때 기존의 다른 방법(예: 제1 방법 내지 제4 방법) 보다 비슷하거나 빠른 시간으로 보다 정확한 압축 품질 예측 결과를 획득하는 것을 알 수 있다. 일 실시예에서, 제1 방법은, MobileNetV2 알고리즘을 나타낼 수 있고, 제2 방법은 EfficientNet 알고리즘을 나타낼 수 있고, 제3 방법은 블록 단위 기반 Naive 알고리즘을 나타낼 수 있고, 제4 방법은 블록 단위 기반 Sobel 알고리즘을 나타낼 수 있고, 제5 방법은 본 개시의 품질 예측 방법(예: ‘Q1Net’이라 명명)의 알고리즘을 나타낼 수 있다. According to an embodiment, <Table 1> and <Table 2> below may show examples of experimental results using the quality prediction method according to the present disclosure. For example, <Table 1> shows an example of experimental results when using the JPEG codec, and <Table 2> shows an example when using the H.264 codec. According to the quality prediction method according to the present disclosure (eg, the fifth method in the examples of <Table 1> and <Table 2>), when the compression quality is measured by estimating the reliability of an input patch, another existing method (eg, the first method) It can be seen that a more accurate compression quality prediction result is obtained in a similar or faster time than the first to fourth methods). In one embodiment, the first method may represent the MobileNetV2 algorithm, the second method may represent the EfficientNet algorithm, the third method may represent the block-based Naive algorithm, and the fourth method may represent the block-based Sobel. algorithm, and the fifth method may represent an algorithm of the quality prediction method (eg, named 'Q1Net') of the present disclosure.

<표 1> 및 <표 2>는 데이터 세트에 대한 성능 비교를 나타낸 것으로, 각 방법의 평균 절대 오차(MAE, mean absolute error), 오차의 표준 편차(SDE, stand deviation of errors), 레이턴시(latency), 및/또는 모델 크기(model size)를 비교하여 총 224x224 또는 256x256 입력 픽셀로 주요 실험 결과의 요약을 나타낼 수 있다. 예를 들면, 1에서 100까지의 품질 레벨을 예측하는 작업에서, 제5 방법은 JPEG의 경우 약 10ms의 처리 시간으로 약 0.43의 MAE로 우수한 예측 성능을 달성하고, 약 0.42의 SDE로 높은 신뢰도를 달성하는 것을 나타내고, H.264의 경우 약 18ms의 처리 시간으로 약 0.48dml MAE로 우수한 예측 성능을 달성하고, 약 0.51의 SDE로 높은 신뢰도를 달성하는 것을 나타낼 수 있다. <표 1> 및 <표 2>에 예시한 바와 같이, 제5 방법은, 기존의 제1 방법 내지 제4 방법과 비교하여, 상대적인 우위의 성능을 가지며, 보다 정확하고 빠른 품질 예측 결과를 도출할 수 있다.<Table 1> and <Table 2> show the performance comparison for the data set, the mean absolute error (MAE), standard deviation of errors (SDE), and latency of each method. ), and/or model size to represent a summary of the main experimental results with a total of 224x224 or 256x256 input pixels. For example, in the task of predicting quality levels from 1 to 100, the fifth method achieves good prediction performance with an MAE of about 0.43 and high reliability with an SDE of about 0.42 with a processing time of about 10 ms for JPEG. It can be shown to achieve good prediction performance with a MAE of about 0.48 dml with a processing time of about 18 ms for H.264 and high reliability with an SDE of about 0.51. As illustrated in <Table 1> and <Table 2>, the fifth method has a relatively superior performance compared to the existing methods 1 to 4, and can derive more accurate and faster quality prediction results. can

MethodMethod 제1 방법Method 1 제2 방법Method 2 제3 방법Method 3 제4 방법Method 4 제5 방법Method 5 MAEMAE 1.161.16 2.242.24 1.281.28 0.460.46 0.430.43 SDESDE 1.431.43 2.292.29 5.795.79 0.500.50 0.420.42 Time (ms)Time (ms) 77 1212 99 1414 1010 #Params#Params 2.32 M2.32M 4.13 M4.13M 125 K125K 125 K125K 125 K125K

MethodMethod 제1 방법Method 1 제2 방법Method 2 제3 방법Method 3 제4 방법Method 4 제5 방법Method 5 MAEMAE 0.580.58 0.560.56 1.011.01 0.770.77 0.480.48 SDESDE 0.520.52 0.60.6 2.162.16 0.870.87 0.510.51 Time (ms)Time (ms) 77 1212 1818 2121 1818 #Params#Params 2.32 M2.32M 4.13 M4.13M 208 K208K 208 K208K 208 K208K

본 개시에 따른 품질 예측 방법에 따르면, CNN의 입력을 압축 코딩 블록의 크기로 줄일 수 있다. 기존 이미지 분류에 사용되던 입력 사이즈는 224x224 정도의 크기이지만, 압축에 사용하는 코딩 블록의 사이즈는 그 보다 훨씬 작을 수 있다. 예를 들면, JPEG의 경우 8x8이고, H.264의 경우 가장 큰 코딩 블록 사이즈는 16x16일 수 있다. 따라서 본 개시에 의하면 CNN의 입력 크기를 효과적으로 줄일 수 있고 CNN 크기가 줄어들기 때문에 CNN의 파라미터 개수도 줄일 수 있다. 일 실시예에 따라, 머신 러닝 모델의 파라미터 개수가 적을 수록 계산 량도 줄어들기 때문에, 단일 블록을 기준으로 할 때, 추론(inference) 시 기존의 이미지 분류 네트워크보다 훨씬 낮은 지연 속도(algorithm latency)를 가질 수 있다. 또한, 본 개시에 의하면, 추론하는 블록(또는 패치)의 개수를 가변적으로 받아들여 컴퓨팅 능력이 상대적으로 약한 오래된 전자 장치나 저가 전자 장치에서도 효과적이고도 정확하게 압축 품질 측정이 가능하다. 또한, 본 개시에 의하면, 초해상도(super resolution)와 같은 이미지에서, 이미지의 화질 개선 전에 사용되어 아티펙트(또는 노이즈)가 증폭되는 것을 사전에 방지할 수 있고, 또는 브라우저에 적용되어 외부 서버(예: 인터넷)로부터 수신 받은 고압축 저화질 이미지의 개선 필요 여부 및 개선 강도를 빠르게 파악할 수 있는 효과가 있다.According to the quality prediction method according to the present disclosure, the CNN input can be reduced to the size of a compressed coding block. The input size used for conventional image classification is about 224x224, but the size of a coding block used for compression can be much smaller than that. For example, in case of JPEG, it is 8x8, and in case of H.264, the largest coding block size may be 16x16. Therefore, according to the present disclosure, the input size of the CNN can be effectively reduced, and since the CNN size is reduced, the number of parameters of the CNN can also be reduced. According to an embodiment, since the number of parameters of the machine learning model is reduced, the amount of calculation is also reduced, so when based on a single block, algorithm latency is much lower than that of conventional image classification networks during inference. can have In addition, according to the present disclosure, the compression quality can be effectively and accurately measured even in an old electronic device or a low-cost electronic device having relatively weak computing power by variably accepting the number of blocks (or patches) to be inferred. In addition, according to the present disclosure, in an image such as super resolution, it is used before improving the quality of the image to prevent amplification of artifacts (or noise) in advance, or it can be applied to a browser to prevent an external server (eg : There is an effect of quickly identifying the need for improvement and the intensity of improvement of high-compression and low-resolution images received from the Internet).

일 실시예에 따르면, 압축 이미지의 화질 개선을 위한 아티펙트 제거는 디테일 보존과 ‘트레이드 오프’ 관계일 수 있다. 예를 들면, 아티펙트 제거를 완벽하게 하는 경우 이미지의 디테일이 사라질 수 있고, 디테일을 유지하는 경우 아티펙트를 제거하지 못할 수 있다. 따라서, 이미지에서 아티펙트를 제거할수록 디테일이 사라질 수 있고 보다 블러한 이미지를 얻을 수 있게 된다. 이에, 본 개시에 따른 품질 예측 방법에 따라 추론된 화질 값(예: 블록 단위의 신뢰도 추정에 기반하여 예측된 최종 품질(Q))을 이용하여, 아티펙트 제거를 위한 노이즈 제거 모델의 선택하는 성능을 향상(예: 정확한 압축 품질에 대응하는 정확한 노이즈 제거 모델 선택 가능)할 수 있고, 결과적으로 이미지의 전체 품질을 향상할 수 있다. According to an embodiment, artifact removal for improving the quality of a compressed image may be in a 'trade-off' relationship with detail preservation. For example, if the artifact removal is perfect, the detail of the image may disappear, and if the detail is maintained, the artifact may not be removed. Therefore, as artifacts are removed from the image, details may disappear and a blurrier image may be obtained. Therefore, the performance of selecting a noise removal model for artifact removal is improved using the image quality value (eg, the final quality (Q) predicted based on block-by-block reliability estimation) inferred according to the quality prediction method according to the present disclosure. can be improved (e.g. by being able to select the correct denoising model corresponding to the correct compression quality) and consequently improve the overall quality of the image.

도 9는 일 실시예에 따른 전자 장치에서 아티팩트를 제거하는 동작 방법을 도시하는 흐름도이다.9 is a flowchart illustrating an operation method of removing artifacts in an electronic device according to an exemplary embodiment.

일 실시예에 따라, 도 9는 전자 장치(101)에서 분류된 압축 품질에 대응하게 학습된 노이즈 제거 모델에 기반하여 아티팩트를 제거하는 동작의 예를 나타낼 수 있다. According to an embodiment, FIG. 9 may show an example of an operation of removing an artifact based on a noise removal model learned to correspond to the compression quality classified by the electronic device 101 .

도 9를 참조하면, 동작 901에서, 전자 장치(101)의 프로세서(120)는 이미지를 입력할 수 있다. 일 실시예에 따르면, 프로세서(120)는 개선할 압축 품질의 이미지(예: 도 7의 학습 대상의 이미지)를 압축 아티팩트 제거 대상의 이미지로 입력할 수 있다.Referring to FIG. 9 , in operation 901, the processor 120 of the electronic device 101 may input an image. According to an embodiment, the processor 120 may input an image having a compression quality to be improved (eg, an image of a learning target of FIG. 7 ) as an image of a compression artifact removal target.

동작 903에서, 프로세서(120)는 예측된 대표 품질을 입력할 수 있다. 일 실시예에 따르면, 프로세서(120)는 도 7에서 예측된 대표 품질을 아티팩트 제거 대상의 이미지의 압축 품질로 입력할 수 있다.At operation 903, the processor 120 may input the predicted representative quality. According to an embodiment, the processor 120 may input the representative quality predicted in FIG. 7 as the compression quality of an image to be de-artifacted.

동작 905에서, 프로세서(120)는 대표 품질을 기반으로 N개의 노이즈 제거 모델 중 하나를 선택할 수 있다. 일 실시예에 따르면, 프로세서(120)는 다양한 압축 품질 별로 미리 학습된 N개의 변형 모델 중, 주어진 이미지의 대표 품질에 대응하게 학습된 노이즈 제거 모델(예: translation model i)을 선택할 수 있다. 일 실시예에 따르면, 프로세서(120)는 주어진 이미지에 대해, 제1 압축 품질로 분류하는 경우 제1 압축 품질의 분류에 대응하는 제1 노이즈 제거 모델을 선택할 수 있고, 제2 압축 품질로 분류하는 경우 제2 압축 품질의 분류에 대응하는 제2 노이즈 제거 모델을 선택할 수 있고, 제3 압축 품질로 분류하는 경우 제3 압축 품질의 분류에 대응하는 제3 노이즈 제거 모델을 선택할 수 있다At operation 905, the processor 120 may select one of the N denoising models based on the representative quality. According to an embodiment, the processor 120 may select a denoising model (eg, translation model i) learned to correspond to the representative quality of a given image from among N transformation models pre-trained for various compression qualities. According to an embodiment, the processor 120 may select a first denoising model corresponding to the classification of the first compression quality when classifying the given image as the first compression quality, and classifying it as the second compression quality. In this case, a second noise removal model corresponding to the classification of the second compression quality may be selected, and in the case of classification into the third compression quality, a third noise removal model corresponding to the classification of the third compression quality may be selected.

동작 907에서, 프로세서(120)는 선택된 노이즈 제거 모델에 기반하여 이미지 처리를 수행할 수 있다. 일 실시예에 따르면, 프로세서(120)는 복수의 노이즈 제거 모델 중, 이미지의 압축 품질(예: 대표 품질)에 기반하여 선택된 노이즈 제거 모델을 이용하여 이미지 보정을 처리할 수 있다. 일 실시예에 따르면, 프로세서(120)는 선택된 노이즈 제거 모델에 대응하는 보정 강도에 따라 주어진 이미지(예: 압축 이미지)에서 압축 아티팩트(또는 노이즈)를 제거하여 주어진 이미지(예: 압축 이미지)를 압축 이전의 원본 이미지로 복구할 수 있다. 예를 들면, 프로세서(120)는 압축 이미지를 원본 품질의 이미지(예: 원본 이미지)로 복구할 수 있다.In operation 907, the processor 120 may perform image processing based on the selected noise removal model. According to an embodiment, the processor 120 may process image correction using a denoising model selected from among a plurality of denoising models based on compression quality (eg, representative quality) of an image. According to an embodiment, the processor 120 compresses the given image (eg, the compressed image) by removing compression artifacts (or noise) from the given image (eg, the compressed image) according to the correction strength corresponding to the selected denoising model. It can be restored to the previous original image. For example, the processor 120 may restore the compressed image to an original quality image (eg, an original image).

도 10은 일 실시예에 따른 전자 장치에서 이미지를 압축하는 동작 방법을 도시하는 흐름도이다.10 is a flowchart illustrating a method of compressing an image in an electronic device according to an exemplary embodiment.

일 실시예에 따라, 도 10은 압축 이미지를 다시 압축(또는 인코딩)(예: 2차 압축)하는 동작의 예를 나타낼 수 있다.According to one embodiment, FIG. 10 may show an example of an operation of re-compressing (or encoding) (eg, secondary compression) a compressed image.

도 10을 참조하면, 동작 1001에서, 전자 장치(101)의 프로세서(120)는 이미지를 제공할 수 있다. 일 실시예에 따르면, 프로세서(120)는 사용자 선택에 대응하는 압축 이미지를 표시하거나, 또는 적어도 하나의 압축 이미지를 포함하는 이미지 리스트를 표시할 수 있다.Referring to FIG. 10 , in operation 1001, the processor 120 of the electronic device 101 may provide an image. According to an embodiment, the processor 120 may display a compressed image corresponding to a user selection or an image list including at least one compressed image.

동작 1003에서, 프로세서(120)는 이미지의 압축을 위한 사용자 입력을 수신할 수 있다. 일 실시예에 따르면, 프로세서(120)는 제공된 이미지(또는 사용자에 의해 선택된 적어도 하나의 이미지)에 대한 압축을 실행하도록 하는 사용자 입력을 감지할 수 있다. 일 실시예에서, 사용자 입력은, 이미지의 저장 명령, 메뉴 기반의 압축 명령 및/또는 압축을 위한 지정된 객체 기반의 선택에 기반하여 입력될 수 있다. 예를 들면, 사용자는 지정된 어플리케이션(예: 갤러리 어플리케이션 또는 이미지 편집 어플리케이션)을 통해 이미지를 편집(예: 자르기(crop), 회전, 밝기 조정, 해상도 조정, 색감 조정, 선명도 조정, 크기 조정, 포맷 변경 및/또는 효과 설정)할 수 있고, 편집된 이미지를 저장하고자 할 수 있다. In operation 1003, the processor 120 may receive a user input for image compression. According to an embodiment, the processor 120 may detect a user input causing compression to be performed on the provided image (or at least one image selected by the user). In one embodiment, the user input may be input based on a save command of an image, a menu-based compression command, and/or a designated object-based selection for compression. For example, a user can edit an image (e.g. crop, rotate, adjust brightness, adjust resolution, adjust color, adjust sharpness, resize, change format) through a designated application (e.g. gallery application or image editing application). and/or effect setting), and may want to save the edited image.

동작 1005에서, 프로세서(120)는 이미지의 제1 압축 시의 아티펙트를 제거할 수 있다. 일 실시예에 따르면, 프로세서(120)는 이미지의 압축에 관련된 사용자 입력을 수신하고, 사용자 입력에 기반하여 이미지의 이전 압축(예: 제1 압축)에 관련된 제1 압축 품질을 식별할 수 있다. 일 실시예에 따라, 프로세서(120)는 제1 압축 품질에 대응하는 노이즈 제거 모델에 기반하여, 제1 압축 시 발생한 아티펙트(예: 이미지에서 고주파 성분 영역의 아티펙트)를 제거할 수 있다. In operation 1005, the processor 120 may remove artifacts in the first compression of the image. According to an embodiment, the processor 120 may receive a user input related to image compression and identify a first compression quality related to previous compression (eg, first compression) of the image based on the user input. According to an embodiment, the processor 120 may remove an artifact (eg, an artifact of a high frequency component region in an image) generated during the first compression, based on a noise removal model corresponding to the first compression quality.

동작 1007에서, 프로세서(120)는 제1 압축에 관련된 제1 압축 품질에 기반하여 제2 압축 품질을 결정할 수 있다. 일 실시예에 따르면, 프로세서(120)는 품질 예측 모듈(250)을 이용하여 2차 인코딩을 위한 품질 파라미터를 결정할 수 있다. 예를 들면, 프로세서(120)는 압축 이미지가 편집된 후 다시 인코딩(예: 제2 압축)하는 경우, 이미지의 압출 품질(또는 압축 레벨)을 다시 결정할 수 있다. 예를 들면, 한번 저품질(low quality)로 인코딩된 이미지는, 다시 고품질(high quality)로 인코딩 하더라도 디그레데이션(degradation)된 디테일은 다시 복원되지 않을 수 있다. 예를 들면, 제2 압축에 관련된 제2 압축 품질을 제1 압축에 관련된 제1 압축 품질 보다 높게 설정하더라도, 제1 압축에 의해서 이미 손실된 정보(예: 고주파 성분 정보)는 복원할 수 없다. 따라서, 프로세서(120)는 제2 압축 품질의 최대치를 제1 압축 품질과 비슷한 수준의 압축 품질로 설정할 수 있다. 예를 들면, 이미지의 제1 압축 품질이 약 70으로 제1 압축된 경우, 제2 압축 품질은 약 80 이상으로 설정하지 않을 수 있다. 여기서, 압축 품질의 숫자가 높을수록 더 좋은 화질이 도출될 수 있다. At operation 1007, the processor 120 may determine a second compression quality based on the first compression quality associated with the first compression. According to an embodiment, the processor 120 may determine a quality parameter for secondary encoding using the quality prediction module 250. For example, when a compressed image is edited and then re-encoded (eg, second compression), the processor 120 may re-determine the compression quality (or compression level) of the image. For example, even if an image once encoded with low quality is encoded again with high quality, degraded details may not be restored again. For example, even if the second compression quality related to the second compression is set higher than the first compression quality related to the first compression, information already lost by the first compression (eg, high frequency component information) cannot be restored. Accordingly, the processor 120 may set the maximum value of the second compression quality to a compression quality similar to that of the first compression quality. For example, when the first compression quality of the image is first compressed to about 70, the second compression quality may not be set to about 80 or higher. Here, the higher the number of compression quality, the better picture quality can be derived.

일 실시예에 따르면, 프로세서(120)는 이미지의 제2 압축 시, 원본(예: 제1 압축 품질)과 비슷한 압축 품질(예: 제1 압축 품질 보다 상대적으로 약간의 높은 압축 품질)로 인코딩함으로써, 이미지의 파일 크기를 줄일 수 있고, 보관 크기를 줄일 수 있다. According to an embodiment, the processor 120 encodes the image with a compression quality similar to that of the original (eg, first compression quality) (eg, a slightly higher compression quality than the first compression quality) during the second compression of the image. , you can reduce the file size of the image, and reduce the archive size.

동작 1009에서, 프로세서(120)는 제2 압축 품질에 기반하여 이미지에 대한 제2 압축을 수행할 수 있다. 예를 들면, 이미지는 제1 압축에서 생성된 압축 아티펙트로 인하여 고주파 성분이 발생할 수 있고, 해당 고주파 성분을 압축하는 과정에서 또 다른 아티펙트가 발생할 수 있다. 따라서, 프로세서(120)는 제2 압축 이전에 제1 압축 시의 압축 아티펙트를 제거한 후, 제2 압축을 수행할 수 있다.In operation 1009, the processor 120 may perform a second compression on the image based on the second compression quality. For example, a high-frequency component may occur in an image due to a compression artifact generated in the first compression, and another artifact may occur in the process of compressing the corresponding high-frequency component. Accordingly, the processor 120 may perform the second compression after removing compression artifacts in the first compression before the second compression.

동작 1011에서, 프로세서(120)는 이미지를 저장할 수 있다. 예를 들면, 프로세서(120)는 제2 압축에 따라 생성되는 이미지를 메모리(130)에 저장할 수 있다. 일 실시예에 따르면, 프로세서(120)는 이미지를 저장할 때, 원본 이미지를 대체하여 저장하거나, 원본 이미지와 별도의 이미지로 저장할 수 있다.In operation 1011, the processor 120 may store an image. For example, the processor 120 may store an image generated according to the second compression in the memory 130 . According to an embodiment, when storing an image, the processor 120 may replace the original image and save it, or may store the original image as a separate image.

도 11은 일 실시예에 따른 전자 장치에서 이미지 보정에 대한 정보를 제공하는 동작 방법을 도시하는 흐름도이다.11 is a flowchart illustrating an operation method of providing information on image correction in an electronic device according to an exemplary embodiment.

도 12는 일 실시예에 따른 전자 장치에서 이미지 보정에 대한 정보를 제공하는 사용자 인터페이스 및 그 동작 예를 도시하는 도면이다.12 is a diagram illustrating a user interface for providing information on image correction in an electronic device according to an exemplary embodiment and an operation example thereof.

일 실시예에 따라, 도 11 및 도 12는 지정된 어플리케이션(예: 갤러리 어플리케이션 또는 이미지 편집 어플리케이션)에서 제공된 이미지에 대한 보정 정보(예: 압축 품질 스코어(또는 레벨), 보정 영역 노티 객체 및/또는 보정 상세 정보)를 제공하는 동작의 예를 나타낼 수 있다.According to one embodiment, FIGS. 11 and 12 show correction information (eg, compression quality score (or level), correction area notification object, and/or correction information for an image provided from a designated application (eg, a gallery application or an image editing application)). Detailed information) may be shown as an example of an operation of providing.

도 11을 참조하면, 동작 1101에서, 전자 장치(101)의 프로세서(120)는 이미지를 포함하는 화면을 표시할 수 있다. 일 실시예에 따르면, 프로세서(120)는 지정된 어플리케이션을 실행하고, 지정된 어플리케이션에 기반하여 이미지를 디스플레이 모듈(160)을 통해 시각적으로 제공할 수 있다. 예를 들면, 도 12에 예시한 바와 같이, 프로세서(120)는 갤러리 어플리케이션을 통해 사용자에 의해 선택된 이미지(1200)를 포함하는 화면을 표시하도록 디스플레이 모듈(160)을 제어할 수 있다. 일 실시예에 따라, 이미지(1200)는 지정된 압축 품질(또는 압축률 또는 압축 레벨)로 압축된 압축 이미지를 나타낼 수 있다.Referring to FIG. 11 , in operation 1101, the processor 120 of the electronic device 101 may display a screen including an image. According to an embodiment, the processor 120 may execute a designated application and visually provide an image through the display module 160 based on the designated application. For example, as illustrated in FIG. 12 , the processor 120 may control the display module 160 to display a screen including an image 1200 selected by a user through a gallery application. According to one embodiment, the image 1200 may represent a compressed image compressed with a specified compression quality (or compression rate or compression level).

동작 1103에서, 프로세서(120)는 이미지 품질에 관련된 정보를 요청하는 사용자 입력을 수신할 수 있다. 일 실시예에 따르면, 프로세서(120)는 제공된 이미지에 대한 보정 정보(예: 압축 품질 스코어(또는 레벨), 보정 영역 노티 객체 및/또는 보정 상세 정보)를 제공하도록 명령하는 사용자 입력을 감지할 수 있다. 일 실시예에서, 사용자 입력은, 메뉴 기반의 요청 명령 및/또는 보정 정보 제공을 위한 지정된 객체 기반의 선택에 기반하여 입력될 수 있다. 예를 들면, 도 12에 예시한 바와 같이, 프로세서(120)는 갤러리 어플리케이션에서, 이미지에 대한 보정 정보를 제공하는 기능(예: AI 리마스터 기능)을 실행하도록 지정된 기능 실행 객체(1210)를 통해 사용자 입력을 감지할 수 있다. 일 실시예에서, 이미지에 대한 보정 정보를 제공하는 기능(예: AI 리마스터 기능)은 이미지에 대해 AI로 자동 보정(예: 화질 개선)하고, 자동 보정에 대한 보정 정보를 제공하는 기능을 나타낼 수 있다. In operation 1103, the processor 120 may receive a user input requesting information related to image quality. According to one embodiment, the processor 120 may detect user input instructing it to provide correction information (eg, compression quality score (or level), correction area notification object, and/or correction details) for the provided image. there is. In one embodiment, the user input may be input based on a menu-based request command and/or selection based on a designated object for providing correction information. For example, as illustrated in FIG. 12 , the processor 120 uses a function execution object 1210 designated to execute a function (eg, an AI remaster function) providing correction information for an image in a gallery application. input can be detected. In one embodiment, the function of providing correction information for an image (eg, an AI remaster function) may refer to a function of automatically correcting an image with AI (eg, improving image quality) and providing correction information for the automatic correction. there is.

일 실시예에 따르면, 전자 장치(101)는 이미지(1200)가 표시된 화면의 지정된 영역(예: 화면 우측 상단 영역, 화면 좌측 상단 영역, 또는 화면 중앙 하단 영역)을 통해 리마스터 기능 실행을 을 위한 지정된 기능 실행 객체(1210)를 제공할 수 있다. 일 실시예에 따르면, 프로세서(120)는 기능 실행 객체(1210)를 이용한 사용자 입력에 기반하여 리마스터 기능을 실행하고 도 12에 예시한 바와 같은 사용자 인터페이스를 제공할 수 있다. 어떤 실시예에 따르면, 프로세서(120)는 갤러리 어플리케이션에서, 메뉴 진입을 통해 이미지에 대한 보정 정보를 제공하는 기능을 실행하도록 지정된 옵션을 선택하는 사용자 입력을 감지할 수 있다.According to an embodiment, the electronic device 101 provides a designated area for executing the remaster function through a designated area (eg, the upper right area of the screen, the upper left area of the screen, or the lower center area of the screen) of the screen on which the image 1200 is displayed. A function execution object 1210 may be provided. According to an embodiment, the processor 120 may execute a remaster function based on a user input using the function execution object 1210 and provide a user interface as illustrated in FIG. 12 . According to an embodiment, the processor 120 may detect a user input selecting an option specified to execute a function of providing correction information on an image through menu entry in the gallery application.

동작 1105에서, 프로세서(120)는 분류 동작에서 높은 신뢰도를 갖는 패치를 식별할 수 있다. 일 실시예에 따르면, 프로세서(120)는 주어진 이미지에서, 압축 품질을 분류하는 동작(예: 블록 단위의 신뢰도 기반 압축 품질 예측 동작)에서 추출된 패치(예: 패치의 위치 또는 영역)를 식별할 수 있다.In operation 1105, the processor 120 may identify a patch having high confidence in a classification operation. According to an embodiment, the processor 120 may identify a patch (eg, a location or region of a patch) extracted from a given image in an operation of classifying compression quality (eg, a block-by-block reliability-based compression quality prediction operation). can

동작 1107에서, 프로세서(120)는 식별된 패치 주변에서 지정된 개수의 샘플을 추가 추출할 수 있다. 일 실시예에 따르면, 프로세서(120)는 추출된 패치(예: 패치의 위치 또는 영역)의 주변에서, 품질(예: 도 8의 품질(830))과 신뢰도(예: 도 8의 신뢰도(840))를 측정하기 위한 지정된 개수(예: 약 A개)의 샘플을 추가로 추출할 수 있다.In operation 1107, the processor 120 may additionally extract a specified number of samples around the identified patch. According to an embodiment, the processor 120 may perform quality (eg, quality 830 of FIG. 8 ) and reliability (eg, reliability 840 of FIG. 8 ) around the extracted patch (eg, the location or region of the patch). ))), a specified number of samples (e.g., about A) may be additionally extracted.

동작 1109에서, 프로세서(120)는 품질 및 신뢰도를 판단할 수 있다. 일 실시예에 따르면, 프로세서(120)는 추출된 패치 및 추출된 패치의 주변에서 추가로 추출된 샘플에 기반하여 품질 및 신뢰도를 측정할 수 있다.At operation 1109, processor 120 may determine quality and reliability. According to an embodiment, the processor 120 may measure quality and reliability based on the extracted patch and samples additionally extracted from the vicinity of the extracted patch.

동작 1111에서, 프로세서(120)는 이미지의 대표 품질(예: 최종 품질(Q))에 대응하는 패치를 군집화(clustering)할 수 있다. 일 실시예에 따르면, 프로세서(120)는 동작 1109에서 측정된 품질 및 신뢰도에 따른 압축 품질과 이미지의 대표 품질을 비교하여, 추출된 패치들 중 이미지의 대표 품질에 대응하는 압축 품질을 가지면서, 다른 패치와 비교하여 상대적으로 높은 신뢰도를 갖는 패치를 군집화할 수 있다.In operation 1111, the processor 120 may cluster patches corresponding to the representative quality (eg, final quality (Q)) of the image. According to an embodiment, the processor 120 compares the compression quality according to the quality and reliability measured in operation 1109 with the representative quality of the image, and has the compression quality corresponding to the representative quality of the image among the extracted patches, Compared to other patches, patches having relatively high reliability can be clustered.

동작 1113에서, 프로세서(120)는 이미지에서 군집화된 부분(또는 영역)에 기반하여 지정된 노티 객체를 제공할 수 있다. 일 실시예에 따르면, 프로세서(120)는 이미지에서 군집화된 부분을 통해 지정된 컬러의 점선 및/또는 오버레이된 마스크를 제공할 수 있다. 예를 들면, 도 12에 예시한 바와 같이, 프로세서(120)는 주어진 이미지(1200)에서, 군집화된 부분에 대하여 노티 객체(1230)(예: 노란색 점선 객체)를 제공하여, 이미지 보정 부분에 대한 정보를 사용자에게 제공할 수 있다. 일 실시예에서, 노티 객체(1230)는 주어진 이미지에서 군집화된 부분(예: 보정된 영역)을 사용자에게 직관적으로 노티하기 위한 객체를 나타낼 수 있다. In operation 1113, the processor 120 may provide a designated notification object based on a clustered part (or region) in the image. According to an embodiment, the processor 120 may provide a dotted line and/or an overlay mask of a specified color through the clustered parts in the image. For example, as illustrated in FIG. 12 , the processor 120 provides a notification object 1230 (eg, a yellow dotted line object) for a clustered portion in a given image 1200, and provides a notification object 1230 for an image correction portion. Information can be provided to users. In one embodiment, the notification object 1230 may represent an object for intuitively notifying a user of a clustered part (eg, a corrected area) in a given image.

동작 1115에서, 프로세서(120)는 이미지 보정에 대한 상세 정보(예: 이미지에 대한 압축 품질과 관련된 정보(또는 화질 알림 정보))를 제공할 수 있다. 일 실시예에 따르면, 프로세서(120)는 이미지에 기반한 노티 객체와 함께, 이미지 보정에 대한 상세 정보(예: 전체 스코어 및 이미지가 현재 화질로 분류된 이유 설명)를 제공할 수 있다. 예를 들면, 도 12에 예시한 바와 같이, 프로세서(120)는 이미지(1200)의 보정 결과에 관한 상세 정보(1250)(예: ‘이 사진의 압축 품질은 50입니다. 노란색 부분을 통해서 정확도 99%로 판단되었습니다. 판단 결과로 이미지 확대 전에 압축 노이즈를 제거하였습니다.’와 같은 안내 텍스트)를 제공할 수 있다. 예를 들면, 이미지(1200)의 압축 품질에 대한 전체 스코어(예: ‘50’)를 표시하면서 해당 화질로 분류된 이유를 사용자에게 가이드할 수 있다.In operation 1115, the processor 120 may provide detailed information about image correction (eg, information related to compression quality of an image (or quality notification information)). According to an embodiment, the processor 120 may provide detailed information on image correction (eg, an overall score and a description of why the image is classified as the current quality) along with an image-based notification object. For example, as illustrated in FIG. 12, the processor 120 provides detailed information 1250 on the correction result of the image 1200 (eg, 'The compression quality of this picture is 50. Accuracy 99 through the yellow part) It was judged as %. As a result of the judgment, compression noise was removed before image enlargement.') can be provided. For example, a user may be guided as to why the image 1200 was classified as a corresponding image quality while displaying an overall score (eg, '50') for the compression quality of the image 1200 .

일 실시예에 따르면, 프로세서(120)는 지정된 어플리케이션(예: 갤러리 어플리케이션, 이미지 편집 어플리케이션 또는 웹 페이지 어플리케이션)에서 제공된 이미지에 대한 보정 정보(예: 압축 품질 스코어(또는 레벨), 보정 영역 노티 객체 및/또는 보정 상세 정보)를 제공할 때, 다양한 지정된 조건에 따라 다양하게 제공할 수 있다. 일 실시예에 따르면, 프로세서(120)는 지정된 어플리케이션의 종류 및/또는 메뉴의 뎁스(depth)를 판단하고, 지정된 어플리케이션의 종류 및/또는 메뉴의 뎁스에 기반하여 보정 대상 정보 및 그에 따른 보정 정보를 다르게 제공할 수 있다. 예를 들면, 프로세서(120)는 지정된 어플리케이션의 종류 및/또는 메뉴의 뎁스에 따라, 어떤 대상 정보(예: 해상도, 밝기, 색감, 및/또는 선명도)를 어느 정도 상세하게 제공할 지를 판단하고, 판단 결과에 따라 보정 정보를 다른 방식으로 제공할 수 있다. According to one embodiment, the processor 120 may include correction information (eg, compression quality score (or level), correction area notification object, and / or correction detailed information) may be provided in various ways according to various specified conditions. According to an embodiment, the processor 120 determines the type of the designated application and/or the depth of the menu, and based on the type of the designated application and/or the depth of the menu, the processor 120 provides correction target information and corresponding correction information. may be provided differently. For example, the processor 120 determines which target information (eg, resolution, brightness, color, and/or sharpness) is to be provided in detail according to the type of the designated application and/or the depth of the menu, Correction information may be provided in a different manner according to the determination result.

일 실시예에 따르면, 프로세서(120)는 제1 어플리케이션(예: 갤러리 어플리케이션)에서 선택 이미지에 대한 리마스터 기능을 실행하는 경우, 메뉴의 뎁스가 최소의 제1 뎁스(예: 약 1 뎁스)에 해당할 수 있고, 모든 대상 정보(예: 해상도, 밝기, 색감, 및/또는 선명도)에 대해 보정하고, 보정 결과에 대한 보정 정보(예: 모든 대상 정보에 기초한 보정 정보)를 제공할 수 있다. 예를 들면, 프로세서(120)는 이미지에서 보정 정보에 대응하는 각각의 부분에서 해상도, 밝기, 색감, 및/또는 선명도가 어느 정도로 보정되었는지에 대한 보정 정보(예: 예: 압축 품질 스코어, 보정 영역 노티 객체 및/또는 보정 상세 정보)를 제공할 수 있다. According to an embodiment, when the processor 120 executes a remaster function for a selected image in a first application (eg, a gallery application), the depth of the menu corresponds to the minimum first depth (eg, about 1 depth) , correct all target information (eg, resolution, brightness, color tone, and/or sharpness), and provide correction information (eg, correction information based on all target information) for the correction result. For example, the processor 120 may provide correction information (eg, compression quality score, correction area) for how much resolution, brightness, color tone, and/or sharpness have been corrected in each part corresponding to the correction information in the image. notification object and/or correction detailed information) may be provided.

다른 실시예에 따르면, 프로세서(120)는 제2 어플리케이션(예: 이미지 편집 어플리케이션)에서 선택 이미지에 대한 리마스터 기능을 실행하는 경우, 메뉴의 뎁스가 제1 뎁스 보다 많은 제2 뎁스(예: 약 2 내지 약 3 뎁스)에 해당할 수 있고, 모든 대상 정보(예: 해상도, 밝기, 색감, 및/또는 선명도) 중 지정된 일부 대상 정보(예: 밝기, 색감, 선명도)에 대해 보정하고, 보정 결과에 대한 보정 정보(예: 일부 대상 정보에 기초한 보정 정보)를 제공할 수 있다. 예를 들면, 프로세서(120)는 이미지에서 보정 정보에 대응하는 각각의 부분에서 밝기, 색감, 및/또는 선명도가 어느 정도로 보정되었는지에 대한 보정 정보(예: 예: 압축 품질 스코어, 보정 영역 노티 객체 및/또는 보정 상세 정보)를 제공할 수 있다.According to another embodiment, when the processor 120 executes the remastering function for the selected image in the second application (eg, an image editing application), the second depth of the menu is greater than the first depth (eg, about 2 to about 3 depth), and corrects for some of the target information (eg, brightness, color, sharpness) specified among all target information (eg, resolution, brightness, color tone, and/or sharpness), and determines the result of the correction. Correction information (eg, correction information based on some target information) may be provided. For example, the processor 120 may provide correction information (e.g., compression quality score, correction area notification object) for how much brightness, color, and/or sharpness are corrected in each part corresponding to the correction information in the image. and/or calibration details).

다른 실시예에 따르면, 프로세서(120)는 제3 어플리케이션(예: 웹 페이지 어플리케이션)에서 선택 이미지에 대한 리마스터 기능을 실행하는 경우, 메뉴의 뎁스가 제2 뎁스 보다 많은 제3 뎁스(예: 약 3 내지 약 4 뎁스)에 해당할 수 있고, 모든 대상 정보(예: 해상도, 밝기, 색감, 및/또는 선명도) 중 지정된 최소의 대상 정보(예: 밝기, 색감)에 대해 보정하고, 보정 결과에 대한 보정 정보(예: 최소의 대상 정보에 기초한 보정 정보)를 제공할 수 있다. 예를 들면, 프로세서(120)는 이미지에서 보정 정보에 대응하는 각각의 부분에서 밝기 및/또는 색감이 어느 정도로 보정되었는지에 대한 보정 정보(예: 예: 압축 품질 스코어, 보정 영역 노티 객체 및/또는 보정 상세 정보)를 제공할 수 있다.According to another embodiment, when the processor 120 executes a remaster function for a selected image in a third application (eg, a web page application), the third depth of the menu is greater than the second depth (eg, about 3 to about 4 depth), corrects for the specified minimum target information (eg, brightness, color) among all target information (eg, resolution, brightness, color tone, and / or sharpness), and provides information about the correction result. Correction information (eg, correction information based on minimum target information) may be provided. For example, the processor 120 may provide correction information (e.g., compression quality score, correction area notification object and/or calibration details).

일 실시예에 따르면, 프로세서(120)는 이미지 보정에 대한 상세 정보(1250)를 제공할 때, 도 12에 예시한 바와 같이, 이미지(1200)의 표시 위치를 변경하고 화면 분할에 기반하여 별도의 윈도우를 통해 상세 정보(1250)를 제공할 수 있다. 다른 실시예에 따르면, 프로세서(120)는 이미지(1200)의 표시 위치를 고정된 상태에서, 이미지(1200) 상에 팝업 윈도우 또는 오버레이를 통해 상세 정보(1250)를 제공할 수도 있다.According to one embodiment, when the processor 120 provides detailed information 1250 on image correction, as illustrated in FIG. 12, the display position of the image 1200 is changed and a separate image is displayed based on screen division. Detailed information 1250 may be provided through a window. According to another embodiment, the processor 120 may provide detailed information 1250 through a pop-up window or overlay on the image 1200 while the display position of the image 1200 is fixed.

본 개시에 따르면, 전자 장치(101)는 지정된 어플리케이션(예: 갤러리 어플리케이션)을 통해 이미지를 제공할 때, AI가 이미지를 자동 분석하여, 예를 들면, 저화질의 이미지를 고화질의 이미지로 자동 보정하여 제공(예: 리마스터 기능 제공)할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 리마스터 기능을 제공할 때, 이미지가 어떤 이유에 의해서 개선되었는지에 대한 상세 정보(또는 설명)를 제공할 수 있다. 이를 통해, 사용자는 해당 이미지가 어떤 이유로 이미지의 품질 평가(또는 화질 개선)되었는지 보다 상세히 가이드 할 수 있다. 예를 들면, 전자 장치(101)는 해당 이미지의 스코어를 명시적으로 표시하고, 신뢰도가 높은 부분의 스코어를 제공함으로써, 이미지의 어떤 부분 때문에 주어진 이미지를 특정 디그레데이션(degradation)이 있다고 판단했는지 사용자에게 제공할 수 있다. 예를 들면, 전자 장치(101)는 이미지 상의 노티 객체(1230) 및 이미지의 스코어와 이미지에서 디그레데이션 판단에 대한 알림 정보를 포함하는 상세 정보(1250)를 직관적으로 제공하여, 사용자가 이미지 개선 이유를 보다 자세히 이해할 수 있도록 제공할 수 있다.According to the present disclosure, when the electronic device 101 provides an image through a designated application (eg, a gallery application), AI automatically analyzes the image and, for example, automatically corrects a low-quality image to a high-quality image. may be provided (e.g., remaster function provided). According to an embodiment, when providing the remaster function, the electronic device 101 may provide detailed information (or explanation) on why the image has been improved. Through this, the user can provide a more detailed guide on why the quality of the image has been evaluated (or image quality has been improved). For example, the electronic device 101 determines whether a given image has a specific degradation due to which part of the image by explicitly displaying the score of the corresponding image and providing a score of a part with high reliability. can be provided to the user. For example, the electronic device 101 intuitively provides a notification object 1230 on an image, a score of the image, and detailed information 1250 including notification information on determination of degradation in the image, so that the user can improve the image. We can provide a more detailed understanding of why.

본 개시의 일 실시예에 따른 전자 장치(101)에서 수행하는 동작 방법은, 전자 장치의 디스플레이 모듈을 통해 이미지를 표시하는 동작, 상기 이미지에서 지정된 복수 개의 블록을 지정된 방식으로 추출하는 동작, 상기 복수 개의 블록에 대하여 각 블록 별로 신뢰도를 추정하는 동작, 신뢰도 추정에 기반하여, 상기 복수 개의 블록 중 품질 예측 제외 대상인 아웃라이어(outlier)에 대응하는 제1 블록과 품질 예측이 가능한 제2 블록을 식별하는 동작, 상기 복수 개의 블록 중 상기 제1 블록을 품질 예측 대상에서 제외하는 동작, 및 상기 복수 개의 블록 중 상기 제1 블록을 제외한 나머지 제2 블록을 이용하여, 상기 이미지에 대한 압축 품질을 분류하는 동작을 포함할 수 있다.An operating method performed by the electronic device 101 according to an embodiment of the present disclosure includes an operation of displaying an image through a display module of the electronic device, an operation of extracting a plurality of designated blocks from the image in a designated manner, and the plurality of blocks. Operation of estimating reliability for each block for the number of blocks, based on the reliability estimation, identifying a first block corresponding to an outlier to be excluded from quality prediction and a second block capable of quality prediction among the plurality of blocks An operation of excluding the first block among the plurality of blocks from a quality prediction target, and an operation of classifying the compression quality of the image using second blocks other than the first block among the plurality of blocks. can include

일 실시예에 따르면, 상기 압축 품질을 분류하는 동작은, 상기 추출된 복수 개의 블록에 대해, 블록 단위의 신뢰도 추정에 기반하여, 지정된 임계 값 이하의 아웃라이어에 대응하는 적어도 하나의 제1 블록을 추정하는 동작, 상기 적어도 하나의 제1 블록을 압축 품질 분류를 위한 평균 연산에서 제외하는 동작, 지정된 임계 값 초과의 적어도 하나의 제2 블록에 기반하여 압축 품질 분류를 위한 평균 연산을 수행하는 동작, 평균 연산의 결과를 상기 이미지에 대한 압축 품질로 분류하는 동작을 포함할 수 있다.According to an embodiment, the operation of classifying the compression quality may include selecting at least one first block corresponding to an outlier equal to or less than a specified threshold based on block-by-block reliability estimation for the plurality of extracted blocks. estimating, excluding the at least one first block from an average operation for compression quality classification, performing an average operation for compression quality classification based on at least one second block exceeding a specified threshold; An operation of classifying a result of the averaging operation into a compression quality for the image may be included.

일 실시예에 따르면, 상기 전자 장치에서 수행하는 동작 방법은, 다양한 압축 품질 별로 미리 학습된 복수의 노이즈 제거 모델을 저장하는 동작, 상기 복수의 노이즈 제거 모델 중 상기 이미지에 대해 분류된 압축 품질에 대응하게 학습된 노이즈 제거 모델을 선택하는 동작, 상기 선택된 노이즈 제거 모델에 기반하여 상기 이미지에 대한 화질 개선을 처리하는 동작을 포함할 수 있다.According to an embodiment, the operation method performed by the electronic device includes an operation of storing a plurality of denoising models previously learned for each of various compression qualities, and corresponding to a compression quality classified for the image among the plurality of denoising models. An operation of selecting a denoising model that has been learned to be denoising, and an operation of processing image quality improvement for the image based on the selected denoising model.

일 실시예에 따르면, 상기 전자 장치에서 수행하는 동작 방법은, 상기 이미지의 이미지 품질에 관련된 정보를 요청하는 사용자 입력을 수신하는 동작, 상기 사용자 입력을 수신하는 것에 기반하여, 상기 이미지에 대한 보정 정보를 상기 이미지에 기반하여 표시하도록 디스플레이 모듈을 제어하는 동작을 포함할 수 있다.According to an embodiment, the operating method performed by the electronic device may include receiving a user input requesting information related to image quality of the image, and correction information for the image based on receiving the user input. It may include an operation of controlling the display module to display based on the image.

일 실시예에 따르면, 상기 전자 장치에서 수행하는 동작 방법은, 상기 사용자 입력을 수신하는 것에 기반하여, 상기 이미지의 대표 품질에 대응하는 압축 품질을 갖는 적어도 하나의 블록을 식별하는 동작, 상기 이미지에서, 상기 식별된 블록에 대응하는 부분에 기반하여 지정된 노티 객체를 제공하는 동작, 상기 노티 객체와 함께, 상기 이미지 보정에 대한 전체 스코어 및 분류에 대한 설명을 포함하는 상세 정보를 표시하는 동작을 포함할 수 있다.According to an embodiment, the operation method performed by the electronic device includes an operation of identifying at least one block having a compression quality corresponding to the representative quality of the image, based on receiving the user input, in the image , An operation of providing a designated notification object based on a part corresponding to the identified block, and an operation of displaying detailed information including a description of the overall score and classification for the image correction together with the notification object. can

일 실시예에 따르면, 상기 전자 장치에서 수행하는 동작 방법은, 상기 이미지의 압축을 위한 사용자 입력을 수신하는 동작, 상기 사용자 입력을 수신하는 것에 기반하여, 상기 이미지의 제1 압축 시 발생된 아티펙트를 제거하는 동작, 상기 제1 압축에 관련된 제1 압축 품질에 기반하여 상기 제2 압축을 위한 제2 압축 품질을 결정하는 동작, 상기 제2 압축 품질에 기반하여 이미지에 대한 제2 압축을 수행하는 동작을 포함할 수 있다.According to an embodiment, the operating method performed by the electronic device may include receiving a user input for compressing the image, and based on receiving the user input, artifacts generated during the first compression of the image. Determining a second compression quality for the second compression based on the first compression quality related to the first compression, and performing a second compression on an image based on the second compression quality. can include

본 명세서와 도면에 개시된 본 개시의 다양한 실시예들은 본 개시의 기술 내용을 쉽게 설명하고 본 개시의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 개시의 범위를 한정하고자 하는 것은 아니다. 따라서 본 개시의 범위는 여기에 개시된 실시예들 이외에도 본 개시의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.Various embodiments of the present disclosure disclosed in the present specification and drawings are only presented as specific examples to easily explain the technical content of the present disclosure and help understanding of the present disclosure, and are not intended to limit the scope of the present disclosure. Therefore, the scope of the present disclosure should be construed as including all changes or modified forms derived based on the technical spirit of the present disclosure in addition to the embodiments disclosed herein.

101: 전자 장치
120: 프로세서
130: 메모리
160: 디스플레이 모듈
190: 통신 모듈
210: 이미지 처리 모듈
220: 샘플 패치 추출 모듈
230: 압축 품질 분류 모듈
240: 신뢰도 추정 모듈
250: 품질 예측 모듈
260: 노이즈 제거 모델
270: 모델 선택 모듈
280: 스코어 산출 모듈
101: electronic device
120: processor
130: memory
160: display module
190: communication module
210: image processing module
220: sample patch extraction module
230: compression quality classification module
240: reliability estimation module
250: quality prediction module
260: denoising model
270: model selection module
280: score calculation module

Claims (20)

전자 장치에 있어서,
디스플레이 모듈;
메모리; 및
상기 디스플레이 모듈 및 상기 메모리와 작동적으로 연결된 프로세서를 포함하고, 상기 프로세서는,
상기 디스플레이 모듈을 통해 이미지를 표시하고,
상기 이미지에서 지정된 복수 개의 블록을 지정된 방식으로 추출하고,
상기 복수 개의 블록에 대하여 각 블록 별로 신뢰도를 추정하고,
신뢰도 추정에 기반하여, 상기 복수 개의 블록 중 품질 예측 제외 대상인 아웃라이어(outlier)에 대응하는 제1 블록과 품질 예측이 가능한 제2 블록을 식별하고,
상기 복수 개의 블록 중 상기 제1 블록을 품질 예측 대상에서 제외하고, 및
상기 복수 개의 블록 중 상기 제1 블록을 제외한 나머지 제2 블록을 이용하여, 상기 이미지에 대한 압축 품질을 분류하도록 설정된 전자 장치.
In electronic devices,
display module;
Memory; and
a processor operatively coupled with the display module and the memory, the processor comprising:
displaying an image through the display module;
Extracting a plurality of designated blocks from the image in a designated manner;
Estimating reliability for each block with respect to the plurality of blocks;
Based on the reliability estimation, among the plurality of blocks, a first block corresponding to an outlier to be excluded from quality prediction and a second block from which quality prediction is possible are identified;
Excluding the first block among the plurality of blocks from the quality prediction target, and
An electronic device configured to classify the compression quality of the image using second blocks other than the first block among the plurality of blocks.
제1항에 있어서, 상기 이미지는,
지정된 압축 품질로 압축된 압축 이미지인 것을 특징으로 하는 전자 장치.
The method of claim 1, wherein the image,
An electronic device characterized in that it is a compressed image compressed with a specified compression quality.
제1항에 있어서, 상기 프로세서는,
상기 추출된 복수 개의 블록에 대해, 블록 단위의 신뢰도 추정에 기반하여, 지정된 임계 값 이하의 아웃라이어에 대응하는 적어도 하나의 제1 블록을 추정하고,
상기 적어도 하나의 제1 블록을 압축 품질 분류를 위한 평균 연산에서 제외하고,
지정된 임계 값 초과의 적어도 하나의 제2 블록에 기반하여 압축 품질 분류를 위한 평균 연산을 수행하고,
평균 연산의 결과를 상기 이미지에 대한 압축 품질로 분류하도록 설정된 전자 장치.
The method of claim 1, wherein the processor,
Estimating at least one first block corresponding to an outlier of a predetermined threshold value or less based on block-by-block reliability estimation for the plurality of extracted blocks;
Excluding the at least one first block from an average operation for classification of compression quality,
Performing an average operation for classification of compression quality based on at least one second block exceeding a specified threshold;
An electronic device configured to classify a result of averaging operation into a compression quality for the image.
제1항에 있어서, 상기 프로세서는,
상기 이미지에 대해 분류된 압축 품질에 대응하게 학습된 노이즈 제거 모델을 선택하고,
상기 선택된 노이즈 제거 모델에 기반하여 상기 이미지에 대한 화질 개선을 처리하고,
개선된 이미지를 지정된 동작에 기반하여 처리하도록 설정된 전자 장치.
The method of claim 1, wherein the processor,
Selecting a denoising model trained to correspond to the classified compression quality for the image;
Process quality improvement for the image based on the selected noise removal model;
An electronic device configured to process enhanced images based on specified actions.
제4항에 있어서, 상기 프로세서는,
다양한 압축 품질 별로 미리 학습된 복수의 노이즈 제거 모델을 상기 메모리에 저장하고,
상기 복수의 노이즈 제거 모델 중 상기 이미지의 압축 품질의 분류에 대응하게 학습된 노이즈 제거 모델을 선택하도록 설정된 전자 장치.
The method of claim 4, wherein the processor,
Storing a plurality of pre-learned denoising models for various compression qualities in the memory;
An electronic device configured to select a denoising model learned to correspond to the classification of the compression quality of the image from among the plurality of denoising models.
제4항에 있어서, 상기 프로세서는,
개선된 이미지를, 상기 디스플레이 모듈을 통한 표시, 상기 메모리에 저장 또는 외부로 전송 중 적어도 하나의 지정된 동작으로 처리하도록 설정된 전자 장치.
The method of claim 4, wherein the processor,
An electronic device configured to process an improved image through at least one designated operation of displaying the improved image through the display module, storing the image in the memory, or transmitting the image to the outside.
제1항에 있어서, 상기 프로세서는,
상기 이미지의 이미지 품질에 관련된 정보를 요청하는 사용자 입력을 수신하고,
상기 사용자 입력을 수신하는 것에 기반하여, 상기 이미지에 대한 보정 정보를 상기 이미지에 기반하여 표시하도록 상기 디스플레이 모듈(160)을 제어하도록 설정된 전자 장치.
The method of claim 1, wherein the processor,
Receive user input requesting information related to image quality of the image;
An electronic device configured to control the display module 160 to display correction information for the image based on the image, based on receiving the user input.
제7항에 있어서, 상기 프로세서는,
상기 사용자 입력을 수신하는 것에 기반하여, 상기 이미지의 대표 품질에 대응하는 압축 품질을 갖는 적어도 하나의 블록을 식별하고,
상기 식별된 블록에 기반하여 지정된 노티 객체와 이미지 보정에 대한 상세 정보를 제공하도록 설정된 전자 장치.
The method of claim 7, wherein the processor,
Based on receiving the user input, identify at least one block having a compression quality corresponding to a representative quality of the image;
An electronic device configured to provide specified notification objects and detailed information on image correction based on the identified block.
제8항에 있어서, 상기 프로세서는,
상기 이미지로부터 높은 신뢰도의 블록을 식별하고,
식별된 블록에 대한 품질 및 신뢰도를 측정하고,
측정된 품질 및 신뢰도에 따른 블록 별 압축 품질과 상기 이미지의 대표 품질을 비교하고,
상기 블록 별 압축 품질 중 상기 대표 품질에 대응하는 압축 품질을 가지면서, 다른 블록과 비교하여 상대적으로 높은 신뢰도를 갖는 블록을 군집화(clustering) 하고,
상기 이미지에서 군집화된 블록에 대응하는 부분에 기반하여 상기 지정된 노티 객체를 제공하고,
상기 노티 객체와 함께, 상기 이미지 보정에 대한 전체 스코어 및 분류에 대한 설명을 포함하는 상세 정보를 표시하도록 상기 디스플레이 모듈을 제어하도록 설정된 전자 장치.
The method of claim 8, wherein the processor,
identify a high confidence block from the image;
measure the quality and reliability of identified blocks;
Comparing the compression quality of each block according to the measured quality and reliability with the representative quality of the image,
Clustering blocks having a compression quality corresponding to the representative quality among the compression qualities of each block and having a relatively high reliability compared to other blocks,
Providing the specified notification object based on a part corresponding to the clustered block in the image;
An electronic device configured to control the display module to display detailed information including an overall score for image correction and a description of classification, together with the notification object.
제1항에 있어서, 상기 프로세서는,
상기 이미지의 제2 압축 시에, 상기 이미지의 제1 압축 시에 발생된 아티펙트를 제거하고, 이후 제2 압축을 수행하도록 설정된 전자 장치.
The method of claim 1, wherein the processor,
An electronic device configured to, in the second compression of the image, remove artifacts generated in the first compression of the image, and then perform the second compression.
제10항에 있어서, 상기 프로세서는,
상기 이미지의 압축을 위한 사용자 입력을 수신하고,
상기 사용자 입력을 수신하는 것에 기반하여, 상기 이미지의 제1 압축 시의 제1 압축 품질에 대응하는 노이즈 제거 모델에 기반하여, 상기 제1 압축 시 발생한 아티펙트를 제거하고,
상기 제1 압축에 관련된 제1 압축 품질에 기반하여 상기 제2 압축을 위한 제2 압축 품질을 결정하고,
상기 제2 압축 품질에 기반하여 이미지에 대한 제2 압축을 수행하도록 설정된 전자 장치.
The method of claim 10, wherein the processor,
Receiving a user input for compressing the image;
Based on receiving the user input, based on a noise removal model corresponding to a first compression quality of the first compression of the image, removing artifacts generated during the first compression,
determine a second compression quality for the second compression based on the first compression quality associated with the first compression;
An electronic device configured to perform a second compression on an image based on the second compression quality.
제11항에 있어서, 상기 프로세서는,
상기 제1 압축 품질에 대응하게 상기 제2 압축 품질을 결정하도록 설정된 전자 장치.
The method of claim 11, wherein the processor,
An electronic device configured to determine the second compression quality corresponding to the first compression quality.
제1항에 있어서, 상기 프로세서는,
상기 압축 품질 분류를 위한 품질 예측 모듈 및 신뢰도 추정 모듈을 포함하고,
상기 품질 예측 모듈을 학습하는 중에, 상기 신뢰도 추정 모듈을 함께 학습하도록 설정된 전자 장치.
The method of claim 1, wherein the processor,
A quality prediction module and a reliability estimation module for classifying the compression quality,
An electronic device configured to learn the reliability estimation module together while learning the quality prediction module.
제2항에 있어서, 상기 프로세서는,
인공 지능 알고리즘을 이용하여 학습된 학습 모델을 이용하여, 이미지의 압축 품질을 분류하도록 설정된 전자 장치.
The method of claim 2, wherein the processor,
An electronic device configured to classify the compression quality of an image using a learning model learned using an artificial intelligence algorithm.
전자 장치의 동작 방법에 있어서,
전자 장치의 디스플레이 모듈을 통해 이미지를 표시하는 동작;
상기 이미지에서 지정된 복수 개의 블록을 지정된 방식으로 추출하는 동작;
상기 복수 개의 블록에 대하여 각 블록 별로 신뢰도를 추정하는 동작;
신뢰도 추정에 기반하여, 상기 복수 개의 블록 중 품질 예측 제외 대상인 아웃라이어(outlier)에 대응하는 제1 블록과 품질 예측이 가능한 제2 블록을 식별하는 동작;
상기 복수 개의 블록 중 상기 제1 블록을 품질 예측 대상에서 제외하는 동작; 및
상기 복수 개의 블록 중 상기 제1 블록을 제외한 나머지 제2 블록을 이용하여, 상기 이미지에 대한 압축 품질을 분류하는 동작을 포함하는 방법.
In the operating method of the electronic device,
displaying an image through a display module of an electronic device;
extracting a plurality of designated blocks from the image in a designated manner;
estimating reliability for each block with respect to the plurality of blocks;
based on the reliability estimation, identifying a first block corresponding to an outlier that is to be excluded from quality prediction and a second block from which quality prediction is possible, among the plurality of blocks;
excluding the first block among the plurality of blocks from a quality prediction target; and
and classifying a compression quality of the image using second blocks other than the first block among the plurality of blocks.
제15항에 있어서, 상기 압축 품질을 분류하는 동작은,
상기 추출된 복수 개의 블록에 대해, 블록 단위의 신뢰도 추정에 기반하여, 지정된 임계 값 이하의 아웃라이어에 대응하는 적어도 하나의 제1 블록을 추정하는 동작,
상기 적어도 하나의 제1 블록을 압축 품질 분류를 위한 평균 연산에서 제외하는 동작,
지정된 임계 값 초과의 적어도 하나의 제2 블록에 기반하여 압축 품질 분류를 위한 평균 연산을 수행하는 동작,
평균 연산의 결과를 상기 이미지에 대한 압축 품질로 분류하는 동작을 포함하는 방법.
16. The method of claim 15, wherein the classification of the compression quality comprises:
estimating at least one first block corresponding to an outlier equal to or less than a specified threshold based on block-by-block reliability estimation for the plurality of extracted blocks;
Excluding the at least one first block from an average operation for classification of compression quality;
An operation of performing an average operation for classification of compression quality based on at least one second block exceeding a specified threshold;
and classifying a result of the averaging operation as a compression quality for the image.
제15항에 있어서,
다양한 압축 품질 별로 미리 학습된 복수의 노이즈 제거 모델을 저장하는 동작,
상기 복수의 노이즈 제거 모델 중 상기 이미지에 대해 분류된 압축 품질에 대응하게 학습된 노이즈 제거 모델을 선택하는 동작,
상기 선택된 노이즈 제거 모델에 기반하여 상기 이미지에 대한 화질 개선을 처리하는 동작을 포함하는 방법.
According to claim 15,
An operation of storing a plurality of pre-trained denoising models for various compression qualities;
Selecting a denoising model learned to correspond to the classified compression quality of the image from among the plurality of denoising models;
and processing image quality enhancement of the image based on the selected noise removal model.
제15항에 있어서,
상기 이미지의 이미지 품질에 관련된 정보를 요청하는 사용자 입력을 수신하는 동작,
상기 사용자 입력을 수신하는 것에 기반하여, 상기 이미지에 대한 보정 정보를 상기 이미지에 기반하여 표시하도록 디스플레이 모듈을 제어하는 동작을 포함하는 방법.
According to claim 15,
Receiving a user input requesting information related to image quality of the image;
and controlling a display module to display correction information for the image based on the image, based on receiving the user input.
제18항에 있어서,
상기 사용자 입력을 수신하는 것에 기반하여, 상기 이미지의 대표 품질에 대응하는 압축 품질을 갖는 적어도 하나의 블록을 식별하는 동작,
상기 이미지에서, 상기 식별된 블록에 대응하는 부분에 기반하여 지정된 노티 객체를 제공하는 동작,
상기 노티 객체와 함께, 상기 이미지 보정에 대한 전체 스코어 및 분류에 대한 설명을 포함하는 상세 정보를 표시하는 동작을 포함하는 방법.
According to claim 18,
Based on receiving the user input, identifying at least one block having a compression quality corresponding to the representative quality of the image;
In the image, an operation of providing a specified notification object based on a part corresponding to the identified block;
and displaying, together with the notification object, detailed information including an overall score for the image correction and a description of the classification.
제15항에 있어서,
상기 이미지의 압축을 위한 사용자 입력을 수신하는 동작,
상기 사용자 입력을 수신하는 것에 기반하여, 상기 이미지의 제1 압축 시 발생된 아티펙트를 제거하는 동작,
상기 제1 압축에 관련된 제1 압축 품질에 기반하여 상기 제2 압축을 위한 제2 압축 품질을 결정하는 동작,
상기 제2 압축 품질에 기반하여 이미지에 대한 제2 압축을 수행하는 동작을 포함하는 방법.
According to claim 15,
Receiving a user input for compressing the image;
Based on receiving the user input, removing artifacts generated during the first compression of the image;
determining a second compression quality for the second compression based on the first compression quality related to the first compression;
and performing a second compression on the image based on the second compression quality.
KR1020210153020A 2021-09-30 2021-11-09 Apparatus and method for predicting compression quality of image in electronic device KR20230046913A (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202280066109.8A CN118057962A (en) 2021-09-30 2022-09-29 Method and apparatus for predicting compression quality of image in electronic device
EP22876884.2A EP4365825A4 (en) 2021-09-30 2022-09-29 Method and apparatus for predicting compression quality of image in electronic device
PCT/KR2022/014632 WO2023055112A1 (en) 2021-09-30 2022-09-29 Method and apparatus for predicting compression quality of image in electronic device
US17/970,482 US20230102895A1 (en) 2021-09-30 2022-10-20 Apparatus and method for predicting compression quality of image in electronic device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20210130181 2021-09-30
KR1020210130181 2021-09-30

Publications (1)

Publication Number Publication Date
KR20230046913A true KR20230046913A (en) 2023-04-06

Family

ID=85918049

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210153020A KR20230046913A (en) 2021-09-30 2021-11-09 Apparatus and method for predicting compression quality of image in electronic device

Country Status (1)

Country Link
KR (1) KR20230046913A (en)

Similar Documents

Publication Publication Date Title
CN109919087B (en) Video classification method, model training method and model training device
CN109685746B (en) Image brightness adjusting method and device, storage medium and terminal
US20200329233A1 (en) Hyperdata Compression: Accelerating Encoding for Improved Communication, Distribution &amp; Delivery of Personalized Content
US20230419452A1 (en) Method and device for correcting image on basis of compression quality of image in electronic device
CN106874937B (en) Text image generation method, text image generation device and terminal
JP5985622B2 (en) Content adaptive system, method and apparatus for determining optical flow
CN110637460A (en) Visual quality preserving quantitative parameter prediction using deep neural networks
CN108234882B (en) Image blurring method and mobile terminal
US20220272355A1 (en) Machine learning based flow determination for video coding
US20220295095A1 (en) Learned b-frame coding using p-frame coding system
GB2587833A (en) Image modification styles learned from a limited set of modified images
CN109784252A (en) Image processing method, device, storage medium and electronic equipment
CN113012073A (en) Training method and device for video quality improvement model
KR20220129473A (en) Low complexity deep guided filter decoder for pixel-level prediction task
KR20230046913A (en) Apparatus and method for predicting compression quality of image in electronic device
EP4365825A1 (en) Method and apparatus for predicting compression quality of image in electronic device
CN117726700A (en) Image generation method, device, electronic equipment and storage medium
CN118057962A (en) Method and apparatus for predicting compression quality of image in electronic device
CN113453017B (en) Video processing method, device, equipment and computer program product
US20230252604A1 (en) Learning based discrete cosine noise filter
CN114882226A (en) Image processing method, intelligent terminal and storage medium
CN114358102A (en) Data classification method, device, equipment and storage medium
US20230338852A1 (en) Image frame processing method and an electronic device supporting same
US20230360383A1 (en) Image processing apparatus and operation method thereof
CN117975484B (en) Training method of change detection model, change detection method, device and equipment