KR20190105745A - 전자 장치 및 그 제어 방법 - Google Patents

전자 장치 및 그 제어 방법 Download PDF

Info

Publication number
KR20190105745A
KR20190105745A KR1020180026209A KR20180026209A KR20190105745A KR 20190105745 A KR20190105745 A KR 20190105745A KR 1020180026209 A KR1020180026209 A KR 1020180026209A KR 20180026209 A KR20180026209 A KR 20180026209A KR 20190105745 A KR20190105745 A KR 20190105745A
Authority
KR
South Korea
Prior art keywords
image block
image blocks
noise
compression rate
frame
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020180026209A
Other languages
English (en)
Other versions
KR102606200B1 (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 KR1020180026209A priority Critical patent/KR102606200B1/ko
Priority to CN201980017219.3A priority patent/CN111869220B/zh
Priority to PCT/KR2019/001801 priority patent/WO2019172546A1/en
Priority to EP19763926.3A priority patent/EP3707906B1/en
Priority to US16/292,655 priority patent/US11153575B2/en
Publication of KR20190105745A publication Critical patent/KR20190105745A/ko
Application granted granted Critical
Publication of KR102606200B1 publication Critical patent/KR102606200B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0495Quantised networks; Sparse networks; Compressed networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/30Noise filtering
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

전자 장치가 개시된다. 본 전자 장치는 복수의 압축률 중 이미지 블럭에 적용된 압축률을 판단하기 위한 압축률 네트워크 모델 및 복수의 압축률 별로 압축 잡음을 제거하기 위한 복수의 압축 잡음 제거 네트워크 모델이 저장된 스토리지 및 압축률 네트워크 모델에 기초하여 디코딩된 동영상의 프레임에 포함된 복수의 이미지 블럭 각각의 압축률을 획득하고, 획득된 복수의 압축률에 기초하여 프레임의 압축률을 획득하며, 복수의 압축 잡음 제거 네트워크 모델 중 프레임의 압축률에 대응되는 압축 잡음 제거 네트워크 모델에 기초하여 프레임의 압축 잡음을 제거하는 프로세서를 포함하며, 압축률 네트워크 모델은 복수의 압축률에 각각 대응되는 복수의 복원 이미지 블럭의 이미지 특성을 제1 인공지능 알고리즘을 통해 학습하여 획득되고, 복수의 복원 이미지 블럭은 복수의 원본 이미지 블럭을 인코딩하고, 인코딩된 복수의 원본 이미지 블럭을 디코딩하여 생성되며, 복수의 압축 잡음 제거 네트워크 모델은 복수의 원본 이미지 블럭 및 복수의 복원 이미지 블럭의 관계를 제2 인공지능 알고리즘을 통해 학습하여 획득될 수 있다.

Description

전자 장치 및 그 제어 방법 {ELECTRONIC APPARATUS AND CONTROL METHOD THEREOF }
본 개시는 전자 장치 및 그 제어 방법에 대한 것으로, 더욱 상세하게는 영상 처리를 수행하는 전자 장치 및 그 제어 방법에 대한 것이다.
또한, 본 개시는 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공 지능(Artificial Intelligence, AI) 시스템 및 그 응용에 관한 것이다.
근래에는 인간 수준의 지능을 구현하는 인공 지능 시스템이 다양한 분야에서 이용되고 있다. 인공 지능 시스템은 기존의 룰(rule) 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공 지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 룰 기반 스마트 시스템은 점차 딥러닝 기반 인공 지능 시스템으로 대체되고 있다.
인공 지능 기술은 기계학습(예로, 딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공 지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
한편, 고화질 동영상에 대한 수요가 증가함에 따라 동영상 압축이 매우 중요한 기술로 부각되었다. 다만, 대부분의 동영상 압축 방식들은 손실 압축(lossy compression) 방식이므로 복원 영상은 다양한 압축 잡음(화질 열화 현상)을 포함하게 된다. 대표적인 압축 잡음으로는 블록킹(blocking), 링잉(ringing) 및 플리커링(flickering) 현상이 있다. 블록킹이나 링잉 현상은 압축 과정 중 양자화 과정에 의해 주로 발생하며, 원본 이미지에 없는 무늬가 생기게 되는데, 블록킹의 경우 격자 무늬가, 링잉의 경우 아지랑이 형태의 무늬가 생기게 된다.
이를 제거하기 위해서는 먼저, 압축률에 따라 압축 잡음의 발생 정도가 다르기 때문에 압축률의 획득이 선행될 필요가 있다. 다만, 부가 정보 없이 동영상만 있는 경우에는 압축률을 알 수가 없으며, 이 경우 압축률의 예측이 필요하다.
종래의 동영상 압축률 예측 기술들은 주로 JPEG으로 압축된 영상에서 특징점을 사람의 직관을 이용하여 뽑고 SVM(support vector machine)과 같은 분류기로 분류하는 방법을 사용한다. 이 경우, 예측 성능은 특징점 설계에 크게 의존하게 되나, 최적의 설계를 만들기 어려운 문제가 있다.
또한, 종래의 동영상 압축률 예측 기술들은 대부분 블록킹 정도를 분석하여 화질을 쉽게 파악할 수 있는 JPEG, MPEG2 압축 영상에 대한 것이다. 그러나 현재 주로 사용되는 동영상 압축 표준인 H.264 또는 HEVC의 경우 내부적으로 디블록 필터(deblocking filter)가 존재하여 영상의 특성이 JPEG, MPEG2와는 크게 달라지기 때문에 종래 기술을 그대로 사용하기 어렵다.
그리고, 종래의 압축 잡음 제거 기술들은 동영상의 개별 프레임을 입력받아 개선된 프레임을 출력하고, 출력된 프레임들을 묶어서 다시 하나의 동영상으로 만드는 과정을 따르고 있다. 이는 각 프레임마다 독립적으로 발생하는 블러킹과 링잉현상을 제거하는 것에는 효과가 있지만, 프레임 간의 연관성에 의해 발생하는 플리커링 현상을 제거하는 것에는 큰 효과를 내기 어려운 문제가 있다.
본 개시는 상술한 필요성에 따른 것으로, 본 개시의 목적은 학습 기반 압축 잡음을 제거하는 전자 장치 및 그 제어 방법을 제공함에 있다.
이상과 같은 목적을 달성하기 위한 본 개시의 일 실시 예에 따르면, 전자 장치는 복수의 압축률 중 이미지 블럭에 적용된 압축률을 판단하기 위한 압축률 네트워크 모델 및 상기 복수의 압축률 별로 압축 잡음을 제거하기 위한 복수의 압축 잡음 제거 네트워크 모델이 저장된 스토리지 및 상기 압축률 네트워크 모델에 기초하여 디코딩된 동영상의 프레임에 포함된 복수의 이미지 블럭 각각의 압축률을 획득하고, 상기 획득된 복수의 압축률에 기초하여 상기 프레임의 압축률을 획득하며, 상기 복수의 압축 잡음 제거 네트워크 모델 중 상기 프레임의 압축률에 대응되는 압축 잡음 제거 네트워크 모델에 기초하여 상기 프레임의 압축 잡음을 제거하는 프로세서를 포함하며, 상기 압축률 네트워크 모델은 상기 복수의 압축률에 각각 대응되는 복수의 복원 이미지 블럭의 이미지 특성을 제1 인공지능 알고리즘을 통해 학습하여 획득되고, 상기 복수의 복원 이미지 블럭은 복수의 원본 이미지 블럭을 인코딩하고, 상기 인코딩된 복수의 원본 이미지 블럭을 디코딩하여 생성되며, 상기 복수의 압축 잡음 제거 네트워크 모델은 상기 복수의 원본 이미지 블럭 및 상기 복수의 복원 이미지 블럭의 관계를 제2 인공지능 알고리즘을 통해 학습하여 획득될 수 있다.
그리고, 상기 프로세서는 상기 프레임의 전후로 기설정된 개수의 복수의 프레임 각각을 복수의 추가 이미지 블럭으로 구분하고, 상기 압축률 네트워크 모델에 기초하여 상기 복수의 추가 이미지 블럭 각각의 추가 압축률을 획득하며, 상기 복수의 압축률 및 상기 복수의 추가 압축률에 기초하여 상기 프레임의 압축률을 획득할 수 있다.
또한, 상기 프로세서는 상기 복수의 이미지 블럭 각각의 픽셀 값에 대한 분산을 산출하고, 상기 산출된 분산에 기초하여 상기 복수의 이미지 블럭 중 기설정된 개수의 이미지 블럭을 획득하며, 상기 압축률 네트워크 모델에 기초하여 상기 획득된 기설정된 개수의 이미지 블럭 각각의 압축률을 획득하고, 상기 획득된 복수의 압축률에 기초하여 상기 프레임의 압축률을 획득할 수 있다.
그리고, 상기 프로세서는 상기 프레임을 상기 복수의 이미지 블럭으로 구분하고, 상기 압축 잡음 제거 네트워크 모델에 기초하여 상기 복수의 이미지 블럭 각각의 압축 잡음을 제거하며, 상기 압축 잡음이 제거된 복수의 이미지 블럭을 결합하여 압축 잡음이 제거된 프레임을 획득할 수 있다.
또한, 상기 프로세서는 상기 프레임의 전후 프레임에서 상기 복수의 이미지 블럭 중 하나인 제1 이미지 블럭에 대응되는 제2 이미지 블럭 및 제3 이미지 블럭을 획득하고, 상기 제2 이미지 블럭 및 상기 제3 이미지 블럭을 이용하여 상기 제1 이미지 블럭의 압축 잡음을 제거할 수 있다.
여기서, 상기 프로세서는 상기 압축 잡음 제거 네트워크 모델에 기초하여 상기 제1 이미지 블럭, 상기 제2 이미지 블럭 및 상기 제3 이미지 블럭 각각에 대해 적어도 한 번의 컨볼루션 연산을 수행하고, 상기 컨볼루션 연산이 수행된 제1 이미지 블럭, 제2 이미지 블럭 및 제3 이미지 블럭을 결합하며, 상기 결합된 이미지 블럭에 대해 적어도 한 번의 컨볼루션 연산을 수행하여 상기 제1 이미지 블럭의 압축 잡음을 제거할 수 있다.
그리고, 상기 프로세서는 상기 제1 이미지 블럭 및 상기 제2 이미지 블럭의 제1 최대 신호 대 잡음비(Peak Signal-to-noise ratio, PSNR) 및 상기 제1 이미지 블럭 및 상기 제3 이미지 블럭의 제2 최대 신호 대 잡음비를 산출하며, 상기 제1 최대 신호 대 잡음비 및 상기 제2 최대 신호 대 잡음비 중 적어도 하나가 기설정된 값보다 작은 경우, 상기 제2 이미지 블럭 및 상기 제3 이미지 블럭 중 상기 기설정된 값보다 작은 최대 신호 대 잡음비에 대응되는 이미지 블럭을 대신하여 상기 제1 이미지 블럭을 상기 압축 잡음 제거 네트워크 모델에 입력할 수 있다.
또한, 상기 프로세서는 경계로부터의 거리에 따른 가중치에 기초하여 상기 압축 잡음이 제거된 복수의 이미지 블럭을 오버랩하여 결합할 수 있다.
그리고, 상기 프로세서는 상기 프레임을 색차 성분과 휘도 성분으로 구분하고, 상기 압축 잡음 제거 네트워크 모델에 기초하여 상기 휘도 성분의 압축 잡음을 제거하며, 상기 색차 성분과 상기 압축 잡음이 제거된 휘도 성분을 결합하여 상기 프레임의 압축 잡음을 제거하며, 상기 복수의 압축 잡음 제거 네트워크 모델은 상기 복수의 원본 이미지 블럭의 휘도 성분 및 상기 복수의 복원 이미지 블럭의 휘도 성분의 관계를 제2 인공지능 알고리즘을 통해 학습하여 획득될 수 있다.
또한, 상기 압축률 네트워크 모델 및 상기 복수의 압축 잡음 제거 네트워크 모델은 딥러닝(Deep Learning) 네트워크 구조일 수 있다.
한편, 본 개시의 일 실시 예에 따르면, 전자 장치의 제어 방법은 복수의 압축률 중 이미지 블럭에 적용된 압축률을 판단하기 위한 압축률 네트워크 모델에 기초하여 디코딩된 동영상의 프레임에 포함된 복수의 이미지 블럭 각각의 압축률을 획득하는 단계, 상기 획득된 복수의 압축률에 기초하여 상기 프레임의 압축률을 획득하는 단계 및 상기 복수의 압축률 별로 압축 잡음을 제거하기 위한 복수의 압축 잡음 제거 네트워크 모델 중 상기 프레임의 압축률에 대응되는 압축 잡음 제거 네트워크 모델에 기초하여 상기 프레임의 압축 잡음을 제거하는 단계를 포함하며, 상기 압축률 네트워크 모델은 상기 복수의 압축률에 각각 대응되는 복수의 복원 이미지 블럭의 이미지 특성을 제1 인공지능 알고리즘을 통해 학습하여 획득되고, 상기 복수의 복원 이미지 블럭은 복수의 원본 이미지 블럭을 인코딩하고, 상기 인코딩된 복수의 원본 이미지 블럭을 디코딩하여 생성되며, 상기 복수의 압축 잡음 제거 네트워크 모델은 상기 복수의 원본 이미지 블럭 및 상기 복수의 복원 이미지 블럭의 관계를 제2 인공지능 알고리즘을 통해 학습하여 획득될 수 있다.
그리고, 상기 압축률을 획득하는 단계는 상기 프레임의 전후로 기설정된 개수의 복수의 프레임 각각을 복수의 추가 이미지 블럭으로 구분하는 단계, 상기 압축률 네트워크 모델에 기초하여 상기 복수의 추가 이미지 블럭 각각의 추가 압축률을 획득하는 단계 및 상기 복수의 압축률 및 상기 복수의 추가 압축률에 기초하여 상기 프레임의 압축률을 획득하는 단계를 더 포함할 수 있다.
또한, 상기 복수의 이미지 블럭 각각의 압축률을 획득하는 단계는 상기 복수의 이미지 블럭 각각의 픽셀 값에 대한 분산을 산출하는 단계, 상기 산출된 분산에 기초하여 상기 복수의 이미지 블럭 중 기설정된 개수의 이미지 블럭을 획득하는 단계 및 상기 압축률 네트워크 모델에 기초하여 상기 획득된 기설정된 개수의 이미지 블럭 각각의 압축률을 획득하는 단계를 포함하고, 상기 프레임의 압축률을 획득하는 단계는, 상기 획득된 기설정된 개수의 이미지 블럭 각각의 압축률에 기초하여 상기 프레임의 압축률을 획득하는 단계를 더 포함할 수 있다.
그리고, 상기 압축 잡음을 제거하는 단계는 상기 프레임을 상기 복수의 이미지 블럭으로 구분하는 단계, 상기 압축 잡음 제거 네트워크 모델에 기초하여 상기 복수의 이미지 블럭 각각의 압축 잡음을 제거하는 단계 및 상기 압축 잡음이 제거된 복수의 이미지 블럭을 결합하여 압축 잡음이 제거된 프레임을 획득하는 단계를 포함할 수 있다.
또한, 상기 압축 잡음을 제거하는 단계는 상기 프레임의 전후 프레임에서 상기 복수의 이미지 블럭 중 하나인 제1 이미지 블럭에 대응되는 제2 이미지 블럭 및 제3 이미지 블럭을 획득하는 단계 및 상기 제2 이미지 블럭 및 상기 제3 이미지 블럭을 이용하여 상기 제1 이미지 블럭의 압축 잡음을 제거하는 단계를 더 포함할 수 있다.
여기서, 상기 제1 이미지 블럭의 압축 잡음을 제거하는 단계는 상기 압축 잡음 제거 네트워크 모델에 기초하여 상기 제1 이미지 블럭, 상기 제2 이미지 블럭 및 상기 제3 이미지 블럭 각각에 대해 적어도 한 번의 컨볼루션 연산을 수행하는 단계, 상기 컨볼루션 연산이 수행된 제1 이미지 블럭, 제2 이미지 블럭 및 제3 이미지 블럭을 결합하는 단계 및 상기 결합된 이미지 블럭에 대해 적어도 한 번의 컨볼루션 연산을 수행하여 상기 제1 이미지 블럭의 압축 잡음을 제거하는 단계를 포함할 수 있다.
그리고, 상기 압축 잡음을 제거하는 단계는 상기 제1 이미지 블럭 및 상기 제2 이미지 블럭의 제1 최대 신호 대 잡음비(Peak Signal-to-noise ratio, PSNR) 및 상기 제1 이미지 블럭 및 상기 제3 이미지 블럭의 제2 최대 신호 대 잡음비를 산출하는 단계 및 상기 제1 최대 신호 대 잡음비 및 상기 제2 최대 신호 대 잡음비 중 적어도 하나가 기설정된 값보다 작은 경우, 상기 제2 이미지 블럭 및 상기 제3 이미지 블럭 중 상기 기설정된 값보다 작은 최대 신호 대 잡음비에 대응되는 이미지 블럭을 대신하여 상기 제1 이미지 블럭을 상기 압축 잡음 제거 네트워크 모델에 입력하는 단계를 더 포함할 수 있다.
또한, 경계로부터의 거리에 따른 가중치에 기초하여 상기 압축 잡음이 제거된 복수의 이미지 블럭을 오버랩하여 결합하는 단계를 더 포함할 수 있다.
그리고, 상기 압축 잡음을 제거하는 단계는 상기 프레임을 색차 성분과 휘도 성분으로 구분하는 단계, 상기 압축 잡음 제거 네트워크 모델에 기초하여 상기 휘도 성분의 압축 잡음을 제거하는 단계 및 상기 색차 성분과 상기 압축 잡음이 제거된 휘도 성분을 결합하여 상기 프레임의 압축 잡음을 제거하는 단계를 포함하며, 상기 복수의 압축 잡음 제거 네트워크 모델은 상기 복수의 원본 이미지 블럭의 휘도 성분 및 상기 복수의 복원 이미지 블럭의 휘도 성분의 관계를 제2 인공지능 알고리즘을 통해 학습하여 획득될 수 있다.
또한, 상기 압축률 네트워크 모델 및 상기 복수의 압축 잡음 제거 네트워크 모델은 딥러닝(Deep Learning) 네트워크 구조일 수 있다.
이상과 같은 본 개시의 다양한 실시 예에 따르면, 전자 장치는 디코딩된 동영상의 압축률을 예측하고, 예측된 압축률에 대응되는 학습 기반 압축 잡음 제거 네트워크 모델에 기초하여 압축 잡음을 제거함에 따라 압축 잡음 제거 성능을 향상시킬 수 있다.
도 1a는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 나타내는 블럭도이다.
도 1b는 전자 장치의 세부 구성의 일 예를 나타내는 블럭도이다.
도 2는 본 개시의 일 실시 예에 따른 프로세서의 동작을 개략적으로 설명하기 위한 도면이다.
도 3은 본 개시의 일 실시 예에 따른 압축률을 획득하는 방법을 설명하기 위한 도면이다.
도 4a 및 도 4b는 본 개시의 다양한 실시 예에 따른 압축 잡음 제거 방법을 설명하기 위한 도면들이다.
도 5a 및 도 5b는 본 개시의 일 실시 예에 따른 압축 잡음 제거 네트워크 모델을 설명하기 위한 도면들이다.
도 6은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
이하에서, 첨부된 도면을 이용하여 본 개시의 다양한 실시 예들에 대하여 구체적으로 설명한다.
도 1a는 본 개시의 일 실시 예에 따른 전자 장치(100)의 구성을 나타내는 블럭도이다. 도 1a에 도시된 바와 같이, 전자 장치(100)는 스토리지(110) 및 프로세서(120)를 포함한다.
전자 장치(100)는 영상 처리를 수행하는 장치일 수 있다. 특히, 전자 장치(100)는 인공지능 알고리즘을 통해 학습된 데이터에 기초하여 영상 처리를 수행하는 장치일 수 있다. 예를 들어, 전자 장치(100)는 데스크탑 PC, 노트북, 스마트폰, 태블릿 PC, 서버 등일 수 있다. 또는, 전자 장치(100)는 클라우딩 컴퓨팅 환경이 구축된 시스템 자체일 수도 있다. 다만, 이에 한정되는 것은 아니며, 전자 장치(100)는 영상 처리가 가능한 장치라면 어떤 장치라도 무방하다.
스토리지(110)는 복수의 압축률 중 이미지 블럭에 적용된 압축률을 판단하기 위한 압축률 네트워크 모델을 저장할 수 있다. 예를 들어, 압축률 네트워크 모델에 이미지 블럭이 입력되면 입력된 이미지 블럭의 압축률이 결과로서 출력될 수 있다.
여기서, 이미지 블럭은 기설정된 크기의 이미지를 지칭하는 용어로서, 예를 들면 이미지 블럭은 10 × 10의 픽셀을 포함할 수 있다. 다만, 이에 한정되는 것은 아니며, 이미지 블럭은 그 크기 및 형태의 제한 없이 얼마든지 다양할 수 있다. 또한, 이미지 블럭은 이미지 패치로도 지칭될 수 있으나, 이하에서는 설명의 편의를 위해 이미지 블럭으로서 설명한다.
한편, 압축률 네트워크 모델은 복수의 압축률에 각각 대응되는 복수의 복원 이미지 블럭의 이미지 특성을 제1 인공지능 알고리즘을 통해 학습하여 획득되고, 복수의 복원 이미지 블럭은 복수의 원본 이미지 블럭을 인코딩하고, 인코딩된 복수의 원본 이미지 블럭을 디코딩하여 생성될 수 있다.
인코딩 및 디코딩 과정에서 손실이 발생하기 때문에 복수의 복원 이미지 블럭 각각은 대응되는 원본 이미지 블럭과는 다를 수 있다. 예를 들어, 예를 들어, 복수의 복원 이미지 블럭은 블록킹(blocking), 링잉(ringing) 및 플리커링(flickering) 등과 같은 압축 잡음을 포함할 수 있다.
스토리지(110)는 복수의 압축률 별로 압축 잡음을 제거하기 위한 복수의 압축 잡음 제거 네트워크 모델을 저장할 수 있다. 여기서, 복수의 압축 잡음 제거 네트워크 모델은 복수의 원본 이미지 블럭 및 복수의 복원 이미지 블럭의 관계를 제2 인공지능 알고리즘을 통해 학습하여 획득될 수 있다.
한편, 복수의 압축 잡음 제거 네트워크 모델의 개수는 압축률 네트워크 모델이 출력할 수 있는 결과의 개수와 동일할 수 있다. 예를 들어, 압축률 네트워크 모델은 QP(quantization parameter, 양자화 파라미터) 34에 따라 인코딩 및 디코딩된 복수의 제1 복원 이미지 블럭을 학습하고, QP 37에 따라 인코딩 및 디코딩된 복수의 제2 복원 이미지 블럭을 학습하고, QP 42에 따라 인코딩 및 디코딩된 복수의 제3 복원 이미지 블럭을 학습하고, QP 47에 따라 인코딩 및 디코딩된 복수의 제4 복원 이미지 블럭을 학습하여 생성될 수 있다.
그리고, 복수의 압축 잡음 제거 네트워크 모델은 QP 34의 복수의 제1 복원 이미지 블럭 및 이에 대응되는 복수의 제1 원본 이미지 블럭을 학습하여 생성된 제1 압축 잡음 제거 네트워크 모델, QP 37의 복수의 제2 복원 이미지 블럭 및 이에 대응되는 복수의 제2 원본 이미지 블럭을 학습하여 생성된 제2 압축 잡음 제거 네트워크 모델, QP 42의 복수의 제3 복원 이미지 블럭 및 이에 대응되는 복수의 제3 원본 이미지 블럭을 학습하여 생성된 제3 압축 잡음 제거 네트워크 모델, 및 QP 47의 복수의 제4 복원 이미지 블럭 및 이에 대응되는 복수의 제4 원본 이미지 블럭을 학습하여 생성된 제4 압축 잡음 제거 네트워크 모델을 포함할 수 있다.
압축률 네트워크 모델 및 복수의 압축 잡음 제거 네트워크 모델은 외부 서버에서 생성되고, 전자 장치(100)는 외부 서버로부터 압축률 네트워크 모델 및 복수의 압축 잡음 제거 네트워크 모델를 수신하여 스토리지(110)에 저장할 수 있다. 다만, 이에 한정되는 것은 아니며, 프로세서(120)가 압축률 네트워크 모델 및 복수의 압축 잡음 제거 네트워크 모델을 생성하여 스토리지(110)에 저장할 수도 있다.
이상에서 설명한 압축률 네트워크 모델 및 복수의 압축 잡음 제거 네트워크 모델은 딥러닝(Deep Learning) 네트워크 구조일 수 있다. 다만, 이에 한정되는 것은 아니며, 이미지 블럭을 학습할 수 있는 모델이라면 어떠한 형태라도 무방하다. 압축률 네트워크 모델 및 복수의 압축 잡음 제거 네트워크 모델을 생성하는 구체적인 방법에 대하여는 후술한다.
스토리지(110)는 디코딩된 동영상을 저장할 수 있다. 예를 들어, 외부 서버는 동영상을 인코딩하여 셋탑박스로 전송하고, 셋탑박스는 인코딩된 동영상을 디코딩하여 전자 장치(100)로 전송하며, 전자 장치(100)는 수신된 디코딩된 동영상을 스토리지(110)에 저장할 수 있다. 또는, 전자 장치(100)는 외부 서버로부터 인코딩된 동영상을 수신하고, 인코딩된 동영상을 디코딩하여 스토리지(110)에 저장할 수도 있다.
또한, 스토리지(110)는 복수의 원본 이미지 블럭 및 복수의 복원 이미지 블럭을 저장할 수도 있다. 다만, 이에 한정되는 것은 아니며, 스토리지(110)는 복수의 동영상을 저장할 수도 있다. 이 경우, 프로세서(120)는 복수의 동영상의 각 프레임을 복수의 이미지 블럭으로 구분하여 복수의 원본 이미지 블럭을 생성할 수 있다. 그리고, 프로세서(120)는 복수의 동영상을 각각 인코딩 및 디코딩하고, 복원된 복수의 동영상의 각 프레임을 복수의 이미지 블럭으로 구분하여 복수의 복원 이미지 블럭을 생성할 수 있다.
스토리지(110)는 하드디스크, 비휘발성 메모리 및 휘발성 메모리 등으로 구현될 수 있으며, 데이터를 저장할 수 있는 구성이라면 어떠한 구성이라도 가능하다.
프로세서(120)는 전자 장치(100)의 동작을 전반적으로 제어한다.
일 실시 예에 따라 프로세서(120)는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), TCON(Time controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(120)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다.
프로세서(120)는 압축률 네트워크 모델에 기초하여 디코딩된 동영상의 프레임에 포함된 복수의 이미지 블럭 각각의 압축률을 획득하고, 획득된 복수의 압축률에 기초하여 프레임의 압축률을 획득하며, 복수의 압축 잡음 제거 네트워크 모델 중 프레임의 압축률에 대응되는 압축 잡음 제거 네트워크 모델에 기초하여 프레임의 압축 잡음을 제거할 수 있다.
구체적으로, 프로세서(120)는 프레임을 복수의 이미지 블럭으로 구분하고, 압축률 네트워크 모델에 기초하여 복수의 이미지 블럭 각각의 압축률을 획득하며, 획득된 복수의 압축률에 기초하여 프레임의 압축률을 획득할 수 있다.
예를 들어, 프로세서(120)는 프레임을 각각이 37 × 37의 크기를 갖는 복수의 이미지 블럭으로 구분하고, 복수의 이미지 블럭 각각을 압축률 네트워크 모델에 입력하여 복수의 이미지 블럭 각각의 압축률을 획득할 수 있다. 그리고, 프로세서(120)는 하나의 프레임에서 획득된 복수의 압축률 중 가장 빈도 수가 높은 압축률을 프레임의 압축률로 결정할 수 있다.
그리고, 프로세서(120)는 프레임의 전후로 기설정된 개수의 복수의 프레임 각각을 복수의 추가 이미지 블럭으로 구분하고, 압축률 네트워크 모델에 기초하여 복수의 추가 이미지 블럭 각각의 추가 압축률을 획득하며, 복수의 압축률 및 복수의 추가 압축률에 기초하여 프레임의 압축률을 획득할 수도 있다.
예를 들어, 현재 프레임을 N번째 프레임으로 설명하면, 프로세서(120)는 N-9번째 프레임부터 N-1번째 프레임까지 총 9개의 프레임을 각각이 37 × 37의 크기를 갖는 복수의 추가 이미지 블럭으로 구분하고, 복수의 추가 이미지 블럭 각각을 압축률 네트워크 모델에 입력하여 복수의 추가 이미지 블럭 각각의 추가 압축률을 획득할 수 있다. 그리고, 프로세서(120)는 N번째 프레임에서 획득된 복수의 압축률 및 N-9번째 프레임부터 N-1번째 프레임에서 획득된 복수의 추가 압축률 중 가장 빈도 수가 높은 압축률을 N번째 프레임의 압축률로 결정할 수 있다.
즉, 프로세서(120)는 이전 및 이후 프레임 중 적어도 하나의 압축률을 더 반영하여 현재 프레임의 압축률을 결정할 수도 있다.
또한, 프로세서(120)는 복수의 이미지 블럭 각각의 픽셀 값에 대한 분산을 산출하고, 산출된 분산에 기초하여 복수의 이미지 블럭 중 기설정된 개수의 이미지 블럭을 획득하며, 압축률 네트워크 모델에 기초하여 획득된 기설정된 개수의 이미지 블럭 각각의 압축률을 획득하고, 획득된 복수의 압축률에 기초하여 프레임의 압축률을 획득할 수 있다.
예를 들어, 프로세서(120)는 복수의 이미지 블럭 중 픽셀 값에 대한 분산이 큰 96개의 이미지 블럭을 획득하며, 96개의 이미지 블럭의 압축률에 기초하여 프레임의 압축률을 획득할 수도 있다. 일반적으로, 프레임에서 텍스쳐 영역은 주로 높은 분산을 가지며, 프로세서(120)는 텍스쳐 영역을 위주로 프레임의 압축률을 결정할 수 있다.
한편, 프로세서(120)는 프레임을 복수의 이미지 블럭으로 구분하고, 압축 잡음 제거 네트워크 모델에 기초하여 복수의 이미지 블럭 각각의 압축 잡음을 제거하며, 압축 잡음이 제거된 복수의 이미지 블럭을 결합하여 압축 잡음이 제거된 프레임을 획득할 수 있다.
예를 들어, 프로세서(120)는 현재 프레임의 압축률이 QP 34, 37, 42, 47 중 34로 결정되면, QP 34에 대응되는 압축 잡음 제거 네트워크 모델에 프레임에 포함된 복수의 이미지 블럭을 순차적으로 입력하여 압축 잡음을 제거할 수 있다.
여기서, 프로세서(120)는 프레임의 전후 프레임에서 복수의 이미지 블럭 중 하나인 제1 이미지 블럭에 대응되는 제2 이미지 블럭 및 제3 이미지 블럭을 획득하고, 제2 이미지 블럭 및 제3 이미지 블럭을 이용하여 제1 이미지 블럭의 압축 잡음을 제거할 수도 있다.
예를 들어, 프로세서(120)는 압축 잡음 제거 네트워크 모델에 기초하여 제1 이미지 블럭, 제2 이미지 블럭 및 제3 이미지 블럭 각각에 대해 적어도 한 번의 컨볼루션 연산을 수행하고, 컨볼루션 연산이 수행된 제1 이미지 블럭, 제2 이미지 블럭 및 제3 이미지 블럭을 결합하며, 결합된 이미지 블럭에 대해 적어도 한 번의 컨볼루션 연산을 수행하여 제1 이미지 블럭의 압축 잡음을 제거할 수 있다. 여기서, 압축 잡음 네트워크 모델은 컨볼루션 연산에 이용되는 필터 등을 저장할 수 있다.
다만, 이에 한정되는 것은 아니며, 컨볼루션 연산의 순서는 얼마든지 다를 수 있다. 예를 들어, 프로세서(120)는 제1 이미지 블럭, 제2 이미지 블럭 및 제3 이미지 블럭을 병합한 후, 압축 잡음 제거 네트워크 모델에 기초하여 병합된 이미지 블럭에 대해 적어도 한 번의 컨볼루션 연산을 수행할 수도 있다. 즉, 인공지능 모델은 다양한 형태로 구현될 수 있으며, 어느 한 형태로 한정되는 것은 아니다.
즉, 프로세서(120)는 동일한 씬에 해당하는 인접 프레임으로부터 현재 프레임의 이미지 블럭과 유사한 이미지를 포함하는 이미지 블럭을 획득하고, 획득된 이미지 블럭을 이용하여 현재 프레임의 이미지 블럭에서 압축 잡음을 제거할 수도 있다.
프로세서(120)는 제1 이미지 블럭 및 제2 이미지 블럭의 제1 최대 신호 대 잡음비(Peak Signal-to-noise ratio, PSNR) 및 제1 이미지 블럭 및 제3 이미지 블럭의 제2 최대 신호 대 잡음비를 산출하며, 제1 최대 신호 대 잡음비 및 제2 최대 신호 대 잡음비 중 적어도 하나가 기설정된 값보다 작은 경우, 제2 이미지 블럭 및 제3 이미지 블럭 중 기설정된 값보다 작은 최대 신호 대 잡음비에 대응되는 이미지 블럭을 대신하여 제1 이미지 블럭을 압축 잡음 제거 네트워크 모델에 입력할 수 있다.
여기서, 최대 신호 대 잡음비는 두 이미지 블럭의 차이를 수치적으로 나타내며, 최대 신호 대 잡음비가 작을수록 두 이미지 블럭의 차이가 커짐을 나타낸다. 즉, 프로세서(120)는 제2 이미지 블럭 및 제3 이미지 블럭이 제1 이미지 블럭과 차이가 많이 나는 경우, 제2 이미지 블럭 및 제3 이미지 블럭을 이용하지 않고 제1 이미지 블럭의 압축 잡음을 제거한다. 다만, 압축 잡음 제거 네트워크 모델이 3개의 이미지 블럭을 입력받도록 학습된 경우, 프로세서(120)는 제2 이미지 블럭 및 제3 이미지 블럭 중 제1 이미지 블럭과의 최대 신호 대 잡음비가 기설정된 값보다 작은 이미지 블럭 대신 제1 이미지 블럭을 한 번 더 입력할 수 있다.
예를 들어, 제1 이미지 블럭 및 제2 이미지 블럭의 최대 신호 대 잡음비가 기설정된 값보다 작은 경우, 프로세서(120)는 제1 이미지 블럭, 제1 이미지 블럭 및 제3 이미지 블럭을 압축 잡음 제거 네트워크 모델에 입력하여 제1 이미지 블럭의 압축 잡음을 제거할 수 있다.
이후, 프로세서(120)는 경계로부터의 거리에 따른 가중치에 기초하여 압축 잡음이 제거된 복수의 이미지 블럭을 오버랩하여 결합할 수 있다. 예를 들어, 프로세서(120)는 경계로부터의 거리에 따른 가우시안 가중치(Gaussian Weight)에 기초하여 압축 잡음이 제거된 복수의 이미지 블럭을 오버랩하여 결합할 수 있다. 다만, 이에 한정되는 것은 아니며, 프로세서(120)는 얼마든지 다른 방법으로 압축 잡음이 제거된 복수의 이미지 블럭을 오버랩하여 결합할 수도 있다.
한편, 프로세서(120)는 프레임을 색차 성분과 휘도 성분으로 구분하고, 압축 잡음 제거 네트워크 모델에 기초하여 휘도 성분의 압축 잡음을 제거하며, 색차 성분과 압축 잡음이 제거된 휘도 성분을 결합하여 프레임의 압축 잡음을 제거할 수 있다.
예를 들어, 프로세서(120)는 프레임을 색차 성분만을 포함하는 제1 프레임 및 휘도 성분만을 포함하는 제2 프레임으로 구분하고, 제2 프레임의 압축 잡음을 제거할 수 있다. 여기서, 압축 잡음 제거 방법은 이상에서 설명한 바와 동일할 수 있다. 이후, 프로세서(120)는 제1 프레임과 압축 잡음이 제거된 제2 프레임을 결합하여 압축 잡음이 제거된 프레임을 획득할 수 있다.
여기서, 복수의 압축 잡음 제거 네트워크 모델은 복수의 원본 이미지 블럭의 휘도 성분 및 복수의 복원 이미지 블럭의 휘도 성분의 관계를 제2 인공지능 알고리즘을 통해 학습하여 획득될 수 있다.
도 1b는 전자 장치(100)의 세부 구성의 일 예를 나타내는 블럭도이다. 도 1b에 따르면, 전자 장치(100)는 스토리지(110), 프로세서(120), 통신부(130), 디스플레이(140), 사용자 인터페이스부(150), 오디오 처리부(160), 비디오 처리부(170)를 포함한다. 도 1b에 도시된 구성요소들 중 도 1a에 도시된 구성요소와 중복되는 부분에 대해서는 자세한 설명을 생략하도록 한다.
프로세서(120)는 스토리지(110)에 저장된 각종 프로그램을 이용하여 전자 장치(100)의 동작을 전반적으로 제어한다.
구체적으로, 프로세서(120)는 RAM(121), ROM(122), 메인 CPU(123), 그래픽 처리부(124), 제1 내지 n 인터페이스(125-1 ~ 125-n), 버스(126)를 포함한다.
RAM(121), ROM(122), 메인 CPU(123), 그래픽 처리부(124), 제1 내지 n 인터페이스(125-1 ~ 125-n) 등은 버스(126)를 통해 서로 연결될 수 있다.
제1 내지 n 인터페이스(125-1 내지 125-n)는 상술한 각종 구성요소들과 연결된다. 인터페이스들 중 하나는 네트워크를 통해 외부 서버와 연결되는 네트워크 인터페이스가 될 수도 있다.
메인 CPU(123)는 스토리지(110)에 액세스하여, 스토리지(110)에 저장된 O/S를 이용하여 부팅을 수행한다. 그리고, 스토리지(110)에 저장된 각종 프로그램 등을 이용하여 다양한 동작을 수행한다.
ROM(122)에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 턴온 명령이 입력되어 전원이 공급되면, 메인 CPU(123)는 ROM(122)에 저장된 명령어에 따라 스토리지(110)에 저장된 O/S를 RAM(121)에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다. 부팅이 완료되면, 메인 CPU(123)는 스토리지(110)에 저장된 각종 어플리케이션 프로그램을 RAM(121)에 복사하고, RAM(121)에 복사된 어플리케이션 프로그램을 실행시켜 각종 동작을 수행한다.
그래픽 처리부(124)는 연산부(미도시) 및 렌더링부(미도시)를 이용하여 아이콘, 이미지, 텍스트 등과 같은 다양한 객체를 포함하는 화면을 생성한다. 연산부(미도시)는 수신된 제어 명령에 기초하여 화면의 레이아웃에 따라 각 객체들이 표시될 좌표값, 형태, 크기, 컬러 등과 같은 속성값을 연산한다. 렌더링부(미도시)는 연산부(미도시)에서 연산한 속성값에 기초하여 객체를 포함하는 다양한 레이아웃의 화면을 생성한다. 렌더링부(미도시)에서 생성된 화면은 디스플레이(140)의 디스플레이 영역 내에 표시된다.
한편, 상술한 프로세서(120)의 동작은 스토리지(110)에 저장된 프로그램에 의해 이루어질 수 있다.
스토리지(110)는 전자 장치(100)를 구동시키기 위한 O/S(Operating System) 소프트웨어 모듈, 압축률 네트워크 모델 모듈 및 압축 잡음 제거 네트워크 모델 모듈 등과 같이 다양한 데이터를 저장한다.
통신부(130)는 다양한 유형의 통신방식에 따라 다양한 유형의 외부 서버와 통신을 수행하는 구성이다. 통신부(130)는 와이파이 칩(131), 블루투스 칩(132), 무선 통신 칩(133), NFC 칩(134) 등을 포함한다. 프로세서(120)는 통신부(130)를 이용하여 각종 외부 서버와 통신을 수행한다.
와이파이 칩(131), 블루투스 칩(132)은 각각 WiFi 방식, 블루투스 방식으로 통신을 수행한다. 와이파이 칩(131)이나 블루투스 칩(132)을 이용하는 경우에는 SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다. 무선 통신 칩(133)은 IEEE, 지그비(zigbee), 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evoloution) 등과 같은 다양한 통신 규격에 따라 통신을 수행하는 칩을 의미한다. NFC 칩(134)은 135kHz, 13.56MHz, 433MHz, 860~960MHz, 2.45GHz 등과 같은 다양한 RF-ID 주파수 대역들 중에서 13.56MHz 대역을 사용하는 NFC(Near Field Communication) 방식으로 동작하는 칩을 의미한다.
프로세서(120)는 통신부(130)를 통해 외부 서버로부터 압축률 네트워크 모델 및 복수의 압축 잡음 제거 네트워크 모델 등을 수신할 수 있다. 또한, 프로세서(120)는 통신부(130)를 통해 셋탑박스로부터 디코딩된 동영상 등을 실시간으로 수신할 수 있다.
디스플레이(140)는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, PDP(Plasma Display Panel) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 디스플레이(140) 내에는 a-si TFT, LTPS(low temperature poly silicon) TFT, OTFT(organic TFT) 등과 같은 형태로 구현될 수 있는 구동 회로, 백라이트 유닛 등도 함께 포함될 수 있다. 한편, 디스플레이(140)는 터치 감지부와 결합하여 터치 스크린으로 구현될 수 있다.
프로세서(120)는 압축 잡음이 제거된 동영상을 디스플레이하도록 디스플레이(140)를 제어할 수 있다.
사용자 인터페이스부(150)는 다양한 사용자 인터랙션(interaction)을 수신한다. 여기서, 사용자 인터페이스부(150)는 전자 장치(100)의 구현 예에 따라 다양한 형태로 구현 가능하다. 예를 들어, 사용자 인터페이스부(150)는 전자 장치(100)에 구비된 버튼, 사용자 음성을 수신하는 마이크, 사용자 모션을 감지하는 카메라 등일 수 있다. 또는, 전자 장치(100)가 터치 기반의 전자 장치로 구현되는 경우 사용자 인터페이스부(150)는 터치패드와 상호 레이어 구조를 이루는 터치 스크린 형태로 구현될 수도 있다. 이 경우, 사용자 인터페이스부(150)는 상술한 디스플레이(140)로 사용될 수 있게 된다.
오디오 처리부(160)는 오디오 데이터에 대한 처리를 수행하는 구성요소이다. 오디오 처리부(160)에서는 오디오 데이터에 대한 디코딩이나 증폭, 노이즈 필터링 등과 같은 다양한 처리가 수행될 수 있다.
비디오 처리부(170)는 비디오 데이터에 대한 처리를 수행하는 구성요소이다. 비디오 처리부(170)에서는 비디오 데이터에 대한 디코딩, 스케일링, 노이즈 필터링, 프레임 레이트 변환, 해상도 변환 등과 같은 다양한 이미지 처리를 수행할 수 있다.
한편, 상술한 바와 같은 외부 서버가 제공하는 압축률 네트워크 모델 및 복수의 압축 잡음 제거 네트워크 모델은 인공지능 알고리즘 기반으로 학습된 판단 모델로서, 예로, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 학습된 판단 모델은 인간의 뇌 구조를 컴퓨터 상에서 모의하도록 설계될 수 있으며 인간의 신경망의 뉴런(neuron)을 모의하는, 가중치를 가지는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 노드들은 뉴런이 시냅스(synapse)를 통하여 신호를 주고 받는 뉴런의 시냅틱(synaptic) 활동을 모의하도록 각각 연결 관계를 형성할 수 있다. 또한 학습된 판단 모델은, 일 예로, 신경망 모델, 또는 신경망 모델에서 발전한 딥 러닝 모델을 포함할 수 있다. 딥 러닝 모델에서 복수의 네트워크 노드들은 서로 다른 깊이(또는, 레이어)에 위치하면서 컨볼루션(convolution) 연결 관계에 따라 데이터를 주고 받을 수 있다. 학습된 판단 모델의 예에는 DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 등이 있을 수 있으나 이에 한정되지 않는다.
또한, 전자 장치(100)는 상술한 바와 같이 디코딩된 동영상의 압축 잡음을 제거하기 위하여, 인공지능 전용 프로그램(또는 인공지능 에이전트, Artificial intelligence agent)인 개인 비서 프로그램을 이용할 수 있다. 이때, 개인 비서 프로그램은 AI(Artificial Intelligence) 기반의 서비스를 제공하기 위한 전용 프로그램으로서, 기존의 범용 프로세서(예를 들어, CPU) 또는 별도의 AI 전용 프로세서(예를 들어, GPU 등)에 의해 실행될 수 있다.
구체적으로, 기설정된 사용자 입력(예를 들어, 촬영 버튼의 조작에 따른 이미지 촬영 등)이 입력되거나 외부 장치로부터 디코딩된 동영상이 입력되는 경우, 인공지능 에이전트가 동작(또는 실행)될 수 있다.
본 개시의 또 다른 실시예로, 전자 장치(100)는 디코딩된 동영상을 입력받아 외부 서버로 전송할 수도 있다. 외부 서버는 직접 디코딩된 동영상의 압축 잡음을 제거하고, 압축 잡음이 제거된 동영상을 전자 장치(100)로 전송할 수도 있다.
이상과 같은 방법을 통해 프로세서(120)는 디코딩된 동영상의 압축률을 예측하고, 예측된 압축률에 대응되는 학습 기반 압축 잡음 제거 네트워크 모델에 기초하여 압축 잡음을 제거할 수 있다.
이하에서는 도면을 통해 프로세서(120)의 동작을 좀더 구체적으로 설명한다.
도 2는 본 개시의 일 실시 예에 따른 프로세서(120)의 동작을 개략적으로 설명하기 위한 도면이다. 도 2에서 상단은 압축률을 획득하기 위한 동작이고, 하단은 획득된 압축률에 대응되는 압축 잡음 제거 네트워크 모델을 이용하여 압축 잡음을 제거하는 동작을 나타낸다.
도 2에 도시된 바와 같이, 프로세서(120)는 디코딩된 동영상을 입력받을 수 있다. 여기서, 디코딩된 동영상은 원본 동영상의 인코딩 및 디코딩에 따른 압축 잡음을 포함하는 동영상일 수 있다. 압축 잡음은 블록킹, 링잉 및 플리커링 등을 포함할 수 있다.
프로세서(120)는 디코딩된 동영상에 포함된 복수의 프레임 각각을 복수의 이미지 블럭으로 구분할 수 있다.
그리고, 프로세서(120)는 압축률 네트워크 모델을 이용하여 복수의 이미지 블럭 각각의 압축률을 획득할 수 있다. 예를 들어, QP 47로 압축된 이미지 블럭은 QP 34로 압축된 이미지 블럭보다 블록킹, 링잉 및 플리커링 등이 심할 수 있으며, 프로세서(120)는 각 이미지 블럭의 압축 잡음에 기초하여 압축률을 획득할 수 있다.
프로세서(120)는 하나의 프레임에 포함된 복수의 이미지 블럭 각각에 대응되는 복수의 압축률에 기초하여 프레임의 압축률을 획득할 수 있다. 하나의 프레임은 디스플레이(140)에서 동시에 출력되며, 하나의 프레임에 포함된 복수의 이미지 블럭을 서로 다른 압축 잡음 제거 네트워크 모델에 기초하여 압축 잡음을 제거할 경우 사용자는 이질감을 느낄 수도 있다.
예를 들어, 제1 이미지 블럭은 QP 34에 대응되는 제1 압축 잡음 제거 네트워크 모델을 이용하여 압축 잡음을 제거하고, 제1 이미지 블럭과 동일한 프레임에 포함된 제2 이미지 블럭은 QP 47에 대응되는 제2 압축 잡음 제거 네트워크 모델을 이용하여 압축 잡음을 제거하는 경우, 제2 이미지 블럭은 제1 이미지 블럭보다 압축률이 높을 수 있으며, 그에 따라 제2 압축 잡음 제거 네트워크 모델은 제1 압축 잡음 제거 네트워크 모델보다 좀더 강하게 압축 잡음을 제거할 수 있다. 이 경우, 제1 이미지 블럭 및 제2 이미지 블럭의 압축 잡음 제거 정도는 서로 다를 수 있고, 사용자는 이에 대한 이질감을 느낄 수 있다.
한편, 이상에서는 하나의 프레임을 기준으로 설명하였으나, 이에 한정되는 것은 아니다. 예를 들어, 프로세서(120)는 복수의 프레임에 대하여 하나의 압축률을 획득하고, 복수의 프레임에 대하여 획득된 압축률에 대응되는 하나의 압축 잡음 제거 네트워크 모델을 이용하여 압축 잡음을 제거할 수도 있다.
프로세서(120)는 획득된 압축률에 기초하여 대응되는 프레임의 압축 잡음 제거에 이용될 압축 잡음 제거 네트워크 모델을 결정할 수 있다.
한편, 프로세서(120)는 복수의 이미지 블럭 각각에 대한 움직임 추정 및 보상을 통해 이미지 블럭이 포함된 프레임과 인접한 프레임으로부터 유사한 추가 이미지 블럭을 획득할 수 있다. 예를 들어, 프로세서(120)는 현재 이미지 블럭이 포함된 현재 프레임의 직전 프레임에서 현재 이미지 블럭과 유사한 제1 추가 이미지 블럭을 획득하고, 현재 프레임의 직후 프레임에서 현재 이미지 블럭과 유사한 제2 추가 이미지 블럭을 획득할 수 있다.
프로세서(120)는 현재 이미지 블럭, 제1 추가 이미지 블럭 및 제2 추가 이미지 블럭을 이상에서 결정된 압축 잡음 제거 네트워크 모델에 입력하여 현재 이미지 블럭의 압축 잡음을 제거할 수 있다.
프로세서(120)는 디코딩된 동영상에 포함된 모든 이미지 블럭의 압축 잡음을 제거하고, 압축 잡음이 제거된 모든 이미지 블럭을 재구성하여 압축 잡음이 제거된 동영상을 획득할 수 있다.
도 3은 본 개시의 일 실시 예에 따른 압축률을 획득하는 방법을 설명하기 위한 도면이다.
먼저, 도 3에 도시된 바와 같이, 프로세서(120)는 디코딩된 동영상의 프레임 각각을 복수의 이미지 블럭으로 구분하고, 복수의 이미지 블럭 중 압축률 획득에 이용될 복수의 이미지 블럭을 획득할 수 있다.
예를 들어, 프로세서(120)는 하나의 FHD 해상도의 프레임을 400개의 이미지 블럭으로 구분할 수 있다. 이때, 프로세서(120)는 각 이미지 블럭의 크기를 서로 다르게 할 수 있으며, 압축률 획득을 위한 단계와 압축 잡음 제거를 위한 단계에서 이미지 블럭의 구분 방법이 동일하다면 어떠한 방법이라도 무방하다. 그리고, 프로세서(120)는 400개의 이미지 블럭 중 픽셀 값에 대한 분산 크기가 큰 상위 96개의 이미지 블럭을 획득할 수 있다. 일반적으로, 텍스쳐 영역은 압축률에 따라 많은 변화가 생기며, 높은 분산을 갖는다. 즉, 프로세서(120)는 텍스쳐 영역으로 추정되는 96개의 이미지 블럭을 획득하며, 여기서 96개의 이미지 블럭은 압축률에 따라 변화가 크기 때문에 압축률을 판단하기 위해 적절한 샘플일 수 있다.
이후, 프로세서(120)는 이미지 블럭 각각의 압축률에 기초하여 복수의 이미지 블럭을 분류할 수 있다. 예를 들어, 프로세서(120)는 압축률 네트워크 모델을 이용하여 96개의 이미지 블럭 각각에 대한 압축률을 획득할 수 있다. 그리고, 프로세서(120)는 96개의 이미지 블럭 중 48개의 이미지 블럭은 QP 34, 24개의 이미지 블럭은 QP 37, 12개의 이미지 블럭은 QP 42, 12개의 이미지 블럭은 QP 47로 복수의 이미지 블럭을 분류할 수 있다.
그리고, 프로세서(120)는 프레임의 압축률을 획득할 수 있다. 예를 들어, 프로세서(120)는 96개의 이미지 블럭 중 가장 많은 개수인 48개의 이미지 블럭이 QP 34이므로, 프레임의 압축률을 34로 결정할 수 있다. 이하에서는 설명의 편의를 위해 가장 개수가 많은 QP 값을 "예측 1결과", 그 다음으로 개수가 많은 QP 값을 "예측 2결과"로서 설명한다.
프로세서(120)는 현재 프레임 이전의 프레임에 포함된 복수의 이미지 블럭의 압축률을 반영하여 현재 프레임의 압축률을 결정할 수도 있다. 예를 들어, 프로세서(120)는 N-9번째 프레임부터 N-1번째 프레임까지의 이전 프레임과 현재 프레임으로부터 총 960개의 이미지 블럭에 대한 압축률을 획득하고, 960개의 압축률에 기초하여 현재 프레임의 압축률을 결정할 수 있다. 즉, 프로세서(120)는 현재 프레임을 포함하는 10개 프레임에 기초하여 현재 프레임의 압축률을 획득할 수 있다.
또는, 프로세서(120)는 현재 프레임의 직전 프레임, 현재 프레임 및 현재 프레임의 직후 프레임에 포함된 복수의 이미지 블럭의 압축률을 반영하여 현재 프레임의 압축률을 결정할 수도 있다. 예를 들어, 프로세서(120)는 현재 프레임의 직전 프레임, 현재 프레임 및 현재 프레임의 직후 프레임으로부터 총 288개의 이미지 블럭에 대한 압축률을 획득하고, 288개의 압축률에 기초하여 현재 프레임의 압축률을 결정할 수도 있다. 즉, 프로세서(120)는 현재 프레임을 포함하는 3개 프레임에 기초하여 현재 프레임의 압축률을 획득할 수도 있다.
또는, 프로세서(120)는 이상에서 설명한 방법을 종합하여 현재 프레임의 압축률을 획득할 수도 있다. 예를 들어, 프로세서(120)는 10개의 프레임에 의한 예측 2결과가 현재 프레임에 의한 예측 1결과를 포함하면 현재 프레임의 압축률을 10개의 프레임에 의한 예측 1결과로 결정하고, 10개의 프레임에 의한 예측 2결과가 현재 프레임에 의한 예측 1결과를 포함하지 못하면 현재 프레임의 압축률을 3개의 프레임에 의한 예측 1결과로 결정할 수 있다. 이 경우, 프로세서(120)는 동영상 내에서 프레임의 특성이 변경될 때 좀더 강인한 예측이 가능하며, 압축률이 달라질 때 수신 채널이 변경된 것으로 판단할 수 있다.
도 4a 및 도 4b는 본 개시의 다양한 실시 예에 따른 압축 잡음 제거 방법을 설명하기 위한 도면들이다.
먼저, 프로세서(120)는 복수의 압축 잡음 제거 네트워크 모델 중 도 3에서 획득한 프레임의 압축률에 대응되는 압축 잡음 제거 네트워크 모델을 획득할 수 있다. 예를 들어, 복수의 압축 잡음 제거 네트워크 모델은 QP 34, 37, 42, 47로 압축된 이미지 블럭의 압축 잡음을 제거하도록 학습된 모델일 수 있으며, 도 3에서 획득한 프레임의 압축률이 QP 34이면, 프로세서(120)는 QP 34에 대응되는 압축 잡음 제거 네트워크 모델을 획득할 수 있다.
프로세서(120)는 디코딩된 동영상의 프레임 각각을 복수의 이미지 블럭으로 구분할 수 있다. 여기서, 프레임의 구분 방법은 압축률을 판단하는 단계에서와 동일할 수 있다.
그리고, 프로세서(120)는 순차적으로 복수의 이미지 블럭 각각에서 압축 잡음을 제거할 수 있다. 이하에서는 하나의 이미지 블럭에 대한 프로세서(120)의 동작을 설명한다.
프로세서(120)는 현재 프레임의 직전 프레임 및 직후 프레임에서 현재 이미지 블럭과 유사한 제1 추가 이미지 블럭 및 제2 추가 이미지 블럭을 획득하고, 현재 이미지 블럭과 제1 추가 이미지 블럭 및 제2 추가 이미지 블럭을 매칭시킬 수 있다. 매칭된 3개의 이미지 블럭은 압축 잡음 제거 네트워크 모델의 입력으로 이용될 수 있다.
여기서, 제1 추가 이미지 블럭 및 제2 추가 이미지 블럭 중 현재 이미지 블럭과의 최대 신호 대 잡음비가 기설정된 값 이하인 이미지 블럭은 현재 이미지 블럭으로 교체될 수 있다. 예를 들어, 제1 추가 이미지 블럭 및 제2 추가 이미지 블럭 중 현재 이미지 블럭과의 최대 신호 대 잡음비가 30dB 이하인 이미지 블럭은 현재 이미지 블럭으로 교체될 수 있다.
한편, 직전 프레임 및 직후 프레임에서 유사 프레임을 획득하는 방법은 복수의 압축 잡음 제거 네트워크 모델의 생성 과정에서 유사 프레임을 획득하는 방법과 동일할 수 있다.
이후, 프로세서(120)는 매칭된 3개의 이미지 블럭을 프레임의 압축률에 기초하여 획득된 압축 잡음 제거 네트워크 모델에 입력하여 현재 이미지 블럭의 압축 잡음을 제거할 수 있다.
이상의 과정을 모든 이미지 블럭에 대하여 반복하면, 프로세서(120)는 압축 잡음이 제거된 복수의 이미지 블럭을 획득할 수 있다. 프로세서(120)는 압축 잡음이 제거된 복수의 이미지 블럭을 결합하여 복수의 프레임을 생성하고, 복수의 프레임을 결합하여 동영상을 복원할 수 있다. 이때, 복원된 동영상은 디코딩된 동영상에서 압축 잡음이 제거된 동영상일 수 있다.
프로세서(120)는 인접한 이미지 블럭을 결합하는 과정에서 인접한 이미지 블럭의 일정 영역을 오버랩할 수 있다. 이때, 프로세서(120)는 가우시안 가중치(Gaussian Weight)를 적용하여 인접한 이미지 블럭의 일정 영역을 오버랩할 수 있다. 그에 따라, 이미지 블럭 간 경계가 뚜렷하게 나타나는 것을 방지할 수 있다.
한편, 도 4a에서는 설명의 편의를 위하여 이미지 블럭의 색차 성분 및 휘도 성분의 구분 없이 압축 잡음을 제거하는 것으로 설명하였다.
다만, 프로세서(120)는 도 4b에 도시된 바와 같이, 이미지 블럭의 색차 성분(Cb, Cr) 및 휘도 성분(Y)을 구분하고, 휘도 성분에 대하여만 압축 잡음을 제거할 수도 있다. 예를 들어, 프로세서(120)는 현재 이미지 블럭을 색차 성분 블럭 및 휘도 성분 블럭으로 구분하고, 직전 프레임 및 직후 프레임에서 현재 휘도 성분 블럭과 유사한 제1 추가 휘도 성분 블럭 및 제2 추가 휘도 성분 블럭을 획득할 수 있다. 여기서, 프로세서(120)는 직전 프레임 및 직후 프레임 각각을 색차 성분 블럭 및 휘도 성분 블럭으로 구분하고, 직전 프레임의 휘도 성분 블럭 및 직후 프레임의 휘도 성분 블럭으로부터 각각 현재 휘도 성분 블럭과 유사한 제1 추가 휘도 성분 블럭 및 제2 추가 휘도 성분 블럭을 획득할 수 있다. 그리고, 프로세서(120)는 현재 휘도 성분 블럭, 제1 추가 휘도 성분 블럭 및 제2 추가 휘도 성분 블럭을 압축 잡음 제거 네트워크 모델에 입력하여 현재 휘도 성분 블럭의 압축 잡음을 제거할 수 있다. 프로세서(120)는 압축 잡음이 제거된 현재 휘도 성분 블럭을 색차 성분 블럭과 결합하여 압축 잡음이 제거된 이미지 블럭을 복원하고, 이러한 과정을 반복하여 압축 잡음이 제거된 동영상을 복원할 수 있다.
도 5a 및 도 5b는 본 개시의 일 실시 예에 따른 압축 잡음 제거 네트워크 모델을 설명하기 위한 도면들이다.
복수의 압축 잡음 제거 네트워크 모델은 딥러닝(Deep Learning)을 이용한 방식으로 기 학습된 상태일 수 있다. 예를 들어, 복수의 압축 잡음 제거 네트워크 모델은 QP 34, 37, 42, 47에 따라 각각 학습을 진행하여 4가지 압축률에 대한 선별적 압축 잡음 제거가 효과적으로 이루어지도록 학습될 수 있다. 복수의 압축 잡음 제거 네트워크 모델 각각의 학습은 QP 34, 37, 42, 47에 대해 GOP(Group Of Picture)가 30으로 설정된 동영상으로부터 이미지 블럭을 추출하여 만들어진 학습 데이터로 진행될 수 있다. 특히, 사람의 시각인지 시스템이 색차 성분보다 휘도 성분에 민감한 점을 반영하여 휘도 성분만을 학습에 사용할 수도 있다.
각 압축 잡음 제거 네트워크 모델은 총 16개의 3 × 3 컨볼루션 레이어와 3개의 fully connected 레이어로 구성될 수 있다. 여기서, fully connected의 neuron 개수는 512개일 수 있다. 각 컨볼루션 레이어 뒤에는 비선형 함수가 배치되며, 학습하여야 할 네트워크의 파라미터 개수는 약 4.5M개일 수 있다.
좀더 구체적으로, 도 5a에 도시된 바와 같이 각 압축 잡음 제거 네트워크 모델은 8층의 컨벌루션 네트워크를 사용할 수 있다. 그 중, 2개의 층은 1 × 1, 3 × 3, 5 × 5, 7 × 7 필터로 특징점들의 다양성을 확보하는 동시에 파라미터 개수는 줄일 수 있는 인셉션 구조가 사용될 수 있다.
도 5a의 좌측 부근의 3개의 컨벌루션 층에서 직전, 현재, 직후 이미지 블럭을 병렬적으로 처리하며, 특징점들을 추출하는데 현 이미지 블럭이 가장 중요한 정보를 갖고 있으므로 32채널의 특징점들을 추출하고 직전, 직후 이미지 블럭에서는 16채널의 특징점들을 추출하여 현재 프레임의 정보를 더 비중있게 반영할 수 있다.
그리고, 도 5b에 도시된 바와 같이, 인셉션 구조를 통해 64채널의 추출된 특징점들을 결합하여 직전, 직후 이미지 블럭의 정보를 이용할 수 있다. 최종적으로는 8개 층의 네트워크를 통과하여 압축 잡음이 제거된 이미지 블럭이 출력될 수 있다. 이때, 목적 함수는 평균제곱오차(Mean Squared Error)가 이용되고, 최적화 방법은 ADAM이 이용되며, 학습률은 0.001가 사용될 수 있다.
한편, 프로세서(120)는 학습을 통해 복수의 압축 잡음 제거 네트워크 모델을 직접 획득할 수도 있다. 예를 들어, 프로세서(120)는 원본 동영상과 원본 동영상을 인코딩 및 디코딩한 복원 동영상이 쌍으로 존재하는 20개의 동영상의 프레임 각각을 37 × 37의 크기를 갖는 복수의 이미지 블럭으로 구분할 수 있다. 프로세서(120)는 복수의 이미지 블럭 중 픽셀 값에 대한 분산이 0.002 이상인 복수의 이미지 블럭만을 이용하여 압축 잡음 제거 네트워크 모델을 학습할 수 있다. 그리고, 프로세서(120)는 복수의 이미지 블럭 각각에 대한 좌우 반전, 90도씩의 회전, Augmentation 추출 등을 통해 이미지 블럭 쌍을 확대할 수 있다.
이후, 프로세서(120)는 3-step search를 통해 직전, 직후 프레임에서 현재 이미지 블럭과 유사한 이미지 블럭을 획득하고, 획득된 이미지 블럭들과 현재 이미지 블럭을 매칭할 수 있다. 이때, 장면 변화가 커서 비슷한 이미지 블럭이 없고, 직전, 직후 이미지 블럭의 정보를 반영하는 것이 불리한 경우를 방지하기 위하여, 프로세서(120)는 획득된 직전, 직후 이미지 블럭의 현재 이미지 블럭에 대한 PSNR이 30dB 이상일 경우만 직전, 직후 이미지 블럭를 이용하고, 30dB 미만인 경우에는 현재 이미지 블럭을 직전, 직후 이미지 블럭 대신 중복 사용할 수 있다.
프로세서(120)는 이상과 같은 방법을 통해 마련된 이미지 블럭 쌍을 이용하여 하나의 QP에 대한 압축 잡음 제거 네트워크 모델을 생성할 수 있다. 이후, 프로세서(120)는 새로운 QP 값에 대응되는 원본 동영상 및 복원 동영상을 이용하여 새로운 QP 값에 대응되는 압축 잡음 제거 네트워크 모델을 생성할 수 있다.
도 6은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
먼저, 복수의 압축률 중 이미지 블럭에 적용된 압축률을 판단하기 위한 압축률 네트워크 모델에 기초하여 디코딩된 동영상의 프레임에 포함된 복수의 이미지 블럭 각각의 압축률을 획득한다(S610). 그리고, 획득된 복수의 압축률에 기초하여 프레임의 압축률을 획득한다(S620). 그리고, 복수의 압축률 별로 압축 잡음을 제거하기 위한 복수의 압축 잡음 제거 네트워크 모델 중 프레임의 압축률에 대응되는 압축 잡음 제거 네트워크 모델에 기초하여 프레임의 압축 잡음을 제거한다(S630). 여기서, 압축률 네트워크 모델은 복수의 압축률에 각각 대응되는 복수의 복원 이미지 블럭의 이미지 특성을 제1 인공지능 알고리즘을 통해 학습하여 획득되고, 복수의 복원 이미지 블럭은 복수의 원본 이미지 블럭을 인코딩하고, 인코딩된 복수의 원본 이미지 블럭을 디코딩하여 생성되며, 복수의 압축 잡음 제거 네트워크 모델은 복수의 원본 이미지 블럭 및 복수의 복원 이미지 블럭의 관계를 제2 인공지능 알고리즘을 통해 학습하여 획득될 수 있다.
그리고, 프레임의 압축률을 획득하는 단계(S620)는 프레임의 전후로 기설정된 개수의 복수의 프레임 각각을 복수의 추가 이미지 블럭으로 구분하는 단계, 압축률 네트워크 모델에 기초하여 복수의 추가 이미지 블럭 각각의 추가 압축률을 획득하는 단계 및 복수의 압축률 및 복수의 추가 압축률에 기초하여 프레임의 압축률을 획득하는 단계를 더 포함할 수 있다.
또한, 복수의 이미지 블럭 각각의 압축률을 획득하는 단계(S610)는 복수의 이미지 블럭 각각의 픽셀 값에 대한 분산을 산출하는 단계, 산출된 분산에 기초하여 복수의 이미지 블럭 중 기설정된 개수의 이미지 블럭을 획득하는 단계 및 압축률 네트워크 모델에 기초하여 획득된 기설정된 개수의 이미지 블럭 각각의 압축률을 획득하는 단계를 포함하고, 프레임의 압축률을 획득하는 단계(S620)는 획득된 기설정된 개수의 이미지 블럭 각각의 압축률에 기초하여 프레임의 압축률을 획득하는 단계를 더 포함할 수 있다.
한편, 압축 잡음을 제거하는 단계(S620)는 프레임을 복수의 이미지 블럭으로 구분하는 단계, 압축 잡음 제거 네트워크 모델에 기초하여 복수의 이미지 블럭 각각의 압축 잡음을 제거하는 단계 및 압축 잡음이 제거된 복수의 이미지 블럭을 결합하여 압축 잡음이 제거된 프레임을 획득하는 단계를 포함할 수 있다.
그리고, 압축 잡음을 제거하는 단계(S620)는 프레임의 전후 프레임에서 복수의 이미지 블럭 중 하나인 제1 이미지 블럭에 대응되는 제2 이미지 블럭 및 제3 이미지 블럭을 획득하는 단계 및 제2 이미지 블럭 및 제3 이미지 블럭을 이용하여 제1 이미지 블럭의 압축 잡음을 제거하는 단계를 더 포함할 수 있다.
여기서, 제1 이미지 블럭의 압축 잡음을 제거하는 단계는 압축 잡음 제거 네트워크 모델에 기초하여 제1 이미지 블럭, 제2 이미지 블럭 및 제3 이미지 블럭 각각에 대해 적어도 한 번의 컨볼루션 연산을 수행하는 단계, 컨볼루션 연산이 수행된 제1 이미지 블럭, 제2 이미지 블럭 및 제3 이미지 블럭을 결합하는 단계 및 결합된 이미지 블럭에 대해 적어도 한 번의 컨볼루션 연산을 수행하여 제1 이미지 블럭의 압축 잡음을 제거하는 단계를 포함할 수 있다.
그리고, 압축 잡음을 제거하는 단계(S620)는 제1 이미지 블럭 및 제2 이미지 블럭의 제1 최대 신호 대 잡음비(Peak Signal-to-noise ratio, PSNR) 및 제1 이미지 블럭 및 제3 이미지 블럭의 제2 최대 신호 대 잡음비를 산출하는 단계 및 제1 최대 신호 대 잡음비 및 제2 최대 신호 대 잡음비 중 적어도 하나가 기설정된 값보다 작은 경우, 제2 이미지 블럭 및 제3 이미지 블럭 중 기설정된 값보다 작은 최대 신호 대 잡음비에 대응되는 이미지 블럭을 대신하여 제1 이미지 블럭을 압축 잡음 제거 네트워크 모델에 입력하는 단계를 더 포함할 수 있다.
한편, 경계로부터의 거리에 따른 가중치에 기초하여 압축 잡음이 제거된 복수의 이미지 블럭을 오버랩하여 결합하는 단계를 더 포함할 수 있다.
그리고, 압축 잡음을 제거하는 단계(S620)는 프레임을 색차 성분과 휘도 성분으로 구분하는 단계, 압축 잡음 제거 네트워크 모델에 기초하여 휘도 성분의 압축 잡음을 제거하는 단계 및 색차 성분과 압축 잡음이 제거된 휘도 성분을 결합하여 프레임의 압축 잡음을 제거하는 단계를 포함하며, 복수의 압축 잡음 제거 네트워크 모델은 복수의 원본 이미지 블럭의 휘도 성분 및 복수의 복원 이미지 블럭의 휘도 성분의 관계를 제2 인공지능 알고리즘을 통해 학습하여 획득될 수 있다.
한편, 압축률 네트워크 모델 및 복수의 압축 잡음 제거 네트워크 모델은 딥러닝(Deep Learning) 네트워크 구조일 수 있다.
이상과 같은 본 개시의 다양한 실시 예에 따르면, 전자 장치는 부가 정보가 없더라도 디코딩된 동영상의 압축률을 예측할 수 있다. 또한, 전자 장치는 예측된 압축률에 대응되는 학습 기반 압축 잡음 제거 네트워크 모델에 기초하여 압축 잡음을 제거함에 따라 압축 잡음 제거 성능을 향상시킬 수 있다. 특히, 전자 장치는 연속된 프레임을 통해 시간적인 정보를 결합함으로써, 블록킹 및 링잉 현상을 제거함과 동시에 플리커링 현상을 크게 감소시킬 수 있다.
한편, 본 개시의 일시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(A))를 포함할 수 있다. 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 본 개시의 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 본 개시의 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 동작을 수행할 수 있다.
한편, 상술한 다양한 실시 예들에 따른 기기의 프로세싱 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 기기에서의 처리 동작을 특정 기기가 수행하도록 한다. 비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
또한, 상술한 다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
100 : 전자 장치 110 : 스토리지
120 : 프로세서 130 : 통신부
140 : 디스플레이 150 : 사용자 인터페이스부
160 : 오디오 처리부 170 : 비디오 처리부

Claims (20)

  1. 복수의 압축률 중 이미지 블럭에 적용된 압축률을 판단하기 위한 압축률 네트워크 모델 및 상기 복수의 압축률 별로 압축 잡음을 제거하기 위한 복수의 압축 잡음 제거 네트워크 모델이 저장된 스토리지; 및
    상기 압축률 네트워크 모델에 기초하여 디코딩된 동영상의 프레임에 포함된 복수의 이미지 블럭 각각의 압축률을 획득하고, 상기 획득된 복수의 압축률에 기초하여 상기 프레임의 압축률을 획득하며, 상기 복수의 압축 잡음 제거 네트워크 모델 중 상기 프레임의 압축률에 대응되는 압축 잡음 제거 네트워크 모델에 기초하여 상기 프레임의 압축 잡음을 제거하는 프로세서;를 포함하며,
    상기 압축률 네트워크 모델은, 상기 복수의 압축률에 각각 대응되는 복수의 복원 이미지 블럭의 이미지 특성을 제1 인공지능 알고리즘을 통해 학습하여 획득되고,
    상기 복수의 복원 이미지 블럭은, 복수의 원본 이미지 블럭을 인코딩하고, 상기 인코딩된 복수의 원본 이미지 블럭을 디코딩하여 생성되며,
    상기 복수의 압축 잡음 제거 네트워크 모델은, 상기 복수의 원본 이미지 블럭 및 상기 복수의 복원 이미지 블럭의 관계를 제2 인공지능 알고리즘을 통해 학습하여 획득된, 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 프레임의 전후로 기설정된 개수의 복수의 프레임 각각을 복수의 추가 이미지 블럭으로 구분하고, 상기 압축률 네트워크 모델에 기초하여 상기 복수의 추가 이미지 블럭 각각의 추가 압축률을 획득하며, 상기 복수의 압축률 및 상기 복수의 추가 압축률에 기초하여 상기 프레임의 압축률을 획득하는, 전자 장치.
  3. 제1항에 있어서,
    상기 프로세서는,
    상기 복수의 이미지 블럭 각각의 픽셀 값에 대한 분산을 산출하고, 상기 산출된 분산에 기초하여 상기 복수의 이미지 블럭 중 기설정된 개수의 이미지 블럭을 획득하며, 상기 압축률 네트워크 모델에 기초하여 상기 획득된 기설정된 개수의 이미지 블럭 각각의 압축률을 획득하고, 상기 획득된 복수의 압축률에 기초하여 상기 프레임의 압축률을 획득하는, 전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 프레임을 상기 복수의 이미지 블럭으로 구분하고, 상기 압축 잡음 제거 네트워크 모델에 기초하여 상기 복수의 이미지 블럭 각각의 압축 잡음을 제거하며, 상기 압축 잡음이 제거된 복수의 이미지 블럭을 결합하여 압축 잡음이 제거된 프레임을 획득하는, 전자 장치.
  5. 제4항에 있어서,
    상기 프로세서는,
    상기 프레임의 전후 프레임에서 상기 복수의 이미지 블럭 중 하나인 제1 이미지 블럭에 대응되는 제2 이미지 블럭 및 제3 이미지 블럭을 획득하고, 상기 제2 이미지 블럭 및 상기 제3 이미지 블럭을 이용하여 상기 제1 이미지 블럭의 압축 잡음을 제거하는, 전자 장치.
  6. 제5항에 있어서,
    상기 프로세서는,
    상기 압축 잡음 제거 네트워크 모델에 기초하여 상기 제1 이미지 블럭, 상기 제2 이미지 블럭 및 상기 제3 이미지 블럭 각각에 대해 적어도 한 번의 컨볼루션 연산을 수행하고, 상기 컨볼루션 연산이 수행된 제1 이미지 블럭, 제2 이미지 블럭 및 제3 이미지 블럭을 결합하며, 상기 결합된 이미지 블럭에 대해 적어도 한 번의 컨볼루션 연산을 수행하여 상기 제1 이미지 블럭의 압축 잡음을 제거하는, 전자 장치.
  7. 제5항에 있어서,
    상기 프로세서는,
    상기 제1 이미지 블럭 및 상기 제2 이미지 블럭의 제1 최대 신호 대 잡음비(Peak Signal-to-noise ratio, PSNR) 및 상기 제1 이미지 블럭 및 상기 제3 이미지 블럭의 제2 최대 신호 대 잡음비를 산출하며, 상기 제1 최대 신호 대 잡음비 및 상기 제2 최대 신호 대 잡음비 중 적어도 하나가 기설정된 값보다 작은 경우, 상기 제2 이미지 블럭 및 상기 제3 이미지 블럭 중 상기 기설정된 값보다 작은 최대 신호 대 잡음비에 대응되는 이미지 블럭을 대신하여 상기 제1 이미지 블럭을 상기 압축 잡음 제거 네트워크 모델에 입력하는, 전자 장치.
  8. 제4항에 있어서,
    상기 프로세서는,
    경계로부터의 거리에 따른 가중치에 기초하여 상기 압축 잡음이 제거된 복수의 이미지 블럭을 오버랩하여 결합하는, 전자 장치.
  9. 제1항에 있어서,
    상기 프로세서는,
    상기 프레임을 색차 성분과 휘도 성분으로 구분하고, 상기 압축 잡음 제거 네트워크 모델에 기초하여 상기 휘도 성분의 압축 잡음을 제거하며, 상기 색차 성분과 상기 압축 잡음이 제거된 휘도 성분을 결합하여 상기 프레임의 압축 잡음을 제거하며,
    상기 복수의 압축 잡음 제거 네트워크 모델은, 상기 복수의 원본 이미지 블럭의 휘도 성분 및 상기 복수의 복원 이미지 블럭의 휘도 성분의 관계를 제2 인공지능 알고리즘을 통해 학습하여 획득된, 전자 장치.
  10. 제1항에 있어서,
    상기 압축률 네트워크 모델 및 상기 복수의 압축 잡음 제거 네트워크 모델은, 딥러닝(Deep Learning) 네트워크 구조인, 전자 장치.
  11. 전자 장치의 제어 방법에 있어서,
    복수의 압축률 중 이미지 블럭에 적용된 압축률을 판단하기 위한 압축률 네트워크 모델에 기초하여 디코딩된 동영상의 프레임에 포함된 복수의 이미지 블럭 각각의 압축률을 획득하는 단계;
    상기 획득된 복수의 압축률에 기초하여 상기 프레임의 압축률을 획득하는 단계; 및
    상기 복수의 압축률 별로 압축 잡음을 제거하기 위한 복수의 압축 잡음 제거 네트워크 모델 중 상기 프레임의 압축률에 대응되는 압축 잡음 제거 네트워크 모델에 기초하여 상기 프레임의 압축 잡음을 제거하는 단계;를 포함하며,
    상기 압축률 네트워크 모델은, 상기 복수의 압축률에 각각 대응되는 복수의 복원 이미지 블럭의 이미지 특성을 제1 인공지능 알고리즘을 통해 학습하여 획득되고,
    상기 복수의 복원 이미지 블럭은, 복수의 원본 이미지 블럭을 인코딩하고, 상기 인코딩된 복수의 원본 이미지 블럭을 디코딩하여 생성되며,
    상기 복수의 압축 잡음 제거 네트워크 모델은, 상기 복수의 원본 이미지 블럭 및 상기 복수의 복원 이미지 블럭의 관계를 제2 인공지능 알고리즘을 통해 학습하여 획득된, 제어 방법.
  12. 제11항에 있어서,
    상기 프레임의 압축률을 획득하는 단계는,
    상기 프레임의 전후로 기설정된 개수의 복수의 프레임 각각을 복수의 추가 이미지 블럭으로 구분하는 단계;
    상기 압축률 네트워크 모델에 기초하여 상기 복수의 추가 이미지 블럭 각각의 추가 압축률을 획득하는 단계; 및
    상기 복수의 압축률 및 상기 복수의 추가 압축률에 기초하여 상기 프레임의 압축률을 획득하는 단계;를 더 포함하는, 제어 방법.
  13. 제11항에 있어서,
    상기 복수의 이미지 블럭 각각의 압축률을 획득하는 단계는,
    상기 복수의 이미지 블럭 각각의 픽셀 값에 대한 분산을 산출하는 단계;
    상기 산출된 분산에 기초하여 상기 복수의 이미지 블럭 중 기설정된 개수의 이미지 블럭을 획득하는 단계; 및
    상기 압축률 네트워크 모델에 기초하여 상기 획득된 기설정된 개수의 이미지 블럭 각각의 압축률을 획득하는 단계;를 포함하고,
    상기 프레임의 압축률을 획득하는 단계는,
    상기 획득된 기설정된 개수의 이미지 블럭 각각의 압축률에 기초하여 상기 프레임의 압축률을 획득하는 단계;를 더 포함하는, 제어 방법.
  14. 제11항에 있어서,
    상기 압축 잡음을 제거하는 단계는,
    상기 프레임을 상기 복수의 이미지 블럭으로 구분하는 단계;
    상기 압축 잡음 제거 네트워크 모델에 기초하여 상기 복수의 이미지 블럭 각각의 압축 잡음을 제거하는 단계; 및
    상기 압축 잡음이 제거된 복수의 이미지 블럭을 결합하여 압축 잡음이 제거된 프레임을 획득하는 단계;를 포함하는, 제어 방법.
  15. 제14항에 있어서,
    상기 압축 잡음을 제거하는 단계는,
    상기 프레임의 전후 프레임에서 상기 복수의 이미지 블럭 중 하나인 제1 이미지 블럭에 대응되는 제2 이미지 블럭 및 제3 이미지 블럭을 획득하는 단계; 및
    상기 제2 이미지 블럭 및 상기 제3 이미지 블럭을 이용하여 상기 제1 이미지 블럭의 압축 잡음을 제거하는 단계;를 더 포함하는, 제어 방법.
  16. 제15항에 있어서,
    상기 제1 이미지 블럭의 압축 잡음을 제거하는 단계는,
    상기 압축 잡음 제거 네트워크 모델에 기초하여 상기 제1 이미지 블럭, 상기 제2 이미지 블럭 및 상기 제3 이미지 블럭 각각에 대해 적어도 한 번의 컨볼루션 연산을 수행하는 단계;
    상기 컨볼루션 연산이 수행된 제1 이미지 블럭, 제2 이미지 블럭 및 제3 이미지 블럭을 결합하는 단계; 및
    상기 결합된 이미지 블럭에 대해 적어도 한 번의 컨볼루션 연산을 수행하여 상기 제1 이미지 블럭의 압축 잡음을 제거하는 단계;를 포함하는 제어 방법.
  17. 제15항에 있어서,
    상기 압축 잡음을 제거하는 단계는,
    상기 제1 이미지 블럭 및 상기 제2 이미지 블럭의 제1 최대 신호 대 잡음비(Peak Signal-to-noise ratio, PSNR) 및 상기 제1 이미지 블럭 및 상기 제3 이미지 블럭의 제2 최대 신호 대 잡음비를 산출하는 단계; 및
    상기 제1 최대 신호 대 잡음비 및 상기 제2 최대 신호 대 잡음비 중 적어도 하나가 기설정된 값보다 작은 경우, 상기 제2 이미지 블럭 및 상기 제3 이미지 블럭 중 상기 기설정된 값보다 작은 최대 신호 대 잡음비에 대응되는 이미지 블럭을 대신하여 상기 제1 이미지 블럭을 상기 압축 잡음 제거 네트워크 모델에 입력하는 단계;를 더 포함하는, 제어 방법.
  18. 제14항에 있어서,
    경계로부터의 거리에 따른 가중치에 기초하여 상기 압축 잡음이 제거된 복수의 이미지 블럭을 오버랩하여 결합하는 단계;를 더 포함하는, 제어 방법.
  19. 제11항에 있어서,
    상기 압축 잡음을 제거하는 단계는,
    상기 프레임을 색차 성분과 휘도 성분으로 구분하는 단계;
    상기 압축 잡음 제거 네트워크 모델에 기초하여 상기 휘도 성분의 압축 잡음을 제거하는 단계; 및
    상기 색차 성분과 상기 압축 잡음이 제거된 휘도 성분을 결합하여 상기 프레임의 압축 잡음을 제거하는 단계;를 포함하며,
    상기 복수의 압축 잡음 제거 네트워크 모델은, 상기 복수의 원본 이미지 블럭의 휘도 성분 및 상기 복수의 복원 이미지 블럭의 휘도 성분의 관계를 제2 인공지능 알고리즘을 통해 학습하여 획득된, 제어 방법.
  20. 제11항에 있어서,
    상기 압축률 네트워크 모델 및 상기 복수의 압축 잡음 제거 네트워크 모델은, 딥러닝(Deep Learning) 네트워크 구조인, 제어 방법.
KR1020180026209A 2018-03-06 2018-03-06 전자 장치 및 그 제어 방법 Active KR102606200B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020180026209A KR102606200B1 (ko) 2018-03-06 2018-03-06 전자 장치 및 그 제어 방법
CN201980017219.3A CN111869220B (zh) 2018-03-06 2019-02-14 电子装置及其控制方法
PCT/KR2019/001801 WO2019172546A1 (en) 2018-03-06 2019-02-14 Electronic apparatus and control method thereof
EP19763926.3A EP3707906B1 (en) 2018-03-06 2019-02-14 Electronic apparatus and control method thereof
US16/292,655 US11153575B2 (en) 2018-03-06 2019-03-05 Electronic apparatus and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180026209A KR102606200B1 (ko) 2018-03-06 2018-03-06 전자 장치 및 그 제어 방법

Publications (2)

Publication Number Publication Date
KR20190105745A true KR20190105745A (ko) 2019-09-18
KR102606200B1 KR102606200B1 (ko) 2023-11-24

Family

ID=67843667

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180026209A Active KR102606200B1 (ko) 2018-03-06 2018-03-06 전자 장치 및 그 제어 방법

Country Status (5)

Country Link
US (1) US11153575B2 (ko)
EP (1) EP3707906B1 (ko)
KR (1) KR102606200B1 (ko)
CN (1) CN111869220B (ko)
WO (1) WO2019172546A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220085212A (ko) * 2020-12-15 2022-06-22 세종대학교산학협력단 딥러닝 기반 이미지 복구 기술을 이용한 패션 이미지 검색 방법 및 장치
WO2023055112A1 (ko) * 2021-09-30 2023-04-06 삼성전자 주식회사 전자 장치에서 이미지의 압축 품질 예측 방법 및 장치
KR20230078649A (ko) * 2020-09-23 2023-06-02 소니 인터랙티브 엔터테인먼트 엘엘씨 저해상도 압축 데이터 구조로부터 텍스처를 나타내는 고해상도 압축 데이터 구조를 생성하고 이를 위한 훈련을 위한 머신 러닝 기술
US12462356B2 (en) 2021-09-30 2025-11-04 Samsung Electronics Co., Ltd. Apparatus and method for predicting compression quality of image in electronic device

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11750811B2 (en) * 2018-04-06 2023-09-05 Comcast Cable Communications, Llc Systems, methods, and apparatuses for processing video
KR102825472B1 (ko) * 2018-08-30 2025-06-30 삼성전자주식회사 전자 장치 및 그 제어 방법
US10705170B1 (en) * 2019-02-15 2020-07-07 GE Precision Healthcare LLC Methods and systems for removing spike noise in magnetic resonance imaging
EP3767536B1 (en) * 2019-07-17 2025-02-19 Naver Corporation Latent code for unsupervised domain adaptation
WO2021061748A1 (en) * 2019-09-23 2021-04-01 Apple Inc. Video compression with in-loop sub-image level controllable noise generation
CN112995673B (zh) * 2019-12-13 2023-04-07 北京金山云网络技术有限公司 一种样本图像处理方法、装置、电子设备以及介质
CN111105375B (zh) * 2019-12-17 2023-08-22 北京金山云网络技术有限公司 图像生成方法及其模型训练方法、装置及电子设备
CN111738952B (zh) * 2020-06-22 2023-10-10 京东方科技集团股份有限公司 一种图像修复的方法、装置及电子设备
CN111726554B (zh) * 2020-06-30 2022-10-14 阿波罗智能技术(北京)有限公司 图像处理方法、装置、设备和存储介质
US11538136B2 (en) * 2020-10-28 2022-12-27 Qualcomm Incorporated System and method to process images of a video stream
KR20220124528A (ko) * 2021-03-03 2022-09-14 삼성전자주식회사 전자 장치에서 이미지의 압축 품질에 기반한 이미지 보정 방법 및 장치
CN115409719A (zh) * 2021-05-28 2022-11-29 武汉Tcl集团工业研究院有限公司 数据处理方法、装置、终端设备及计算机可读存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7346208B2 (en) * 2003-10-25 2008-03-18 Hewlett-Packard Development Company, L.P. Image artifact reduction using a neural network
US20060140268A1 (en) 2004-12-29 2006-06-29 Samsung Electronics Co., Ltd. Method and apparatus for reduction of compression noise in compressed video images
JP5597968B2 (ja) * 2009-07-01 2014-10-01 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
US9565439B2 (en) * 2009-10-15 2017-02-07 Nbcuniversal Media, Llc System and method for enhancing data compression using dynamic learning and control
JP6083162B2 (ja) 2012-09-10 2017-02-22 株式会社ニコン 画像処理装置、撮像装置及び画像処理プログラム
US9147374B2 (en) * 2013-05-21 2015-09-29 International Business Machines Corporation Controlling real-time compression detection
KR20150054554A (ko) * 2013-11-12 2015-05-20 삼성전자주식회사 영상 처리장치 및 방법
KR102288280B1 (ko) 2014-11-05 2021-08-10 삼성전자주식회사 영상 학습 모델을 이용한 영상 생성 방법 및 장치
US11221990B2 (en) * 2015-04-03 2022-01-11 The Mitre Corporation Ultra-high compression of images based on deep learning
US20160321523A1 (en) 2015-04-30 2016-11-03 The Regents Of The University Of California Using machine learning to filter monte carlo noise from images
KR20170077621A (ko) 2015-12-28 2017-07-06 연세대학교 산학협력단 영상 압축에서의 플리커링 현상 제거 방법 및 그 장치
US9881208B2 (en) * 2016-06-20 2018-01-30 Machine Learning Works, LLC Neural network based recognition of mathematical expressions
CN106295682A (zh) 2016-08-02 2017-01-04 厦门美图之家科技有限公司 一种判断图片质量因子的方法、装置和计算设备
CN106331741B (zh) * 2016-08-31 2019-03-08 徐州视达坦诚文化发展有限公司 一种电视广播媒体音视频数据的压缩方法
US10083499B1 (en) * 2016-10-11 2018-09-25 Google Llc Methods and apparatus to reduce compression artifacts in images
JP6581068B2 (ja) * 2016-11-11 2019-09-25 株式会社東芝 画像処理装置、画像処理方法、プログラム、運転制御システム、および、車両
CN107743235B (zh) * 2017-10-27 2019-09-27 厦门美图之家科技有限公司 图像处理方法、装置及电子设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Pavel Svoboda 등, Compression Artifacts Removal Using Convolutional Neural Networks, arXiv, 2016. 5. 2.* *
Sebastian Bosse 등, A DEEP NEURAL NETWORK FOR IMAGE QUALITY ASSESSMENT, ICIP 2016, IEEE, 2016. 8. 19.* *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230078649A (ko) * 2020-09-23 2023-06-02 소니 인터랙티브 엔터테인먼트 엘엘씨 저해상도 압축 데이터 구조로부터 텍스처를 나타내는 고해상도 압축 데이터 구조를 생성하고 이를 위한 훈련을 위한 머신 러닝 기술
KR20220085212A (ko) * 2020-12-15 2022-06-22 세종대학교산학협력단 딥러닝 기반 이미지 복구 기술을 이용한 패션 이미지 검색 방법 및 장치
WO2023055112A1 (ko) * 2021-09-30 2023-04-06 삼성전자 주식회사 전자 장치에서 이미지의 압축 품질 예측 방법 및 장치
US12462356B2 (en) 2021-09-30 2025-11-04 Samsung Electronics Co., Ltd. Apparatus and method for predicting compression quality of image in electronic device

Also Published As

Publication number Publication date
US20190281310A1 (en) 2019-09-12
WO2019172546A1 (en) 2019-09-12
EP3707906A1 (en) 2020-09-16
CN111869220B (zh) 2022-11-22
EP3707906B1 (en) 2023-08-16
US11153575B2 (en) 2021-10-19
KR102606200B1 (ko) 2023-11-24
CN111869220A (zh) 2020-10-30
EP3707906A4 (en) 2020-12-16

Similar Documents

Publication Publication Date Title
KR102606200B1 (ko) 전자 장치 및 그 제어 방법
US12356035B2 (en) Apparatus and method with artificial intelligence for scaling image data
US12175632B2 (en) Image processing method and apparatus, device, and video processing method
CN111771226B (zh) 电子设备、其图像处理方法及计算机可读记录介质
CN114418069B (zh) 一种编码器的训练方法、装置及存储介质
KR101882704B1 (ko) 전자 장치 및 그 제어 방법
EP3910507B1 (en) Method and apparatus for waking up screen
CN113128368B (zh) 一种人物交互关系的检测方法、装置及系统
KR102488338B1 (ko) 언어 모델을 압축하기 위한 전자 장치, 추천 워드를 제공하기 위한 전자 장치 및 그 동작 방법들
CN116309173B (zh) 视频质量增强方法、装置、设备及存储介质
KR20200027080A (ko) 전자 장치 및 그 제어 방법
CN109547803B (zh) 一种时空域显著性检测及融合方法
US10997947B2 (en) Electronic device and control method thereof
US20260100017A1 (en) Image Processing Method, Model Training Method, and Related Apparatus
Du et al. Adaptive visual interaction based multi-target future state prediction for autonomous driving vehicles
EP3738305B1 (en) Electronic device and control method thereof
CN113780252B (zh) 视频处理模型的训练方法、视频处理方法和装置
CN119478760A (zh) 图像处理模型训练方法、图像处理方法及相关设备
KR20200027085A (ko) 전자 장치 및 그 제어 방법
CN121685672A (zh) 图像压缩方法、装置、电子设备和可读介质
EP4732233A1 (en) Generative photo uncropping and recomposition
CN118823619A (zh) 一种数据处理方法及相关设备

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

P22-X000 Classification modified

St.27 status event code: A-2-2-P10-P22-nap-X000

P22-X000 Classification modified

St.27 status event code: A-2-2-P10-P22-nap-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

P22-X000 Classification modified

St.27 status event code: A-2-2-P10-P22-nap-X000

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

A201 Request for examination
PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18 Changes to party contact information recorded

Free format text: ST27 STATUS EVENT CODE: A-5-5-R10-R18-OTH-X000 (AS PROVIDED BY THE NATIONAL OFFICE)

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000