KR20210158261A - 비디오 품질 평가 방법 및 장치 - Google Patents
비디오 품질 평가 방법 및 장치 Download PDFInfo
- Publication number
- KR20210158261A KR20210158261A KR1020200076767A KR20200076767A KR20210158261A KR 20210158261 A KR20210158261 A KR 20210158261A KR 1020200076767 A KR1020200076767 A KR 1020200076767A KR 20200076767 A KR20200076767 A KR 20200076767A KR 20210158261 A KR20210158261 A KR 20210158261A
- Authority
- KR
- South Korea
- Prior art keywords
- frame
- blur
- video
- quality
- sub
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 92
- 238000001303 quality assessment method Methods 0.000 title description 7
- 238000004458 analytical method Methods 0.000 claims abstract description 53
- 230000015654 memory Effects 0.000 claims abstract description 41
- 230000003595 spectral effect Effects 0.000 claims description 183
- 238000013528 artificial neural network Methods 0.000 claims description 100
- 238000013441 quality evaluation Methods 0.000 claims description 94
- 238000012545 processing Methods 0.000 claims description 70
- 239000011159 matrix material Substances 0.000 claims description 54
- 238000001228 spectrum Methods 0.000 claims description 53
- 230000033001 locomotion Effects 0.000 claims description 18
- 239000013598 vector Substances 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 7
- 238000009499 grossing Methods 0.000 claims description 6
- 238000003062 neural network model Methods 0.000 claims description 5
- 230000006403 short-term memory Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 19
- 238000004891 communication Methods 0.000 description 34
- 238000010586 diagram Methods 0.000 description 28
- 238000004422 calculation algorithm Methods 0.000 description 26
- 238000013473 artificial intelligence Methods 0.000 description 24
- 241000282412 Homo Species 0.000 description 15
- 230000006870 function Effects 0.000 description 15
- 241000282414 Homo sapiens Species 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 5
- 230000008447 perception Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 210000001328 optic nerve Anatomy 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N17/00—Diagnosis, testing or measuring for television systems or their details
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/73—Deblurring; Sharpening
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/60—Image enhancement or restoration using machine learning, e.g. neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/41—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30168—Image quality inspection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- General Engineering & Computer Science (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Image Analysis (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
비디오 품질 평가 장치가 개시된다. 비디오 품질 평가 장치는 하나 이상의 인스트럭션을 저장하는 메모리 및 메모리에 저장된 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 프로세서는 하나 이상의 인스트럭션을 실행함으로써, 비디오에 포함된 프레임의 블러 레벨에 기반하여, 프레임이 전체 블러 프레임인지 부분 블러 프레임인지를 식별하고, 입력된 프레임이 전체 블러 프레임인 것에 상응하여 전체 블러 프레임에 대한 분석 기반 품질 점수를 획득하고, 입력된 프레임이 부분 블러 프레임인 것에 상응하여 부분 블러 프레임에 대한 모델 기반 품질 점수를 획득하고, 분석 기반 품질 점수 및 모델 기반 품질 점수 중 적어도 하나를 이용하여 비디오의 화질을 처리할 수 있다.
Description
개시된 다양한 실시 예들은 비디오 품질 평가 방법 및 장치에 관한 것으로, 보다 상세하게는 비디오에 포함된 프레임의 블러 레벨에 기반하여 프레임의 품질을 평가하는 비디오 품질 평가 방법 및 장치에 관한 것이다.
비디오 영상은 생성, 압축, 저장, 전송, 재생산 등의 과정에서 왜곡을 수반하게 된다. 왜곡된 영상은 인간의 지각이 허용할 수 있는 범위 내에서 재생 되어야 한다. 따라서, 영상이 재생되기 전에, 이러한 왜곡이 인간이 지각하는 화질에 어떠한 영향을 미치는지를 이해하기 위해 화질을 측정하고 평가할 필요가 있다.
영상 화질 평가(Quality Assessment) 기술은 주관적 화질 평가(subjective quality assessment) 방법과 객관적 화질 평가(objective quality assessment) 방법으로 나눌 수 있다. 주관적 화질 평가 방법은 평가자가 직접 비디오를 보고 화질을 평가하는 방법으로서 인간의 화질 인지 특성을 잘 반영할 수 있다. 그러나 주관적 화질 평가 방법은 개인별로 평가 치가 다르고 시간과 비용이 많이 소요될 뿐 아니라, 실시간으로 매번 영상의 화질을 평가하기 어렵다는 단점이 있다.
객관적 화질 평가 방법은 인간의 시신경으로 지각된 화질(perceived quality)을 측정하는 알고리즘을 구현하고 이를 이용하여 압축 영상의 화질 열화 정도를 평가하는 방법이다.
객관적 화질 평가 방법은 왜곡된 영상과 비교할 수 있는 기준 영상(reference image)을 이용하는 전 기준 화질 평가(Full-Reference Quality Assessment)방식과, 기준 영상 자체가 아닌 기준 영상에 관한 일부 정보, 예를 들면, 워터 마킹(watermarking)이나 보조 채널(auxiliary channel) 등을 이용하여 화질 평가를 수행하는 감소 기준 화질 평가(Reduced Reference Quality Assessment) 방식, 및 기준 영상의 어떠한 정보도 이용하지 않고 왜곡된 영상만을 이용하여 화질 추정을 수행하는 무 기준 화질 평가(No-Reference Quality Assessment)방식으로 나뉠 수 있다.
무 기준 화질 평가 방식은 기준 영상 정보를 필요로 하지 않기 때문에, 화질 측정이 요구되는 어떠한 응용에도 이용될 수 있다는 장점이 있다.
다양한 실시 예들은 비디오에 포함된 프레임의 블러 레벨에 기반하여 프레임이 전체 블러 프레임인 경우와 부분 블러 프레임인 경우를 식별하고, 각각의 경우에 서로 다른 방식으로 품질을 평가하는 비디오 품질 평가 방법 및 장치를 제공하기 위한 것이다.
다양한 실시 예들은 전체 블러 프레임과 부분 블러 프레임 각각으로부터 서로 다른 특징을 획득하고 이를 이용하여 각 프레임의 품질을 평가하는 비디오 품질 평가 방법 및 장치를 제공하기 위한 것이다.
다양한 실시 예들은 비디오에 포함된 프레임의 서브 영역 별로, 중요도 정보 및 스펙트럴 엔벨롭 분포 특징을 획득하고 이로부터 가중치 매트릭스를 생성하여 이용함으로써, 프레임의 서브 영역 별 특성을 고려하여 프레임의 품질을 평가할 수 있는 비디오 품질 평가 방법 및 장치를 제공하기 위한 것이다.
다양한 실시 예들은 인간의 주관적 평가를 학습한 뉴럴 네트워크를 이용하여 프레임의 품질을 평가하는 비디오 품질 평가 방법 및 장치를 제공하기 위한 것이다.
실시 예에 따른 비디오 품질 평가 방법은 비디오에 포함된 프레임을 입력 받는 단계, 상기 입력된 프레임의 블러 레벨에 기반하여, 상기 입력된 프레임이 전체 블러 프레임인지 부분 블러 프레임인지를 식별하는 단계, 상기 입력된 프레임이 상기 전체 블러 프레임인 것에 상응하여, 상기 전체 블러 프레임에 대한 분석 기반 품질 점수를 획득하는 단계, 상기 입력된 프레임이 상기 부분 블러 프레임인 것에 상응하여, 상기 부분 블러 프레임에 대한 모델 기반 품질 점수를 획득하는 단계, 및 상기 분석 기반 품질 점수 및 상기 모델 기반 품질 점수 중 적어도 하나를 이용하여 상기 비디오의 화질을 처리하는 단계를 포함할 수 있다.
실시 예에서, 상기 방법은 상기 입력된 프레임에 포함된 복수개의 서브 영역 각각에 대한 스펙트럴 엔벨롭을 획득하는 단계 및 상기 스펙트럴 엔벨롭으로부터 상기 서브 영역 별로 상기 블러 레벨을 추정하는 단계를 더 포함하고, 상기 입력된 프레임이 전체 블러 프레임인지 부분 블러 프레임인지를 식별하는 단계는 상기 추정된 블러 레벨의 값이 소정 기준치를 넘는 서브 영역의 개수에 따라 상기 입력된 프레임이 전체 블러 프레임인지, 부분 블러 프레임인지를 식별하는 단계를 포함할 수 있다.
실시 예에서, 상기 스펙트럴 엔벨롭을 획득하는 단계는 상기 서브 영역 각각에 대한 주파수 도메인에서의 신호를 획득하는 단계, 상기 주파수 도메인에서의 신호에 대한 파워 스펙트럼을 획득하는 단계, 상기 파워 스펙트럼으로부터 상기 스펙트럴 엔벨롭을 획득하는 단계를 포함할 수 있다.
실시 예에서, 상기 분석 기반 품질 점수를 획득하는 단계는 상기 전체 블러 프레임에 포함된 복수개의 서브 영역 각각에 대한 스펙트럴 엔벨롭으로부터 스펙트럴 엔벨롭 분포 특징을 획득하는 단계 및 상기 스펙트럴 엔벨롭 분포 특징을 분석하여, 상기 전체 블러 프레임에 대한 분석 기반 품질 점수를 획득하는 단계를 포함할 수 있다.
실시 예에서, 상기 방법은 상기 부분 블러 프레임에 포함된 복수개의 서브 영역 각각에 대한 스펙트럴 엔벨롭으로부터 스펙트럴 엔벨롭 분포 특징을 획득하는 단계, 제1 뉴럴 네트워크를 이용하여 상기 부분 블러 프레임에 포함된 복수개의 서브 영역 각각에 대해 중요도 정보를 획득하는 단계 및 상기 부분 블러 프레임에 포함된 상기 복수개의 서브 영역 각각에 대해 획득한 스펙트럴 엔벨롭 분포 특징 및 상기 중요도 정보로부터, 상기 서브 영역 별 가중치 값을 나타내는 가중치 매트릭스를 생성하는 단계를 더 포함하고, 상기 모델 기반 품질 점수를 획득하는 단계는 상기 가중치 매트릭스 및 상기 부분 블러 프레임으로부터, 상기 부분 블러 프레임에 대한 모델 기반 품질 점수를 획득하는 단계를 포함할 수 있다.
실시 예에서, 상기 중요도 정보를 획득하는 단계는 상기 제1 뉴럴 네트워크를 이용하여, 품질 점수에 영향을 줄 수 있는 요인과 관련된 하나 이상의 중요도 정보를 서브 영역 별로 획득하는 단계를 포함하고, 상기 품질 점수에 영향을 줄 수 있는 요인은 전경인지 배경인지에 대한 정보, 장르에 대한 정보, 시맨틱 정보, 위치 정보, 컨텐트 정보 중 적어도 하나를 포함할 수 있다.
실시 예에서, 상기 가중치 매트릭스를 수정하는 단계를 더 포함하고, 상기 가중치 매트릭스를 수정하는 단계는 상기 부분 블러 프레임에 포함된 제1 서브 영역의 스펙트럴 엔벨롭 분포 특징을 상기 제1 서브 영역에 이웃하는 적어도 하나의 주변 서브 영역의 스펙트럴 엔벨롭 분포 특징을 이용하여 수정하는 단계, 상기 제1 서브 영역의 중요도 정보를 상기 이웃하는 적어도 하나의 주변 서브 영역의 중요도 정보를 이용하여 수정하는 단계, 상기 수정된 스펙트럴 엔벨롭 분포 특징 및 상기 수정된 중요도 정보를 이용하여 상기 제1 서브 영역에 대한 수정된 가중치 값을 획득하는 단계를 포함할 수 있다.
실시 예에서, 상기 모델 기반 품질 점수를 획득하는 단계는 특징 벡터와 평균 의견 점수(Mean Opinion Score, MOS)간의 상관 관계를 미리 학습한 제2 뉴럴 네트워크를 이용하여 수행될 수 있다.
실시 예에서, 상기 모델 기반 품질 점수를 획득하는 단계는 상기 제2 뉴럴 네트워크를 이용하여 상기 부분 블러 프레임으로부터 특징을 추출하고, 상기 추출한 특징 및 상기 가중치 매트릭스로부터 상기 부분 블러 프레임의 품질 점수를 획득하는 단계를 포함하고, 상기 추출한 특징은 블러 관련 특징, 모션 관련 특징, 컨텐트 관련 특징, 딥 특징, 통계적인 특징, 개념적인 특징, 공간적인 특징, 변형된 도메인 특징 중 적어도 하나를 포함할 수 있다.
실시 예에서, 상기 방법은 상기 분석 기반 품질 점수 및 상기 모델 기반 품질 점수를 소정 시간 동안 누적하여 시계열 데이터를 획득하고, 상기 시계열 데이터를 스무딩하여 상기 비디오에 대한 최종 품질 점수를 획득하는 단계를 더 포함할 수 있다.
실시 예에서, 상기 비디오에 대한 최종 품질 점수를 획득하는 단계는 제3 뉴럴 네트워크 모델을 이용하여 수행되고, 상기 제3 뉴럴 네트워크 모델은 LSTM(Long Short-Term Memory)일 수 있다.
실시 예에서, 상기 비디오의 화질을 처리하는 단계는 상기 비디오에 대한 최종 품질 점수에 기반하여, 상기 비디오에 포함된 프레임의 화질을 처리하는 단계를 포함하고, 상기 프레임의 화질을 처리하는 단계는 상기 최종 품질 점수에 따라 선택된 화질 처리 모델에 따라 상기 프레임의 화질을 처리하는 것, 상기 최종 품질 점수에 따라 결정된 화질 처리 모델 적용 횟수만큼 상기 프레임에 상기 화질 처리 모델을 반복하여 적용함으로써 상기 프레임의 화질을 처리하는 것, 상기 최종 품질 점수에 따라 설계된 필터를 상기 프레임에 적용하여 상기 소정 프레임의 화질을 처리하는 것, 상기 최종 품질 점수에 따라 수정된 하이퍼파라미터 값을 갖는 뉴럴 네트워크를 이용하여 상기 프레임의 화질을 처리하는 것, 중 적어도 하나를 이용하여 수행될 수 있다.
실시 예에 따른 비디오 품질 평가 방법은 비디오에 포함된 프레임을 입력 받는 단계, 상기 입력된 프레임의 블러 레벨에 기반하여, 상기 입력된 프레임이 전체 블러 프레임인지 부분 블러 프레임인지를 식별하는 단계, 상기 입력된 프레임이 상기 전체 블러 프레임인 것에 상응하여, 상기 전체 블러 프레임의 스펙트럴 엔벨롭 분포 특징을 획득하는 단계, 상기 입력된 프레임이 상기 부분 블러 프레임인 것에 상응하여, 상기 부분 블러 프레임의 모델 기반 특징을 획득하는 단계, 상기 전체 블러 프레임의 스펙트럴 엔벨롭 분포 특징 및 상기 부분 블러 프레임의 모델 기반 특징 중 적어도 하나로부터 상기 입력 프레임에 대한 최종 품질 점수를 획득하는 단계 및 상기 최종 품질 점수에 기반하여 상기 비디오의 화질을 처리하는 단계를 포함할 수 있다.
실시 예에서, 상기 방법은 상기 입력된 프레임에 포함된 복수개의 서브 영역 각각에 대해 중요도 정보를 획득하는 단계, 상기 입력된 프레임에 포함된 복수개의 서브 영역 각각에 대한 스펙트럴 엔벨롭 분포 특징을 획득하는 단계 및 상기 중요도 정보 및 상기 스펙트럴 엔벨롭 분포 특징으로부터 상기 서브 영역 별 가중치를 획득하여 상기 입력 프레임에 대한 가중치 매트릭스를 생성하는 단계를 더 포함하고, 상기 입력 프레임에 대한 최종 점수를 획득하는 단계는 상기 전체 블러 프레임의 스펙트럴 엔벨롭 분포 특징 및 상기 부분 블러 프레임의 모델 기반 특징, 및 상기 가중치 매트릭스를 이용하여 상기 입력 프레임에 대한 최종 점수를 획득하는 단계를 포함할 수 있다.
실시 예에서, 상기 모델 기반 특징을 획득하는 단계는 적어도 하나의 뉴럴 네트워크를 이용하여, 상기 부분 블러 프레임으로부터 블러 관련 특징, 모션 관련 특징, 컨텐트 관련 특징, 딥 특징, 통계적인 특징, 개념적인 특징, 공간적인 특징, 변형된 도메인 특징 중 적어도 하나를 추출하는 단계를 포함할 수 있다.
실시 예에 따른 비디오 품질 평가 장치는 하나 이상의 인스트럭션을 저장하는 메모리 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써, 비디오에 포함된 프레임의 블러 레벨에 기반하여, 상기 프레임이 전체 블러 프레임인지 부분 블러 프레임인지를 식별하고, 상기 입력된 프레임이 상기 전체 블러 프레임인 것에 상응하여, 상기 전체 블러 프레임에 대한 분석 기반 품질 점수를 획득하고, 상기 입력된 프레임이 상기 부분 블러 프레임인 것에 상응하여, 상기 부분 블러 프레임에 대한 모델 기반 품질 점수를 획득하고, 상기 분석 기반 품질 점수 및 상기 모델 기반 품질 점수 중 적어도 하나를 이용하여 상기 비디오의 화질을 처리할 수 있다.
실시 예에 따른 비디오 품질 평가 장치는 하나 이상의 인스트럭션을 저장하는 메모리 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써, 비디오에 포함된 프레임의 블러 레벨에 기반하여, 상기 프레임이 전체 블러 프레임인지 부분 블러 프레임인지를 식별하고, 상기 프레임이 상기 전체 블러 프레임인 것에 상응하여, 상기 전체 블러 프레임의 스펙트럴 엔벨롭 분포 특징을 획득하고, 상기 프레임이 상기 부분 블러 프레임인 것에 상응하여, 상기 부분 블러 프레임의 모델 기반 특징을 획득하고, 상기 전체 블러 프레임의 스펙트럴 엔벨롭 분포 특징 및 상기 부분 블러 프레임의 모델 기반 특징 중 적어도 하나로부터 상기 입력 프레임에 대한 최종 점수를 획득하고, 상기 최종 품질 점수에 기반하여 상기 비디오의 화질을 처리할 수 있다.
실시 예에 따른 컴퓨터로 판독 가능한 기록 매체는 비디오에 포함된 프레임을 입력 받는 단계, 상기 입력된 프레임의 블러 레벨에 기반하여, 상기 입력된 프레임이 전체 블러 프레임인지 부분 블러 프레임인지를 식별하는 단계, 상기 입력된 프레임이 상기 전체 블러 프레임인 것에 상응하여, 상기 전체 블러 프레임에 대한 분석 기반 품질 점수를 획득하는 단계, 상기 입력된 프레임이 상기 부분 블러 프레임인 것에 상응하여, 상기 부분 블러 프레임에 대한 모델 기반 품질 점수를 획득하는 단계, 및 상기 분석 기반 품질 점수 및 상기 모델 기반 품질 점수 중 적어도 하나를 이용하여 상기 비디오의 화질을 처리하는 단계를 포함하는, 비디오 품질 평가 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체일 수 있다.
일 실시 예에 따른 비디오 품질 평가 방법 및 장치는 비디오에 포함된 프레임의 블러 레벨에 기반하여 프레임이 전체 블러 프레임인 경우와 부분 블러 프레임인 경우를 식별하고, 각각의 경우에 서로 다른 방식으로 품질을 평가할 수 있다.
일 실시 예에 따른 비디오 품질 평가 방법 및 장치는 전체 블러 프레임과 부분 블러 프레임 각각으로부터 서로 다른 특징을 획득하고 이를 이용하여 각 프레임의 품질을 평가할 수 있다.
일 실시 예에 따른 비디오 품질 평가 방법 및 장치는 비디오에 포함된 프레임의 서브 영역 별로, 중요도 정보 및 스펙트럴 엔벨롭 분포 특징을 획득하고 이로부터 생성된 가중치 매트릭스를 이용하여 비디오 품질을 측정함으로써, 프레임의 서브 영역 별 특성을 고려하여 프레임의 품질을 평가할 수 있다.
일 실시 예에 따른 비디오 품질 평가 방법 및 장치는 인간의 주관적 평가를 학습한 뉴럴 네트워크를 이용하여 프레임의 품질을 평가할 수 있다.
도 1은 실시 예에 따라, 비디오 품질 평가 장치(130)가 비디오 영상의 품질 점수를 생성하고, 영상 표시 장치(110)가 이에 따라 처리된 화질을 갖는 영상을 화면에 출력하는 것을 설명하기 위한 도면이다.
도 2는 실시 예에 따라, 비디오 품질 평가 장치(130)가 입력 프레임으로부터 파워 스펙트럼 및 스펙트럴 엔벨롭을 획득하는 것을 설명하기 위한 도면이다.
도 3은 실시 예에 따라, 비디오 품질 평가 장치(130)가 입력 프레임으로부터 파워 스펙트럼 및 스펙트럴 엔벨롭을 획득하는 것을 설명하기 위한 도면이다.
도 4는 실시 예에 따라, 비디오 품질 평가 장치(130)가 전체 블러 프레임과 부분 블러 프레임을 식별하는 것을 설명하기 위한 도면이다.
도 5는 실시 예에 따라, 프레임에 포함된 서브 영역 별로 중요도 정보를 획득하는 것을 설명하기 위한 도면이다.
도 6은 실시 예에 따라, 프레임에 포함된 서브 영역 별로 획득되는 중요도 정보를 설명하기 위한 도면이다.
도 7은 실시 예에 따른 컴퓨팅 장치(700)의 내부 블록도이다.
도 8은 실시 예에 따른 도 7의 프로세서(710)의 구성을 보다 자세히 설명하기 위한 블록도이다.
도 9는 실시 예에 따른 도 7의 프로세서(710)의 구성을 보다 자세히 설명하기 위한 블록도이다.
도 10은 실시 예에 따른 도 7의 프로세서(710)의 내부 블록도이다.
도 11은 다른 실시 예에 따른 컴퓨팅 장치(1100)의 내부 블록도이다.
도 12는 실시 예에 따른 컴퓨팅 장치(1200)의 내부 블록도이다.
도 13은 실시 예에 따른 영상 표시 장치(1300)의 내부 블록도이다.
도 14는 실시 예에 따른 영상 표시 장치(1400)의 내부 블록도이다.
도 15는 실시 예에 따른 프레임 식별 방법을 도시한 순서도이다.
도 16은 실시 예에 따른 품질 점수 획득 방법을 도시한 순서도이다.
도 17은 실시 예에 따라, 부분 블러 프레임에 대한 모델 기반 품질 점수를 획득하는 방법을 설명하기 위한 순서도이다.
도 18은 실시 예에 따라, 최종 품질 점수 획득 방법을 도시한 순서도이다.
도 19는 다른 실시 예에 따라, 비디오 품질 측정 방법을 도시한 순서도이다.
도 2는 실시 예에 따라, 비디오 품질 평가 장치(130)가 입력 프레임으로부터 파워 스펙트럼 및 스펙트럴 엔벨롭을 획득하는 것을 설명하기 위한 도면이다.
도 3은 실시 예에 따라, 비디오 품질 평가 장치(130)가 입력 프레임으로부터 파워 스펙트럼 및 스펙트럴 엔벨롭을 획득하는 것을 설명하기 위한 도면이다.
도 4는 실시 예에 따라, 비디오 품질 평가 장치(130)가 전체 블러 프레임과 부분 블러 프레임을 식별하는 것을 설명하기 위한 도면이다.
도 5는 실시 예에 따라, 프레임에 포함된 서브 영역 별로 중요도 정보를 획득하는 것을 설명하기 위한 도면이다.
도 6은 실시 예에 따라, 프레임에 포함된 서브 영역 별로 획득되는 중요도 정보를 설명하기 위한 도면이다.
도 7은 실시 예에 따른 컴퓨팅 장치(700)의 내부 블록도이다.
도 8은 실시 예에 따른 도 7의 프로세서(710)의 구성을 보다 자세히 설명하기 위한 블록도이다.
도 9는 실시 예에 따른 도 7의 프로세서(710)의 구성을 보다 자세히 설명하기 위한 블록도이다.
도 10은 실시 예에 따른 도 7의 프로세서(710)의 내부 블록도이다.
도 11은 다른 실시 예에 따른 컴퓨팅 장치(1100)의 내부 블록도이다.
도 12는 실시 예에 따른 컴퓨팅 장치(1200)의 내부 블록도이다.
도 13은 실시 예에 따른 영상 표시 장치(1300)의 내부 블록도이다.
도 14는 실시 예에 따른 영상 표시 장치(1400)의 내부 블록도이다.
도 15는 실시 예에 따른 프레임 식별 방법을 도시한 순서도이다.
도 16은 실시 예에 따른 품질 점수 획득 방법을 도시한 순서도이다.
도 17은 실시 예에 따라, 부분 블러 프레임에 대한 모델 기반 품질 점수를 획득하는 방법을 설명하기 위한 순서도이다.
도 18은 실시 예에 따라, 최종 품질 점수 획득 방법을 도시한 순서도이다.
도 19는 다른 실시 예에 따라, 비디오 품질 측정 방법을 도시한 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 개시의 실시 예를 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
본 개시에서 사용되는 용어는, 본 개시에서 언급되는 기능을 고려하여 현재 사용되는 일반적인 용어로 기재되었으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 다양한 다른 용어를 의미할 수 있다. 따라서 본 개시에서 사용되는 용어는 용어의 명칭만으로 해석되어서는 안되며, 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 해석되어야 한다.
또한, 본 개시에서 사용된 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것이며, 본 개시를 한정하려는 의도로 사용되는 것이 아니다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다.
본 명세서, 특히, 특허 청구 범위에서 사용된 “상기” 및 이와 유사한 지시어는 단수 및 복수 모두를 지시하는 것일 수 있다. 또한, 본 개시에 따른 방법을 설명하는 단계들의 순서를 명백하게 지정하는 기재가 없다면, 기재된 단계들은 적당한 순서로 행해질 수 있다. 기재된 단계들의 기재 순서에 따라 본 개시가 한정되는 것은 아니다.
본 명세서에서 다양한 곳에 등장하는 "일부 실시 예에서" 또는 "일 실시 예에서" 등의 어구는 반드시 모두 동일한 실시 예를 가리키는 것은 아니다.
본 개시의 일부 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단” 및 “구성”등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
또한, 명세서에서 “사용자”라는 용어는 비디오 품질 평가 장치를 이용하여 비디오 품질 평가 장치의 기능 또는 동작을 제어하는 인간을 의미하며, 시청자, 관리자 또는 설치 기사를 포함할 수 있다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
도 1은 실시 예에 따라, 비디오 품질 평가 장치(130)가 비디오 영상의 품질 점수를 생성하고, 영상 표시 장치(110)가 이에 따라 처리된 화질을 갖는 영상을 화면에 출력하는 것을 설명하기 위한 도면이다.
도 1을 참조하면, 영상 표시 장치(110)는 통신망(120)을 통해 비디오 품질 평가 장치(130)와 통신할 수 있다.
영상 표시 장치(110)는 영상을 처리하여 출력할 수 있는 전자 장치일 수 있다. 영상 표시 장치(110)는 고정형 또는 이동형일 수 있으며, 디지털 방송 수신이 가능한 디지털 TV일 수 있으나, 이에 한정되지 않으며, 디스플레이를 포함하는 다양한 형태의 전자 장치로 구현될 수 있다.
영상 표시 장치(110)는 데스크톱, 스마트 폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 화상 전화기, 전자 북 리더기(e-book reader), 랩톱 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), 디지털 카메라, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 캠코더, 네비게이션, 웨어러블 장치(wearable device), 스마트 와치(smart watch), 홈 네트워크 시스템, 보안 시스템, 의료 장치 중 적어도 하나를 포함할 수 있다.
영상 표시 장치(110)는 평면(flat) 디스플레이 장치 뿐만 아니라, 곡률을 가지는 화면인 곡면(curved) 디스플레이 장치 또는 곡률을 조정 가능한 가변형(flexible) 디스플레이 장치로 구현될 수 있다. 영상 표시 장치(110)의 출력 해상도는 예를 들어, HD(High Definition), Full HD, Ultra HD, 또는 Ultra HD 보다 더 선명한 해상도를 포함할 수 있다.
영상 표시 장치(110)는 비디오를 출력할 수 있다. 비디오는 복수의 프레임들로 구성될 수 있다. 비디오는, 컨텐트 프로바이더들(contents providers)이 제공하는 텔레비전 프로그램이나 VOD 서비스를 통한 각종 영화나 드라마 등의 아이템을 포함할 수 있다. 컨텐트 프로바이더는 소비자에게 비디오를 포함한 각종 컨텐츠를 제공하는 지상파 방송국이나 케이블 방송국, 또는 OTT 서비스 제공자, IPTV 서비스 제공자를 의미할 수 있다.
비디오는 캡쳐 된 후 압축되어 영상 표시 장치(110)로 전송되고, 영상 표시 장치(110)에 의해서 복원되어 출력된다. 비디오를 캡처하는데 사용되는 기기의 물리적 특성의 한계와 제한된 대역폭 등으로 인해 정보가 손실되면서 영상의 왜곡이 발생하게 된다. 왜곡된 비디오는 품질이 저하될 수 있다. 영상의 왜곡은 블러(blur)를 포함할 수 있다. 블러는 프레임에 포함된 오브젝트의 엣지 부분이 손실로 인해 흐릿해 보이는 것을 의미할 수 있다.
실시 예에서, 영상 표시 장치(110)는 비디오에 포함된 입력 프레임(140)을 화면을 통해 출력하기 전에, 입력 프레임(140)을 통신망(120)을 통해 비디오 품질 평가 장치(130)로 전송할 수 있다.
실시 예에서, 비디오 품질 평가 장치(130)는 통신망(120)을 통해 영상 표시 장치(110)로부터 복수의 프레임들을 포함하는 비디오를 수신하고, 비디오에 대한 품질 평가를 수행할 수 있다.
실시 예에서, 비디오 품질 평가 장치(130)는 비디오의 화질을 평가하는 컴퓨팅 장치일 수 있다.
실시 예에 따른 비디오 품질 평가 장치(130)는 무 기준 화질 평가 방식으로 비디오의 화질을 객관적으로 평가할 수 있다. 비디오 품질 평가 장치(130)는 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재되거나, 또는 칩 형태나 전자 장치 형태로 서버에 포함될 수 있다. 또는 비디오 품질 평가 장치(130)는 전자 장치나 서버에서 소프트웨어 모듈로 구현될 수도 있다.
비디오 품질 평가 장치(130)는 비디오를 입력 받고, 비디오에 포함된 복수의 프레임들 각각에 대해 블러 레벨을 추정할 수 있다.
도 1에서, 비디오 품질 평가 장치(130)는 영상 표시 장치(110)로부터 수신한 입력 프레임(140)을 복수개의 서브 영역들로 나누고, 각 서브 영역에 대해 주파수 도메인에서의 신호를 획득할 수 있다. 비디오 품질 평가 장치(130)는 주파수 도메인에서의 신호로부터 스펙트럴 엔벨롭(spectral envelope)을 획득할 수 있다. 비디오 품질 평가 장치(130)는 스펙트럴 엔벨롭으로부터 각 서브 영역의 블러 레벨을 추정할 수 있다. 이에 대해서는 도 2 및 도 3을 참조하여 상세히 설명하기로 한다.
비디오 품질 평가 장치(130)는 블러 레벨에 따라 프레임을 전체 블러 프레임과 부분 블러 프레임으로 식별할 수 있다.
전체 블러 프레임은 프레임 전반에 걸쳐 소정 기준치 이상의 블러가 소정 영역 이상에 포함된 프레임을 의미할 수 있다. 또한, 부분 블러 프레임은 프레임 중 일부에 블러가 포함된 프레임을 의미할 수 있다.
실시 예에서, 비디오 품질 평가 장치(130)는 프레임에 대한 스펙트럴 엔벨롭의 그래프 분포 특징을 획득할 수 있다.
실시 예에서, 비디오 품질 평가 장치(130)는 입력된 프레임이 전체 블러 프레임이라고 판단되면, 전체 블러 프레임에 포함된 서브 영역들의 스펙트럴 엔벨롭 분포 특징을 획득할 수 있다.
실시 예에서, 비디오 품질 평가 장치(130)는 입력된 프레임이 전체 블러 프레임이라고 판단되면, 전체 블러 프레임에 포함된 서브 영역들의 스펙트럴 엔벨롭 분포 특징을 분석하여, 전체 블러 프레임에 대한 분석 기반 품질 점수를 획득될 수 있다.
실시 예에서, 비디오 품질 평가 장치(130)는 입력된 프레임이 부분 블러 프레임이라고 판단되면, 인공지능(Artificial Intelligence, AI) 기술을 이용하여 부분 블러 프레임에 대한 모델 기반 특징을 획득할 수 있다.
실시 예에서, 비디오 품질 평가 장치(130)는 입력된 프레임이 부분 블러 프레임이라고 판단되면, 인공지능 기술을 이용하여 부분 블러 프레임에 대한 모델 기반 품질 점수를 획득될 수 있다.
AI 기술은 기계학습(딥 러닝) 및 기계 학습을 활용한 요소 기술들로 구성될 수 있다. AI 기술은 알고리즘을 활용하여 구현될 수 있다. 여기서, AI 기술을 구현하기 위한 알고리즘 또는 알고리즘의 집합을 신경망(Neural Network, 뉴럴 네트워크)이라 한다. 신경망은 입력 데이터를 입력 받고, 분석 및 분류를 위한 연산을 수행하여, 결과 데이터를 출력할 수 있다.
뉴럴 네트워크는 연산을 수행하는 내부의 계층이 복수 개일 수 있다. 뉴럴 네트워크는 각 계층들로부터 이미지의 특징을 나타내는 데이터들, 즉, 특징 맵(feature map)을 생성한다. 낮은 레이어에서는 입력된 이미지와 거의 동일한 특징 맵이 출력되게 되고, 레이어가 깊어질수록 픽셀 수준의 정보는 사라지게 되고 이미지가 가진 시맨틱 (semantic) 정보가 유지된 디테일(detail)한 특징이 출력되게 된다.
그러나, 프레임 전반에 걸쳐 블러 레벨이 높은 경우에는, 뉴럴 네트워크를 이용하여 프레임으로부터 획득된 특징 맵이 노이즈인 경우가 많다. 또한, 뉴럴 네트워크를 이용한 모델 기반으로 품질 점수를 획득하는 동작은 분석 기반 품질 점수 획득 방법에 비해 복잡하고 더 많은 연산 량을 필요로 한다.
이에 따라, 실시 예에서, 비디오 품질 평가 장치(130)는 입력된 프레임의 블러 레벨에 따라 서로 다른 방식으로 프레임의 품질을 평가할 수 있다. 즉, 비디오 품질 평가 장치(130)는 프레임이 전체 블러 프레임인 경우, 복잡한 모델 기반 방식이 아닌 간단한 분석 기반 방식으로 프레임의 품질을 평가하고, 프레임이 부분 블러 프레임인 경우, 적어도 하나의 뉴럴 네트워크를 이용한 모델 기반 방식으로 보다 정확하게 프레임의 품질을 평가할 수 있다.
비디오 품질 평가 장치(130)는 프레임에 대해 획득한 분석 기반 품질 점수 및/또는 모델 기반 품질 점수를 소정 시간 동안 누적하여 비디오에 대한 최종 품질 점수(150)를 획득할 수 있다. 비디오 품질 평가 장치(130)는 최종 품질 점수(150)를 통신망(120)을 통해 영상 표시 장치(110)로 전송할 수 있다.
다른 실시 예에서, 비디오 품질 평가 장치(130)는 입력된 프레임의 블러 레벨에 따라 서로 다른 특징으로부터 프레임의 품질을 평가할 수 있다. 즉, 비디오 품질 평가 장치(130)는 프레임이 전체 블러 프레임인 경우, 전체 블러 프레임으로부터 주파수 특징을 획득하고, 프레임이 부분 블러 프레임인 경우, 적어도 하나의 뉴럴 네트워크를 이용한 모델을 이용하여 모델 기반 특징을 획득할 수 있다. 비디오 품질 평가 장치(130)는 프레임 종류 별로 획득한 서로 다른 특징을 기반으로 각 프레임에 대해 보다 정확하게 프레임의 품질을 평가할 수 있다.
비디오 품질 평가 장치(130)는 프레임에 대해 획득한 주파수 특징 및/또는 모델 기반 특징을 소정 시간 동안 누적하고 이를 적어도 하나의 뉴럴 네트워크에 입력 시켜 비디오에 대한 최종 품질 점수(150)를 획득할 수 있다.
실시 예에서, 영상 표시 장치(110)는 최종 품질 점수(150)에 따라 비디오에 포함된 프레임들에 대해 화질 처리를 수행할 수 있다. 이와 같이 영상 표시 장치(110)는 최종 품질 점수(150)를 이용하여 프레임들에 대해 화질 처리를 수행함으로써 프레임들의 품질을 향상시킬 수 있다. 도 1에서, 영상 표시 장치(110)는 비디오 품질 평가 장치(130)로부터 획득한 최종 품질 점수(150)를 기반으로, 입력 프레임(140)의 해상도를 출력 프레임(160)과 같이 향상시킬 수 있다. 영상 표시 장치(110)는 출력 프레임(160)을 디스플레이를 통해 출력할 수 있다.
다른 실시 예에서, 비디오 품질 평가 장치(130)는 획득한 최종 품질 점수(150)를 영상 표시 장치(110)로 전송하는 대신, 최종 품질 점수(150)에 따라 비디오에 포함된 프레임에 대해 직접 화질 처리를 수행하고, 화질 처리된 출력 프레임(160)을 영상 표시 장치(110)로 전송할 수도 있다.
다른 실시 예에서, 비디오 품질 평가 장치(130)는 영상 표시 장치(110)와 분리된 형태가 아니고, 영상 표시 장치(110) 내부에 포함되어 상술한 바와 같은 기능을 수행할 수도 있다. 비디오 품질 평가 장치(130)는 적어도 하나의 하드웨어 칩 형태로 제작되거나 소프트웨어 모듈로 구현되나 또는 하드웨어와 소프트웨어가 결합된 형태로 구현되어 영상 표시 장치(110)에 탑재될 수 있다. 이 경우, 영상 표시 장치(110)는 입력된 프레임(140)을 화면에 출력하기 전에, 입력 프레임(140)이 포함된 비디오에 대한 품질 평가를 먼저 수행할 수 있다. 영상 표시 장치(110)는 품질 평가 점수에 따라 입력 프레임(140)의 왜곡을 조절하는 등의 화질 처리를 수행하고, 화질 처리된 출력 프레임(160)을 화면으로 출력할 수 있다.
이와 같이, 실시 예에 의하면, 비디오 품질 평가 장치(130)는 프레임의 블러 레벨을 이용하여, 프레임이 전체 블러 프레임인지 부분 블러 프레임인지를 식별하고, 그에 따라 서로 다른 방법을 이용하여 프레임의 품질을 평가할 수 있다.
실시 예에 의하면, 비디오 품질 평가 장치(130)는 프레임의 종류에 따라 프레임에서 서로 다른 특징을 획득하여 프레임의 품질을 평가할 수 있다.
실시 예에 의하면, 비디오 품질 평가 장치(130)는 비디오의 최종 품질 점수를 획득하고 이를 기반으로 비디오의 화질을 처리하여 영상 표시 장치(110)로 전송할 수 있다.
실시 예에 의하면, 비디오 품질 평가 장치(130)는 비디오의 최종 품질 점수를 획득하고 이를 영상 표시 장치(110)로 전송하고, 영상 표시 장치(110)는 비디오의 최종 품질 점수에 기반하여 비디오의 화질을 처리하여 출력할 수 있다.
도 2는 실시 예에 따라, 비디오 품질 평가 장치(130)가 입력 프레임으로부터 파워 스펙트럼 및 스펙트럴 엔벨롭을 획득하는 것을 설명하기 위한 도면이다.
비디오 품질 평가 장치(130)는, 입력된 프레임을 복수개의 서브 영역으로 나누고, 각 서브 영역 별로 FFT(Fast Fourier Transform)를 수행하여 도메인 변환을 수행할 수 있다. 비디오 품질 평가 장치(130)는 각 서브 영역 별로 주파수 도메인에서의 신호를 획득할 수 있다.
각 서브 영역의 이미지는 연속(continuous)이 아닌 이산(discrete) 신호이고, 한정된 유한(finite) 구간에서 정의되는 신호이다. 비디오 품질 평가 장치(130)는 각 서브 영역의 이미지에 대해 푸리에 변환을 수행하여 각 서브 영역의 이미지를 다양한 2차원 정현파들의 합으로 분해하여 표현할 수 있다. 즉, 서브 영역의 이미지가 W x H 크기를 갖는 신호 f(x, y)라고 가정하면, 비디오 품질 평가 장치(130)는 서브 영역의 이미지에 대해 이산 푸리에 변환(discrete Fourier transform)을 수행하여 주파수 도메인의 신호 F(u, v)를 획득할 수 있다. 여기서 F(u, v)는 x축 방향으로 주파수 u, y축 방향으로 주파수 v인 주기 함수 성분의 계수를 의미한다.
F(u, v)는 복소수(complex number)로 실수부(Real)와 허수부(Imaginary)로 구성된다. 비디오 품질 평가 장치(130)는 복소수 F(u, v)의 크기 |F(u, v)|로부터 파워 스펙트럼(power spectrum)을 획득할 수 있다. 파워 스펙트럼은 해당 주파수 성분이 원 이미지에 얼마나 강하게 포함되어 있는지를 나타낼 수 있다. 파워 스펙트럼은 저주파 영역은 매우 큰 값을 갖는 반면에 대부분의 다른 영역은 0에 가까운 값을 가지므로 파워 스펙트럼을 이미지로 표현할 때에는 스펙트럼에 log를 취하는 것이 일반적이다. 또한, 원래의 파워 스펙트럼 이미지는 모서리로 갈수록 값이 높아지기 때문에 스펙트럼의 형태를 파악하기 힘들기 때문에 원점이 중심(center)에 오도록 스펙트럼의 위치를 이동시킨(shift) 형태의 이미지를 파워 스펙트럼 이미지로 생성할 수 있다.
도 2의 좌측에는 두 개의 파워 스펙트럼(210, 220)이 도시되어 있다. 도 2의 상단에는 선명한 제1 영상에 대해 획득된 파워 스펙트럼(210)이 도시되어 있고, 도 2의 하단에는 제1 영상보다 선명도가 떨어지는 흐릿한 제2 영상에 대해 획득된 파워 스펙트럼(220)이 도시되어 있다.
제1 영상에 대해 획득된 파워 스펙트럼(210)과 제2 영상에 대해 획득된 파워 스펙트럼(220)은 서로 다른 형태를 가지고 있음을 알 수 있다. 즉, 제1 영상에 대해 획득된 파워 스펙트럼(210)은 전체 영역에서 파워 값이 급변하지 않고 매끄럽게 채워져 있는 반면, 제2 영상에 대해 획득된 파워 스펙트럼(220)은 중심을 기준으로 특정 영역에서 파워 성분이 집중되어 있음을 알 수 있다.
비디오 품질 평가 장치(130)는 파워 스펙트럼으로부터 스펙트럴 엔벨롭을 획득할 수 있다. 비디오 품질 평가 장치(130)는 파워 스펙트럼의 중심을 지나는 행 또는 열, 또는 파워 스펙트럼의 중심에서 소정 거리 이내에 위치한 행 또는 열을 하나 또는 복수 개 선택하고, 선택된 행 또는 열에 대해 스펙트럴 엔벨롭을 획득할 수 있다. 스펙트럴 엔벨롭은 파워 스펙트럼 값을 저주파로부터 고주파까지 연결한 선으로, 관심 영역의 주파수 특성을 표시한다.
도 2의 우측에는 파워 스펙트럼으로부터 획득한 스펙트럴 엔벨롭이 도시되어 있다. 도 2의 우측 그래프의 x축은 빈 인덱스(bin index) 값, y축은 신호의 절대값을 정규화한 후, log를 취하여 획득한 주파수를 나타낸다.
도 2의 우측에 그려진 두 개의 그래프 중 상단에 도시된 제1 스펙트럴 엔벨롭(211)은 제1 영상에 대한 파워 스펙트럼(210)으로부터 획득한 그래프이고, 하단에 도시된 제2 스펙트럴 엔벨롭(221)은 제2 영상에 대한 파워 스펙트럼(220)으로부터 획득한 그래프이다.
도시된 바와 같이, 제1 스펙트럴 엔벨롭(211)과 제2 스펙트럴 엔벨롭(221)은 그래프의 기울기가 다른 것을 알 수 있다. 즉, 제1 스펙트럴 엔벨롭(211) 그래프는 기울기가 완만한 반면, 제2 스펙트럴 엔벨롭(221)은 기울기가 평평한 구간과 급격히 변하는 구간을 포함하고 있다.
실시 예에서, 비디오 품질 평가 장치(130)는 스펙트럴 엔벨롭을 이용하여 각 서브 영역 이미지의 블러 레벨을 추정할 수 있다.
실시 예에서, 비디오 품질 평가 장치(130)는 통계적으로, 스펙트럴 엔벨롭의 기울기가 급격히 변하는 구간을 갖는 경우, 해당 이미지에 블러된 영역이 있다는 점에 착안하여, 스펙트럴 엔벨롭의 기울기를 이용하여 블러 레벨을 추정할 수 있다.
실시 예에서, 비디오 품질 평가 장치(130)는 제1 스펙트럴 엔벨롭(211)은 기울기가 급격히 변하는 지점이 없다는 점에서, 제1 영상의 블러 레벨이 0이라고 추정할 수 있다.
실시 예에서, 비디오 품질 평가 장치(130)는 제2 스펙트럴 엔벨롭(221)은 기울기가 소정 기준치 이상으로 급격히 변하는 지점이 있다는 점에서, 그 지점의 빈 인덱스 값(223)을 획득하고, 획득한 빈 인덱스 값(223)으로부터 제2 영상의 블러 레벨을 추정할 수 있다.
또는, 비디오 품질 평가 장치(130)는 제2 스펙트럴 엔벨롭(221)의 기울기가 급격히 변하는 구간에서의 그래프의 기울기 값에 따라 제2 영상의 블러 레벨을 추정할 수 있다.
또는, 비디오 품질 평가 장치(130)는 제2 스펙트럴 엔벨롭(221)의 기울기가 완만한 구간과 급격히 변하는 구간의 비율에 따라 블러 레벨을 추정할 수 있다.
이와 같이, 실시 예에서, 비디오 품질 평가 장치(130)는 입력된 프레임을 복수의 서브 영역으로 나누고, 각 서브 영역 별로 스펙트럴 엔벨롭을 획득하고, 스펙트럴 엔벨롭의 그래프 형태를 이용하여, 각 서브 영역의 블러 레벨을 추정할 수 있다.
도 3은 실시 예에 따라, 비디오 품질 평가 장치(130)가 입력 프레임으로부터 파워 스펙트럼 및 스펙트럴 엔벨롭을 획득하는 것을 설명하기 위한 도면이다.
도 3에서, 좌측은 제1 영상의 파워 스펙트럼(210)과 제3 영상의 파워 스펙트럼(230)을 각각 도시하고, 도 3의 우측 그래프는 파워 스펙트럼으로부터 획득한 스펙트럴 엔벨롭(211, 231)을 도시한다.
도 3의 좌측에 도시된 두 개의 파워 스펙트럼(210, 230) 중, 상단의 파워 스펙트럼(210)은 도 2에 도시된 바와 같이 선명한 제1 영상에 대해 획득된 파워 스펙트럼(210)을 나타내고, 하단에 도시된 파워 스펙트럼(230)은 제2 영상보다도 더 선명도가 떨어지는 제3 영상에 대해 획득된 파워 스펙트럼(230)을 나타낸다.
도 2와 마찬가지로, 제1 영상에 대해 획득된 파워 스펙트럼(210)과 제3 영상에 대해 획득된 파워 스펙트럼(230)은 서로 다른 형태를 가지고 있음을 알 수 있다. 제1 영상에 대해 획득된 파워 스펙트럼(210)은 전체 영역에서 파워 값이 급변하지 않고 매끄럽게 채워져 있는 반면, 제3 영상에 대해 획득된 파워 스펙트럼(230)은 중심을 기준으로 특정 영역에서 파워 성분이 집중되어 있음을 알 수 있다. 또한, 제3 영상에 대해 획득된 파워 스펙트럼(230)은 도 2에 도시된, 제2 영상에 대해 획득된 파워 스펙트럼(220)보다 중심을 기준으로 파워 스펙트럼의 집중도가 더 크다는 것을 알 수 있다. 파워 스펙트럼의 집중도가 크다는 것은 이미지에 걸쳐 파워 값이 급변하는 것을 의미할 수 있다.
도 3의 우측에는 스펙트럴 엔벨롭(211, 231)이 도시되어 있다. 도 3의 우측 그래프 또한 x축은 빈 인덱스(bin index) 값, y축은 주파수를 나타낸다. 도 3의 우측에 도시된 그래프 중 하나는 제1 영상의 파워 스펙트럼(210)으로부터 획득한 제1 스펙트럴 엔벨롭(211)이고 또 하나는 제3 영상의 파워 스펙트럼(230)으로부터 획득한 제3 스펙트럴 엔벨롭(231)이다. 제1 스펙트럴 엔벨롭(211)의 그래프는 기울기가 완만한 반면, 제3 스펙트럴 엔벨롭(231)은 기울기가 평평한 구간과 급격히 변하는 구간을 포함하고 있음을 알 수 있다. 또한, 제3 스펙트럴 엔벨롭(231)은 제1 스펙트럴 엔벨롭(211)에 비하여 그래프의 기울기가 매우 가파르게 변하며, 도 2에 도시된 제2 스펙트럴 엔벨롭(221)보다도 기울기가 더 급변하는 것을 알 수 있다.
실시 예에서, 비디오 품질 평가 장치(130)는 스펙트럴 엔벨롭의 기울기가 가파른 정도를 이용하여 각 서브 영역 이미지의 블러 레벨을 추정할 수 있다. 비디오 품질 평가 장치(130)는 스펙트럴 엔벨롭의 기울기의 가파른 정도가 클수록, 해당 이미지의 블러 레벨이 크다고 판단할 수 있다.
실시 예에서, 비디오 품질 평가 장치(130)는 스펙트럴 엔벨롭의 기울기가 급변하기 시작하는 지점의 빈 인덱스 값(233)을 획득하고, 획득한 빈 인덱스 값으로부터 블러 레벨을 추정할 수 있다. 예컨대, 비디오 품질 평가 장치(130)는 스펙트럴 엔벨롭의 기울기가 급격히 변하기 시작하는 지점의 빈 인덱스 값이 클수록, 해당 이미지의 블러 레벨이 크다고 판단할 수 있다. 비디오 품질 평가 장치(130)는 도 2에 도시된 제2 스펙트럴 엔벨롭(231)의 기울기가 급격히 변하는 지점의 빈 인덱스 값(223)보다, 도 3에 도시된 제3 스펙트럴 엔벨롭(221)의 기울기가 급격히 변하는 지점의 빈 인덱스 값(233)이 더 크다는 것을 이용하여, 제3 영상이 제2 영상보다 블러 레벨이 더 크다고 판단할 수 있다.
이와 같이, 비디오 품질 평가 장치(130)는 주파수 도메인에서 스펙트럴 엔벨롭을 이용하여 블러 레벨을 추정할 수 있다. 비디오 품질 평가 장치(130)는 스펙트럴 엔벨롭의 기울기 값이나, 기울기가 완만한 구간과 급격히 변하는 구간의 비율을 이용하거나, 또는 기울기가 급격히 변하기 시작하는 지점에서의 빈 인덱스 값 등을 이용하여 이미지의 블러 레벨을 추정할 수 있다.
또한, 비디오 품질 평가 장치(130)는 주파수 도메인에서 규칙이나 통계를 기반으로 이미지의 블러 레벨을 계산한다는 점에서 적은 연산 량을 가지고 빠른 속도로, 이미지의 블러 레벨을 추정할 수 있다.
도 4는 실시 예에 따라 비디오 품질 평가 장치(130)가 전체 블러 프레임과 부분 블러 프레임을 식별하는 것을 설명하기 위한 도면이다.
도 4를 참조하면, 비디오 품질 평가 장치(130)는 비디오에 포함된 복수의 프레임들을 입력 받고, 각 프레임을 복수의 서브 영역들로 나눌 수 있다.
각 서브 영역은 소정 개수의 픽셀들을 포함하는 영역일 수 있다. 서브 영역의 수나 사이즈는 사용자 또는 비디오 품질 평가 장치(130)에 의해 미리 설정되어 있거나, 사용자 또는 비디오 품질 평가 장치(130)에 의해 프레임에 맞게 변경될 수 있다. 사용자 또는 영상 표시 장치(200)는 프레임 별로 서브 영역의 수나 서브 영역의 사이즈를 조절하여 프레임이 더 촘촘하게 나뉘도록 하거나 또는 반대로 더 굵직하게 나뉘도록 설정할 수 있다.
비디오 품질 평가 장치(130)는 복수개의 서브 영역 각각에 대해 블러 레벨을 추정할 수 있다. 비디오 품질 평가 장치(130)는 추정된 각 서브 영역의 블러 레벨에 기반하여 프레임의 종류를 식별할 수 있다.
실시 예에서, 비디오 품질 평가 장치(130)는 각 서브 영역의 블러 레벨의 값이 소정 값 이상인 서브 영역의 개수가 소정 개수 이하인 경우에는 해당 프레임에 블러가 없다고 판단할 수 있다. 이 경우, 비디오 품질 평가 장치(130)는 해당 프레임에 대해 품질 점수를 높게 평가할 수 있다.
실시 예에서, 비디오 품질 평가 장치(130)는 각 서브 영역의 블러 레벨의 값이 소정 값 이상인 서브 영역의 개수가 소정 개수를 초과하는 경우에는 해당 프레임이 전체 블러 프레임인지, 부분 블러 프레임인지를 식별할 수 있다.
실시 예에서, 전체 블러 프레임은 프레임 전반에 걸쳐 소정 기준치 이상의 블러가 포함된 프레임을 의미할 수 있다. 비디오 품질 평가 장치(130)는 프레임에 포함된 복수의 서브 영역들 중 소정 개수 이상의 서브 영역들이 소정 기준치 이상의 블러 레벨을 갖는 프레임을 전체 블러 프레임으로 식별할 수 있다.
부분 블러 프레임은 프레임에 포함된 복수의 서브 영역들 중 소정 개수 이하의 서브 영역만 소정 기준치 이상의 블러 레벨을 갖는 프레임을 의미할 수 있다.
도 4에서 비디오 품질 평가 장치(130)는 제1 프레임(410)이 입력되면, 제1 프레임(410)을 소정 개수, 예컨대 아홉 개의 서브 영역으로 분할하고, 각 서브 영역 별로 블러 레벨을 추정할 수 있다. 도 4에서 제1 프레임(410) 하단의 제1 테이블(410)은 설명의 편의를 위한 것으로, 비디오 품질 평가 장치(130)가 제1 프레임(410)의 서브 영역 별로 획득한 블러 레벨을 각 서브 영역 위에 표시한 것이다.
비디오 품질 평가 장치(130)는 각 서브 영역의 블러 레벨의 값이 소정 기준치를 넘는 서브 영역의 개수를 식별할 수 있다. 예컨대, 비디오 품질 평가 장치(130)는 블러 레벨이 소정 값, 예컨대, 0.3 이상인 서브 영역을 식별할 수 있다. 비디오 품질 평가 장치(130)는 블러 레벨이 0.3 이상인 서브 영역의 개수가 소정 개수, 예컨대, 전체 서브 영역 개수의 80%를 넘는 것에 상응하여, 제1 프레임(410)을 전체 블러 프레임으로 식별할 수 있다.
유사하게, 비디오 품질 평가 장치(130)는 제2 프레임(420)이 입력되면, 제2 프레임(420)을 서브 영역으로 분할하고, 각 서브 영역 별로 블러 레벨을 추정할 수 있다. 비디오 품질 평가 장치(130)는 각 서브 영역의 블러 레벨의 값이 소정 값, 예컨대 0.3 이상인 서브 영역의 개수를 식별할 수 있다. 비디오 품질 평가 장치(130)는 블러 레벨의 값이 0.3 이상인 서브 영역의 개수가 전체 서브 영역 개수의 소정 퍼센트, 예컨대 30%를 넘고 80%를 넘지 않는 것에 상응하여, 제2 프레임(421)을 부분 블러 프레임으로 식별할 수 있다.
이와 같이, 실시 예에 의하면, 비디오 품질 평가 장치(130)는 입력 프레임에 포함된 복수의 서브 영역들의 블러 레벨에 기반하여, 입력 프레임이 블러가 없는 프레임인지, 전체 블러 프레임인지, 또는 부분 블러 프레임인지를 식별할 수 있다.
도 5는 실시 예에 따라, 프레임에 포함된 서브 영역 별로 중요도 정보를 획득하는 것을 설명하기 위한 도면이다.
실시 예에서, 비디오 품질 평가 장치(130)는 프레임 전체에 대해 획일적으로 품질을 평가하는 것이 아니고, 프레임의 각 서브 영역 별 특징을 이용하여 전체 프레임에 대한 품질을 평가할 수 있다. 즉, 비디오 품질 평가 장치(130)는, 각 서브 영역이 갖는 특징을 반영하여 보다 정확히 프레임의 품질을 평가할 수 있다. 이를 위해, 실시 예에서, 비디오 품질 평가 장치(130)는 프레임의 각 서브 영역 별로 중요도 정보를 획득할 수 있다.
중요도 정보는 품질 점수에 영향을 줄 수 있는 요인과 관련된 정보로, 프레임 전체로부터 획득되거나 또는 프레임에 포함된 각 서브 영역으로부터 획득되거나, 또는 프레임 전체 및 서브 영역을 함께 고려하여 획득될 수 있다.
일반적으로 인간은 영상에서 블러를 인식할 때, 블러 레벨이 동일한 경우라도 모든 영상에서 블러를 동일하게 인식하는 것이 아니고, 각 영상의 다양한 요소들에 따라 블러의 정도를 다르게 인식하는 경향이 있다. 실시 예에서 비디오 품질 평가 장치(130)는 블러를 인식하는 데 영향을 주는 요소를 중요도 정보로 고려할 수 있다.
중요도 정보는 프레임에서 블러가 있는 오브젝트가 전경인지, 또는 배경인지에 대한 정보를 포함할 수 있다.
도 5를 참조하면, 도 5의 좌측 프레임(510)은 숲이 배경(background)을 이루며 영상의 뒤편에 위치하고 자전거를 탄 인간은 전경(foreground)을 이루며 영상의 앞쪽에 위치하고 있다. 배경인 숲은 블러 정도가 크고 전경인 자전거를 탄 인간은 블러 정도가 낮다.
도 5의 우측 프레임(520)은 숲이 배경을 이루며 영상의 뒤편에 위치하고 움직이는 인간들이 전경을 이루며 영상의 앞쪽에 위치하고 있다. 좌측 프레임(510)과 달리 우측 프레임(520)에서 배경인 숲은 블러 정도가 낮고 움직이는 인간들은 블러 정도가 크다는 것을 알 수 있다.
인간은 전경에 있는 오브젝트의 블러 정도를 후경에 있는 오브젝트의 블러 정도보다 크게 인식하는 경향이 있다. 즉, 도 5에서, 인간은 전경의 오브젝트의 블러 정도가 큰 우측 프레임(520)이, 후경의 오브젝트의 블러 정도가 큰 좌측 프레임(510)보다 더 왜곡되었다고 인식하게 된다.
실시 예에서, 비디오 품질 평가 장치(130)는 전경에 대해서는 중요도 정보를 더 크게 부여하고, 후경에 대해서는 중요도 정보를 더 낮게 부여함으로써, 서브 영역 별로 다른 특성을 고려할 수 있다.
도 6은 실시 예에 따라, 프레임에 포함된 서브 영역 별로 획득되는 중요도 정보를 설명하기 위한 도면이다.
인간은 영상의 다양한 요소들에 따라 블러의 정도를 다르게 인식하는 데, 그 요소는 프레임이 속한 장르에 대한 정보를 포함할 수 있다. 즉, 인간은 그 프레임이 속한 장르가 무엇인지에 따라 블러의 정도를 다르게 인식하는 경향이 있다.
도 6을 참조하면, 좌측 프레임(610)은 움직임이 많고 그 움직임에 집중을 요하는 영상을 도시한 것으로, 예컨대 스포츠 장르 등이 이에 해당될 수 있다. 우측 프레임(620)은 움직임이 별로 없고, 움직임에 큰 의미가 부여되지 않는 영상을 도시한 것으로, 예컨대 드라마나 강연 등의 장르가 이에 해당될 수 있다. 인간은 움직임이 별로 없는 우측 프레임(620)에서보다 움직임이 많고 그 움직임에 집중을 요하는 좌측 프레임(610)에서 블러를 더 크게 인식하게 된다. 인간의 이러한 인식은 품질 점수에 영향을 줄 수 있다.
또한, 인간은 프레임에서의 오브젝트의 위치에 따라 블러를 인식하는 정도가 다를 수 있다. 예컨대, 인간은 비디오를 볼 때 화면의 중앙 부분을 가장자리 부분보다 더 많이 보는 경향이 있으므로, 중앙 부분에 블러가 있는 프레임과 가장자리 부분에 블러가 있는 프레임에서 블러의 정도를 다르게 인식하게 된다.
또한, 인간은 프레임에 포함된 오브젝트의 시맨틱(semantic) 정보를 고려하여 영상을 보는 경향이 있다. 이는 해당 프레임에 포함된 오브젝트가 무엇인지에 따라, 즉, 그 오브젝트가 프레임에서 갖는 의미에 따라 오브젝트의 블러를 인식하는 정도가 달라질 수 있음을 의미한다. 예컨대, 비디오가 도 6의 좌측 프레임(610)과 같은 스포츠 경기에 대한 영상인 경우, 프레임에 포함된 오브젝트가 스포츠 선수인지 또는 관객 인지에 따라 비디오를 시청하는 인간이 인식하는 중요도 정보는 달라질 수 있다. 즉, 인간은 관객 얼굴에 블러가 포함된 프레임보다 스포츠 선수의 얼굴에 블러가 포함된 프레임에서 블러를 더 크게 인식하게 된다.
이와 같이, 품질 점수에 영향을 줄 수 있는 요인과 관련된 중요도 정보는 프레임에 포함된 오브젝트가 전경인지 배경인지에 대한 정보, 그 프레임이 속한 장르에 대한 정보, 시맨틱 정보, 위치 정보 중 적어도 하나를 포함할 수 있다.
이와 같이, 실시 예에 따른 비디오 품질 평가 장치(130)는 인간이 블러를 인식하는 지각 특성을 반영하여 프레임의 품질을 보다 정확히 평가할 수 있다.
또한, 실시 예에 따른 비디오 품질 평가 장치(130)는 프레임 전체에 대해 획일적으로 품질을 평가하지 않고, 서브 영역 별로 중요도 정보를 획득하고 이를 품질 평가에 이용함으로써, 서브 영역 별 특성을 고려하여 프레임의 품질을 평가할 수 있다.
도 7은 실시 예에 따른 컴퓨팅 장치(700)의 내부 블록도이다.
도 7을 참조하면, 컴퓨팅 장치(700)는 프로세서(710) 및 메모리(720)를 포함할 수 있다. 도 7의 컴퓨팅 장치(700)는 도 1에 도시된 비디오 품질 평가 장치(130)의 일 예일 수 있다.
실시 예에 따른 메모리(720)는, 적어도 하나의 인스트럭션을 저장할 수 있다. 메모리(720)는 프로세서(710)가 실행하는 적어도 하나의 프로그램을 저장하고 있을 수 있다. 메모리(720)에는 적어도 하나의 뉴럴 네트워크 및/또는 기 정의된 동작 규칙이나 AI 모델이 저장될 수 있다. 또한 메모리(720)는 컴퓨팅 장치(700)로 입력되거나 컴퓨팅 장치(700)로부터 출력되는 데이터를 저장할 수 있다.
메모리(720)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
프로세서(710)는 컴퓨팅 장치(700)의 전반적인 동작을 제어한다. 프로세서(710)는 메모리(720)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 컴퓨팅 장치(700)가 기능하도록 제어할 수 있다.
실시 예에서, 프로세서(710)는 입력된 비디오에 포함된 각 프레임을 복수의 서브 영역들로 나누고, 각 서브 영역에 대해 스펙트럴 엔벨롭을 획득할 수 있다. 프로세서(710)는 스펙트럴 엔벨롭을 이용하여 서브 영역 별로 블러 레벨을 추정하고, 이에 기반하여 프레임이 블러가 없는 프레임인지, 전체 블러 프레임인지, 또는 부분 블러 프레임인지를 식별할 수 있다.
실시 예에서, 프로세서(710)는 각 서브 영역 별로 획득된 스펙트럴 엔벨롭으로부터 스펙트럴 엔벨롭 분포 특징을 획득할 수 있다. 스펙트럴 엔벨롭 분포 특징은 스펙트럴 엔벨롭 그래프의 분포에 대한 통계적 속성일 수 있다.
실시 예에서, 분석 기반 품질 점수는 프레임의 주파수 특성에 대한 통계학적 속성을 반영한 점수일 수 있다.
실시 예에서, 프로세서(710)는 프레임이 전체 블러 프레임이라고 판단되면, 전체 블러 프레임에 포함된 복수개의 서브 영역 각각에 대해 획득한 스펙트럴 엔벨롭 분포 특징을 분석하여, 전체 블러 프레임에 대한 분석 기반 품질 점수를 획득할 수 있다.
실시 예에서, 프로세서(710)는 입력된 프레임이 부분 블러 프레임이라고 판단되면, 부분 블러 프레임에 대한 모델 기반 품질 점수를 획득할 수 있다.
실시 예에서, 모델 기반 품질 점수는 적어도 하나의 뉴럴 네트워크를 이용하여 부분 블러 프레임에 대해 획득되는 품질 점수를 의미할 수 있다.
모델 기반 품질 점수를 획득하기 위해 프로세서(710)는 적어도 하나의 뉴럴 네트워크를 이용할 수 있다.
뉴럴 네트워크, 즉, 신경망은 데이터를 입력 받고, 분석 및 분류를 위한 연산을 수행하여, 결과 데이터를 출력할 수 있다. 이와 같이 신경망이 입력 데이터에 대응되는 결과 데이터를 정확하게 출력하기 위해서는, 신경망을 트레이닝 시킬 필요가 있다. 여기서,‘트레이닝(training)’은 신경망으로 다양한 데이터들을 입력시키고, 입력된 데이터들을 분석하는 방법, 입력된 데이터들을 분류하는 방법, 및/또는 입력된 데이터들에서 결과 데이터 생성에 필요한 특징을 추출하는 방법 등을 신경망이 스스로 발견 또는 터득할 수 있도록 신경망을 훈련시키는 것을 의미할 수 있다. 신경망을 훈련시킨다는 것은 다수의 학습 데이터들에 학습 알고리즘을 적용함으로써, 원하는 특성의 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 실시 예에서 인공지능이 수행되는 컴퓨팅 장치(700) 자체에서 이루어질 수도 있고, 별도의 서버/시스템을 통해 이루어 질 수도 있다.
여기서, 학습 알고리즘은, 다수의 학습 데이터들을 이용하여 소정의 대상 기기(예컨대, 로봇)를 훈련시켜 소정의 대상 기기 스스로 결정을 내리거나 예측을 할 수 있도록 하는 방법이다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으며, 실시 예에서의 학습 알고리즘은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
신경망을 통하여 입력 데이터에 대응되는 출력 데이터를 출력하도록 하는 알고리즘의 집합, 알고리즘의 집합을 실행하는 소프트웨어 및/또는 알고리즘의 집합을 실행하는 하드웨어를 ‘AI 모델’(또는, ‘인공지능 모델’)이라 칭할 수 있다.
프로세서(710)는, 기 정의된 동작 규칙 또는 AI 모델에 따라, 입력 데이터를 처리할 수 있다. 기 정의된 동작 규칙 또는 AI 모델은 특정한 알고리즘을 이용하여 만들어진 것일 수 있다. 또한 AI 모델은 특정한 알고리즘이 학습된 것일 수 있다. 프로세서(710)는 AI 모델을 통하여 입력 데이터에 대응되는 출력 데이터를 생성할 수 있다.
프로세서(710)는 AI 모델을 적어도 하나 저장하고 있을 수 있다. 프로세서(710)는 복수 개의 AI 모델들을 이용하여 입력 영상으로부터 출력 데이터를 생성할 수 있다.
실시 예에서, 프로세서(710)는 적어도 하나의 뉴럴 네트워크를 이용하여 부분 블러 프레임으로부터 중요도 정보를 획득할 수 있다.
실시 예에서, 프로세서(710)는 중요도 정보와 서브 영역 별 주파수 특성인 스펙트럴 엔벨롭 분포 특징을 함께 이용하여 서브 영역 별로 가중치를 계산할 수 있다. 가중치는 품질 평가에 있어 각 서브 영역이 갖는 특성을 나타낼 수 있다.
프로세서(710)는 각 서브 영역 별 가중치를 이용하여 부분 블러 프레임 전체에 대한 가중치 매트릭스를 생성할 수 있다.
실시 예에서, 프로세서(710)는 적어도 하나의 뉴럴 네트워크를 이용하여 가중치 매트릭스 및 부분 블러 프레임으로부터, 부분 블러 프레임에 대한 모델 기반 품질 점수를 획득할 수 있다.
이와 같이, 실시 예에서, 프로세서(710)는 전체 블러 프레임에 대해서는 주파수 특징을 분석하여 전체 블러 프레임에 대한 분석 기반 품질 점수를 획득하고, 부분 블러 프레임에 대해서는 적어도 하나의 뉴럴 네트워크를 이용하여 모델 기반 품질 점수를 획득할 수 있다.
도 8은 실시 예에 따라, 도 7의 프로세서(710)의 구성을 보다 자세히 설명하기 위한 블록도이다.
도 8을 참조하면, 프로세서(710)는 수행하는 기능에 따라, 식별부(810), 분석 기반 품질 점수 획득부(820) 및 모델 기반 품질 점수 획득부(830)를 포함할 수 있다.
식별부(810)는 입력된 프레임을 서브 영역으로 나누고, 각 서브 영역을 주파수 도메인의 신호로 변환할 수 있다. 식별부(810)는 주파수 도메인의 신호로부터 파워 스펙트럼을 획득하고, 파워 스펙트럼으로부터 스펙트럴 엔벨롭을 획득할 수 있다.
식별부(810)는 스펙트럴 엔벨롭을 이용하여 서브 영역 별로 블러 레벨을 추정할 수 있다. 식별부(810)는 블러 레벨이 소정 기준치를 만족하는 서브 영역의 개수에 따라, 입력된 프레임이 블러가 없는 프레임인지, 부분 블러 프레임인지, 또는 전체 블러 프레임인지를 식별할 수 있다.
또한, 식별부(810)는 입력된 프레임의 서브 영역 별 스펙트럴 엔벨롭으로부터, 스펙트럴 엔벨롭 그래프의 통계적 속성을 나타내는 스펙트럴 엔벨롭 분포 특징을 획득할 수 있다.
식별부(810)에 의해 식별된 프레임이 전체 블러 프레임인 경우, 전체 블러 프레임은 분석 기반 품질 점수 획득부(820)로 입력된다.
분석 기반 품질 점수 획득부(820)는 식별부(810)로부터 전체 블러 프레임의 스펙트럴 엔벨롭 분포 특징을 받아 이를 분석할 수 있다. 분석 기반 품질 점수 획득부(820)는 스펙트럴 엔벨롭 분포 특징을 분석하여 전체 블러 프레임에 대한 품질 점수를 획득할 수 있다.
식별부(810)에 의해 식별된 프레임이 부분 블러 프레임인 경우, 부분 블러 프레임은 모델 기반 품질 점수 획득부(830)로 입력된다.
모델 기반 품질 점수 획득부(830)는 입력된 부분 블러 프레임으로부터 모델 기반 품질 점수를 획득할 수 있다.
모델 기반 품질 점수 획득부(830)는 적어도 하나의 뉴럴 네트워크를 이용하여 부분 블러 프레임에 포함된 서브 영역 별로 중요도 정보를 획득할 수 있다. 모델 기반 품질 점수 획득부(830)는 식별부(810)에 의해 획득된, 부분 프레임의 서브 영역 별 스펙트럴 엔벨롭 분포 특징과, 뉴럴 네트워크를 이용하여 획득한 부분 프레임의 서브 영역 별 중요도 정보를 이용하여, 서브 영역 별로 가중치를 구할 수 있다. 모델 기반 품질 점수 획득부(830)는 각 서브 영역 별 가중치를 이용하여 부분 프레임 전체에 대한 가중치 매트릭스를 생성할 수 있다.
모델 기반 품질 점수 획득부(830)는 적어도 하나의 뉴럴 네트워크를 이용하여 가중치 매트릭스와 부분 블러 프레임으로부터, 부분 블러 프레임의 최종 점수를 획득할 수 있다. 즉, 모델 기반 품질 점수 획득부(830)는 적어도 하나의 뉴럴 네트워크를 이용하여 부분 블러 프레임으로부터 특징 벡터를 획득하고 특징 벡터와 가중치 매트릭스를 함께 고려하여, 가중치가 부여된 특징을 획득할 수 있다. 모델 기반 품질 점수 획득부(830)는 가중치가 부여된 특징으로부터 부분 블러 프레임 전체에 대한 품질 평가 점수를 획득할 수 있다.
분석 기반 품질 점수 획득부(820)가 획득한 전체 블러 프레임에 대한 품질 점수와 모델 기반 품질 점수 획득부(830)가 획득한 부분 블러 프레임에 대한 품질 점수는, 프레임 단위로 품질을 복원하거나 프로세싱이 필요한 경우, 사용될 수 있다.
실시 예에서, 프로세서(710)는 분석 기반 품질 점수와 모델 기반 품질 점수 중 적어도 하나를 이용하여 프레임이 포함된 비디오의 화질을 처리할 수 있다.
프로세서(710)는 프레임 별로 획득한 점수를 이용하여, 각 프레임 별로 화질을 처리할 수 있다. 또는 프로세서(710)는 프레임 별로 획득한 점수를 영상 표시 장치(110)로 전송하여 영상 표시 장치(110)가 각 프레임 별로 화질을 처리하도록 할 수 있다.
도 9는 실시 예에 따라, 도 7의 프로세서(710)의 구성을 보다 자세히 설명하기 위한 블록도이다. 도 9의 프로세서(710)는 도 8의 프로세서(710)에 포함된 식별부(810), 분석 기반 품질 점수 획득부(820) 및 모델 기반 품질 점수 획득부(830)를 포함할 수 있다. 이하, 도 8에서 설명한 내용과 중복되는 부분에 대한 설명은 생략하기로 한다.
도 9를 참조하면, 식별부(810)는 스펙트럴 엔벨롭 획득부(911) 및 스펙트럴 엔벨롭 분포 특징 획득부(913)를 포함할 수 있다.
스펙트럴 엔벨롭 획득부(911)는 입력된 프레임을 서브 영역으로 나누고, 각 서브 영역에 대해 푸리에 변환을 수행하여 주파수 도메인에서의 신호를 획득할 수 있다. 스펙트럴 엔벨롭 획득부(911)는 주파수 도메인에서의 신호에 대한 파워 스펙트럼을 획득하고 이로부터 스펙트럴 엔벨롭을 획득할 수 있다.
스펙트럴 엔벨롭 획득부(911)는 스펙트럴 엔벨롭의 기울기 값을 이용하여 서브 영역 별로 블러 레벨을 추정할 수 있다. 또는 스펙트럴 엔벨롭 획득부(911)는 스펙트럴 엔벨롭의 기울기가 완만한 구간과 급격히 변하는 구간의 비율에 따라 블러 레벨을 추정할 수 있다. 또는 스펙트럴 엔벨롭 획득부(911)는 스펙트럴 엔벨롭의 기울기가 급격히 변하는 지점의 빈 인덱스 값으로부터 블러 레벨을 추정할 수 있다.
스펙트럴 엔벨롭 분포 특징 획득부(913)는 스펙트럴 엔벨롭 획득부(911)가 획득한 서브 영역 별 스펙트럴 엔벨롭으로부터 스펙트럴 엔벨롭 분포 특징을 획득할 수 있다.
스펙트럴 엔벨롭 분포 특징은 스펙트럴 엔벨롭 그래프의 분포에 대한 통계적 속성을 나타내는 것으로, 그래프 분포에 대한 통계적 속성은, 최빈값(mode), 중앙값(median), 산술 평균(arithmetic mean), 조화 평균(harmonic mean), 기하 평균(geometric mean), 최솟값(global minimum), 최댓값(global maximum), 범위(range), 분산(variance) 편차 (deviation) 중 적어도 하나를 포함할 수 있다.
스펙트럴 엔벨롭 분포 특징 획득부(913)는 프레임이 전체 블러 프레임인 경우와 부분 블러 프레임인 경우 모두, 각 프레임에 대해 스펙트럴 엔벨롭 분포 특징을 획득할 수 있다.
스펙트럴 엔벨롭 분포 특징 획득부(913)는 전체 블러 프레임의 스펙트럴 엔벨롭 분포 특징을 획득하고 이를 분석 기반 품질 점수 획득부(820)로 보낸다. 또한, 스펙트럴 엔벨롭 분포 특징 획득부(913)는 부분 블러 프레임의 스펙트럴 엔벨롭 분포 특징을 획득하고 이를 모델 기반 품질 점수 획득부(830)로 보낸다.
분석 기반 품질 점수 획득부(820)는 스펙트럴 엔벨롭 분포 특징 획득부(913)로부터 전체 블러 프레임에 포함된 각 서브 영역 별로 획득된 스펙트럴 엔벨롭 분포 특징을 받아, 이를 분석할 수 있다. 전체 블러 프레임에 대한 스펙트럴 엔벨롭 분포 특징은, 전체 블러 프레임에 포함된 각 서브 영역 별로 획득된 스펙트럴 엔벨롭 그래프에 대한 통계적 속성일 수 있다.
분석 기반 품질 점수 획득부(820)는 스펙트럴 엔벨롭 그래프에 대한 통계적 속성을 분석하고 이로부터 전체 블러 프레임에 대한 품질 점수를 획득할 수 있다.
모델 기반 품질 점수 획득부(830)는 제1 뉴럴 네트워크(931), 가중치 매트릭스 생성부(933) 및 제2 뉴럴 네트워크(935)를 포함할 수 있다.
실시 예에서, 제1 뉴럴 네트워크(931)는 입력 데이터를 분석 및 분류하여 입력된 데이터로부터 비디오 품질 평가에 영향을 미치는 특징인 중요도 정보를 추출하도록 학습된 모델일 수 있다.
제1 뉴럴 네트워크(931)는 입력 데이터에서 특징을 추출하는 알고리즘, 또는 알고리즘의 집합, 알고리즘의 집합을 실행하는 소프트웨어 및/또는 알고리즘의 집합을 실행하는 하드웨어일 수 있다.
제1 뉴럴 네트워크(931)는 2개 이상의 히든 레이어들을 포함하는 딥 뉴럴 네트워크(DNN)일 수 있다. 제1 뉴럴 네트워크(931)는 입력된 데이터가 히든 레이어들을 통과하여 처리됨으로써, 처리된 데이터가 출력되는 구조를 포함할 수 있다. 제1 뉴럴 네트워크(931)의 각 레이어들은 적어도 하나의 노드로 표현되고, 계층 간 노드들은 엣지로 연결되어 있다.
제1 뉴럴 네트워크(931)는 입력된 부분 블러 프레임으로부터 프레임에 포함된 서브 영역 별로 중요도 정보를 획득할 수 있다.
중요도 정보는 프레임에 포함된 오브젝트가 전경인지 배경인지에 대한 정보, 그 프레임이 속한 장르가 무엇인지에 대한 정보, 시맨틱 정보, 그 서브 영역의 위치 정보 중 적어도 하나를 포함할 수 있다.
제1 뉴럴 네트워크는 부분 블러 프레임 전체로부터 또는 각 서브 영역으로부터, 또는 부분 블러 프레임 전체와 서브 영역을 함께 고려하여 중요도 정보를 획득할 수 있다. 예컨대, 제1 뉴럴 네트워크(931)는 부분 블러 프레임 전체로부터, 그 프레임이 속한 장르에 대한 정보를 획득할 수 있다. 또는, 제1 뉴럴 네트워크(931)는 프레임에 포함된 각 서브 영역 별로, 그 위치를 나타내는 좌표 값을 획득할 수 있다. 또는, 제1 뉴럴 네트워크(931)는 프레임 전체 및 서브 영역을 함께 고려하여, 프레임에 포함된 오브젝트의 시맨틱 정보를 획득할 수 있다.
가중치 매트릭스 생성부(933) 제1 뉴럴 네트워크(931)로부터 중요도 정보를 입력 받고, 스펙트럴 엔벨롭 분포 특징 획득부(913)로부터 부분 블러 프레임의 스펙트럴 엔벨롭 분포 특징을 입력 받는다.
가중치 매트릭스 생성부(933)는 서브 영역 별 중요도 정보 및 스펙트럴 엔벨롭 분포 특징을 이용하여, 서브 영역 별로 가중치를 구할 수 있다. 일 실시 예로, 가중치 매트릭스 생성부(933)는 중요도 정보와 스펙트럴 엔벨롭 분포 특징을 곱하여 서브 영역 별 가중치를 획득할 수 있다.
가중치는 각 서브 영역 별 특성을 나타내는 정보일 수 있다. 중요도 정보 및 스펙트럴 엔벨롭 분포 특징 모두 프레임의 콘텐트(content)로부터 획득된다는 점에서, 중요도 정보와 스펙트럴 엔벨롭 분포 특징을 이용하여 생성된 가중치 또한 프레임에 포함된 콘텐트에 따라 달라질 수 있다.
가중치 매트릭스 생성부(933)는 각 서브 영역 별 가중치를 이용하여 부분 블러 프레임 전체에 대한 가중치 매트릭스를 생성할 수 있다.
실시 예에서, 가중치 매트릭스 생성부(933)는 이웃하는 주변 서브 영역의 중요도 정보와 스펙트럴 엔벨롭 분포 특징을 고려하여 서브 영역의 가중치를 수정할 수 있다.
가중치 매트릭스 생성부(933)는 주변 서브 영역의 스펙트럴 엔벨롭 분포 특징을 이용하여 서브 영역의 스펙트럴 엔벨롭 분포 특징이 보다 자연스러워 지도록 수정할 수 있다. 예컨대, 가중치 매트릭스 생성부(933)는 부분 블러 프레임에 포함된 제1 서브 영역에 대해, 제1 서브 영역과 이웃하는 적어도 하나의 주변 서브 영역, 즉, 제1 서브 영역의 우측, 좌측, 상측, 하측에 위치한 주변 서브 영역들 중 적어도 하나를 이용하여 제1 서브 영역의 스펙트럴 엔벨롭 분포 특징을 수정할 수 있다.
가중치 매트릭스 생성부(933)는 주변 서브 영역들과 제1 서브 영역을 함께 고려하여, 제1 서브 영역의 스펙트럴 엔벨롭 분포 특징을 수정할 수도 있다. 예컨대, 가중치 매트릭스 생성부(933)는 제1 서브 영역과 주변 서브 영역의 스펙트럴 엔벨롭 분포 특징 값의 평균을 이용하여, 제1 서브 영역의 스펙트럴 엔벨롭 분포 특징을 수정할 수 있다.
유사하게, 가중치 매트릭스 생성부(933)는 제1 서브 영역에 이웃하는 적어도 하나의 주변 서브 영역의 중요도 정보를 고려하여, 제1 서브 영역의 중요도 정보가 주변 서브 영역들의 중요도 정보와 자연스러워 지도록 수정할 수 있다.
가중치 매트릭스 생성부(933)는 주변 서브 영역들을 참조하여 수정된 스펙트럴 엔벨롭 분포 특징 및 중요도 정보를 이용하여, 제1 서브 영역에 대한 가중치 값을 획득하고, 이로부터 가중치 매트릭스를 생성할 수 있다.
가중치 매트릭스는 제2 뉴럴 네트워크(935)로 입력된다.
다차원 특징 벡터는 복잡하기 때문에, 통계적 분석 방식만으로는 부분 블러 프레임의 다양한 특성들을 고려할 수 없다. 따라서, 실시 예에서, 모델 기반 품질 점수 획득부(830)는 제2 뉴럴 네트워크를 이용하여 서브 영역 별로 갖는 다양한 특성들을 고려하여 부분 블러 프레임에 대한 최종 점수를 획득할 수 있다.
제2 뉴럴 네트워크(935)는 입력 데이터를 분석 및 분류하여 입력 데이터의 특징을 추출하고 이로부터 품질 점수를 획득하도록 학습된 알고리즘, 또는 알고리즘의 집합, 알고리즘의 집합을 실행하는 소프트웨어 및/또는 알고리즘의 집합을 실행하는 하드웨어일 수 있다.
제2 뉴럴 네트워크(935)는 회귀 모델(regression model)일 수 있다. 회귀 모델은 연속형 변수들에 대해 변수 사이의 모형을 구한 뒤 적합도를 측정해 내는 분석 방법이다. 제2 뉴럴 네트워크(935)는 SVM (Support Vector Machine) 회귀, 랜덤 포레스트(random forest) 회귀, 또는 심층 신경망(Deep-neural network) 중 하나가 될 수 있으나, 이에 한정되는 것은 아니다.
제2 뉴럴 네트워크는 비디오 품질 평가를 위해 사전 훈련 된 모델일 수 있다. 제2 뉴럴 네트워크(935)는 MOS(Mean Opinion Scores)를 학습할 수 있다. MOS는 인간의 주관적 평가를 통해 획득되는 것으로, 인간들이 평가한 비디오 품질에 대한 개별 매개 변수의 평균 값을 의미할 수 있다. 제2 뉴럴 네트워크(935)는 특징 벡터와 MOS 간의 상관 관계를 미리 학습하여 훈련할 수 있다.
훈련된 제2 뉴럴 네트워크(935)는 부분 블러 프레임을 입력 받고, 부분 블러 프레임으로부터 부분 블러 프레임의 품질과 관련된 다양한 특징을 나타내는 특징 벡터를 획득할 수 있다. 품질과 관련된 특징은 블러 관련 특징, 모션(motion) 관련 특징, 콘텐트(content) 관련 특징, 인지 관련(perceptual) 특징, 공간 관련(spatial) 특징, 복수의 히든 레이어들에서 추출되는 계층 별 deep 특징, 하위 레벨에서부터 상위 레벨에 이르기까지 통계적으로 추출되는 특징 중 적어도 하나를 포함할 수 있다. 제2 뉴럴 네트워크(935)는 최종 출력 단계 이전에 위 특징들을 나타내는 특징 벡터를 획득할 수 있다.
제2 뉴럴 네트워크(935)는 부분 블러 프레임과 함께 가중치 매트릭스를 입력 받는다. 제2 뉴럴 네트워크(935)는 획득된 특징들과 가중치 매트릭스를 함께 고려하여, 가중치가 반영된 특징을 획득할 수 있다.
제2 뉴럴 네트워크(935)는 입력된 부분 블러 프레임으로부터 가중치가 고려된 특징 벡터를 획득하고, 이로부터 인간의 주관적 점수와 밀접하게 일치하는 객관적인 품질 점수를 출력할 수 있다.
이와 같이, 실시 예에 의하면, 모델 기반 품질 점수 획득부(830)는 MOS를 학습한 제2 뉴럴 네트워크를 이용하여 부분 블러 프레임으로부터 가중치가 반영된 특징을 획득하고 이로부터 인간의 주관적 평가 결과와 유사한 품질 점수를 획득할 수 있다.
도 10은 실시 예에 따른 도 7의 프로세서(710)의 내부 블록도이다.
도 10을 참조하면, 프로세서(710)는 도 8에 도시된 프로세서(710)에 포함된 식별부(810), 분석 기반 품질 점수 획득부(820), 모델 기반 품질 점수 획득부(830) 외에 최종 품질 점수 획득부(1010)를 더 포함할 수 있다. 이하, 도 8에서 설명한 내용과 동일한 내용은 생략하기로 한다.
최종 품질 점수 획득부(1010)는 분석 기반 품질 점수 획득부(820)로부터 전체 블러 프레임에 대한 품질 점수를 입력 받고, 모델 기반 품질 점수 획득부(830)로부터 부분 블러 프레임에 대한 품질 점수를 입력 받는다.
최종 품질 점수 획득부(1010)는 각 프레임의 타임 스탬프와 함께 개별 프레임에 대한 점수를 누적할 수 있다. 최종 품질 점수 획득부(1010)는 각 프레임에 대한 점수를 소정 시간 동안 누적하여 시계열 데이터를 획득할 수 있다.
최종 품질 점수 획득부(1010)는 시간에 따라 누적되는 프레임의 품질 점수를 이용하여, 비디오를 인식하는 것과 관련된 시간적 영향 또는 시간적 의존성을 고려할 수 있다.
예컨대, 인간은 비디오의 화질이 초반에 나쁘다가 이후 좋아지는 경우에도 계속해서 비디오의 품질을 나쁘게 평가하는 경향이 있다. 예컨대, 인간은 화질이 나쁜 프레임을 개별적으로 평가할 때보다, 화질이 나쁜 프레임들이 연속하여 출력될 때, 연속된 프레임들의 화질이 더 나쁘다고 인식하는 경향이 있다. 예컨대, 인간은 비디오가 동일한 블러 레벨을 갖는 경우, 초당 프레임(frames per second, fps)이 높은 비디오보다 낮은 비디오에서, 블러 레벨이 더 크다고 인식하는 경향이 있다.
최종 품질 점수 획득부(1010)는 최종 품질 점수 산정 시, 이러한 시간적 효과를 고려할 수 있다.
최종 품질 점수 획득부(1010)는 시계열 데이터를 스무딩(smoothing)하여 전체 비디오에 대한 최종 품질 점수를 획득할 수 있다. 최종 품질 점수 획득부(1010)는 시계열 데이터를 스무딩하기 위해, 간단한 휴리스틱 규칙(heuristic rule)을 이용하거나 또는 복잡한 모델을 이용할 수 있다.
실시 예에서, 최종 품질 점수 획득부(1010)가 모델을 이용하여 최종 품질 점수를 획득하는 경우, 최종 품질 점수 획득부(1010)는 적어도 하나의 뉴럴 네트워크를 이용할 수 있다. 설명의 편의를 위하여 최종 품질 점수 획득부(1010)가 이용하는 뉴럴 네트워크를 제3 뉴럴 네트워크로 칭하기로 한다.
제3 뉴럴 네트워크는 누적된 입력 데이터를 분석 및 분류하여 입력 데이터의 시계열적 특징을 추출하고 이로부터 최종 품질 점수를 획득하도록 학습된 알고리즘, 또는 알고리즘의 집합, 알고리즘의 집합을 실행하는 소프트웨어 및/또는 알고리즘의 집합을 실행하는 하드웨어일 수 있다.
실시 예에서, 최종 품질 점수 획득부(1010)는 제3 뉴럴 네트워크로 LSTM(Long Short-Term Memory models)을 사용할 수 있다. LSTM은 시퀀스 데이터의 시간 스텝 간의 장기적인 종속성을 학습할 수 있는 순환 신경망(RNN, Recurrent Neural Networks)의 일종이다. LSTM은 시퀀스 또는 시계열 데이터를 입력 받고, 시퀀스 데이터의 시간 스텝 간의 장기 종속성을 학습할 수 있다.
최종 품질 점수 획득부(1010)는 제3 뉴럴 네트워크로 누적된 시계열 데이터를 입력 받고, 시간에 따른 효과를 고려하여, 전체 비디오에 대한 최종 품질 점수를 획득할 수 있다.
이와 같이, 실시 예에 의하면, 비디오 품질 평가 장치(130)는 전체 블러 프레임과 부분 블러 프레임 각각에 대해 획득한 점수들을 누적하여 시계열 데이터를 획득하고 이를 스무딩(smoothing)하여 전체 비디오에 대한 최종 품질 점수를 획득할 수 있다.
도 11은 다른 실시 예에 따른 컴퓨팅 장치(1100)의 내부 블록도이다.
도 11의 컴퓨팅 장치(1100)는 도 1에 도시된 비디오 품질 평가 장치(130)의 일 예일 수 있다. 도 11을 참조하면, 컴퓨팅 장치(1100)는 프로세서(1110) 및 메모리(1120)를 포함할 수 있다.
실시 예에 따른 메모리(1120)는, 적어도 하나의 인스트럭션을 저장할 수 있다. 메모리(1120)는 프로세서(1110)가 실행하는 적어도 하나의 프로그램을 저장하고 있을 수 있다. 메모리(1120)에는 적어도 하나의 뉴럴 네트워크 및/또는 기 정의된 동작 규칙이나 AI 모델이 저장될 수 있다. 또한 메모리(1120)는 컴퓨팅 장치(1100)로 입력되거나 컴퓨팅 장치(1100)로부터 출력되는 데이터를 저장할 수 있다.
프로세서(1110)는 컴퓨팅 장치(1100)의 전반적인 동작을 제어한다. 프로세서(1110)는 메모리(1120)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 컴퓨팅 장치(1100)가 기능하도록 제어할 수 있다.
도 11에서, 프로세서(1110)는 식별부(1111), 제1 특징 획득부(1112), 제2 특징 획득부(1113), 중요도 정보 획득부(1114), 가중치 매트릭스 생성부(1115) 및 최종 점수 획득부(1116)를 포함할 수 있다.
실시 예에서, 식별부(1111)는 입력된 비디오에 포함된 각 프레임을 복수의 서브 영역들로 나누고, 각 서브 영역에 대해 스펙트럴 엔벨롭을 획득할 수 있다. 식별부(1111)는 스펙트럴 엔벨롭을 이용하여 서브 영역 별로 블러 레벨을 추정하고, 이에 기반하여 프레임이 블러가 없는 프레임인지, 전체 블러 프레임인지, 또는 부분 블러 프레임인지를 식별할 수 있다.
실시 예에서, 식별부(1111)는 각 서브 영역 별로 획득된 스펙트럴 엔벨롭으로부터 스펙트럴 엔벨롭 분포 특징을 획득할 수 있다.
도 11의 컴퓨팅 장치(1100)는 전체 블러 프레임과 부분 블러 프레임으로부터 각각 서로 다른 특징을 획득하고, 이를 이용하여 적어도 하나의 뉴럴 네트워크로부터 전체 비디오에 대한 최종 품질을 획득할 수 있다.
도 7의 컴퓨팅 장치(700)가 프레임 종류 별로 서로 다른 방법을 이용하여 각 프레임 별로 점수를 획득하는 것과 달리, 도 11의 컴퓨팅 장치(1100)는 프레임 종류 별로 서로 다른 특징을 획득하고, 이를 뉴럴 네트워크에 입력 데이터로 입력시키고 뉴럴 네트워크로부터 최종 점수를 획득한다.
실시 예에서, 식별부(1111)는 프레임이 전체 블러 프레임이라고 판단되면, 전체 블러 프레임을 제1 특징 획득부(1112)로 보내고, 프레임이 부분 블러 프레임이라고 판단되면, 부분 블러 프레임을 제2 특징 획득부(1113)로 보낸다.
제1 특징 획득부(1112)는 전체 블러 프레임으로부터 제1 특징을 획득할 수 있다. 실시 예에서, 제1 특징은 스펙트럴 엔벨롭 분포 특징일 수 있다.
실시 예에서, 제1 특징 획득부(1112)는 식별부(1111)로부터 전체 블러 프레임의 서브 영역 별 스펙트럴 엔벨롭 분포 특징을 받을 수 있다. 또는 다른 실시 예에서, 식별부(1111)가 아닌, 제1 특징 획득부(1112)가 전체 블러 프레임에 포함된 복수개의 서브 영역 각각에 대해 획득된 스펙트럴 엔벨롭으로부터 스펙트럴 엔벨롭 분포 특징을 획득할 수도 있다.
스펙트럴 엔벨롭 분포 특징은 스펙트럴 엔벨롭 그래프의 분포에 대한 통계적 속성일 수 있다. 스펙트럴 엔벨롭 분포 특징은 스펙트럴 엔벨롭 그래프의 분포에 대한 통계적 속성으로, 최빈값(mode), 중앙값(median), 산술 평균(arithmetic mean), 조화 평균(harmonic mean), 기하 평균(geometric mean), 최솟값(global minimum), 최댓값(global maximum), 범위(range), 분산(variance) 편차 (deviation) 중 적어도 하나를 포함할 수 있다.
제2 특징 획득부(1113)는 부분 블러 프레임으로부터 제2 특징을 획득할 수 있다. 실시 예에서, 제2 특징은 적어도 하나의 뉴럴 네트워크를 이용하여 부분 블러 프레임으로부터 획득되는 특징일 수 있다. 제2 특징 획득부(1113)가 이용하는 뉴럴 네트워크는 입력 데이터로부터 특징을 획득하는 알고리즘, 또는 알고리즘의 집합, 알고리즘의 집합을 실행하는 소프트웨어 및/또는 알고리즘의 집합을 실행하는 하드웨어일 수 있다.
제2 특징 획득부(1113)는 부분 블러 프레임의 품질과 관련된 특징을 획득할 수 있다. 제2 특징 획득부(1113)는 뉴럴 네트워크를 이용하여 부분 블러 프레임으로부터 블러 관련 특징, 모션(motion) 관련 특징, 콘텐트(content) 관련 특징, 인지 관련(perceptual) 특징, 공간 관련(spatial) 특징, 복수의 히든 레이어들에서 추출되는 계층 별 deep 특징, 하위 레벨에서부터 상위 레벨에 이르기까지 통계적으로 추출되는 특징 중 적어도 하나를 추출할 수 있다.
중요도 정보 획득부(1114)는 입력된 프레임으로부터 중요도 정보를 획득할 수 있다(1114). 중요도 정보 획득부(1114)는 입력된 프레임으로부터 비디오 품질 평가에 영향을 줄 수 있는 요인에 대한 중요도 정보를 획득하도록 학습된 뉴럴 네트워크를 이용하여 프레임에 포함된 서브 영역 각각에 대해 중요도 정보를 획득할 수 있다.
중요도 정보 획득부(1114)가 이용하는 뉴럴 네트워크는 입력된 프레임을 분석 및 분류하여 품질 평가에 영향을 미치는 특징을 추출하도록 학습된 모델일 수 있다. 중요도 정보 획득부(1114)가 이용하는 뉴럴 네트워크는 2개 이상의 히든 레이어들을 포함하는 딥 뉴럴 네트워크(DNN)일 수 있다.
중요도 정보 획득부(1114)가 이용하는 뉴럴 네트워크는 전체 블러 프레임과 부분 블러 프레임 모두로부터 중요도 정보를 획득한다는 점에서, 부분 블러 프레임으로부터만 중요도 정보를 획득하는 도 9의 제1 뉴럴 네트워크(931)와 구별되나, 입력된 프레임으로부터 중요도 정보를 획득하는 기능을 수행하는 것은 제1 뉴럴 네트워크(931)와 같다.
중요도 정보 획득부(1114)는 프레임 전체로부터 또는 각 서브 영역으로부터, 또는 프레임 전체와 서브 영역을 함께 고려하여, 서브 영역 별로 중요도 정보를 획득할 수 있다. 중요도 정보는 프레임에 포함된 오브젝트가 전경인지 배경인지에 대한 정보, 그 프레임이 속한 장르가 무엇인지에 대한 정보, 시맨틱 정보, 그 서브 영역의 위치 정보 중 적어도 하나를 포함할 수 있다.
가중치 매트릭스 생성부(1115)는 중요도 정보 획득부(1114)로부터 중요도 정보를 입력 받는다. 또한, 가중치 매트릭스 생성부(1115)는 식별부(810)로부터 입력된 프레임의 서브 영역 별 스펙트럴 엔벨롭 분포 특징을 입력 받을 수 있다.
가중치 매트릭스 생성부(1115)는 서브 영역 별 중요도 정보 및 스펙트럴 엔벨롭 분포 특징을 이용하여, 서브 영역 별로 가중치를 구할 수 있다. 가중치 매트릭스 생성부(1115)는 서브 영역 별 가중치를 합쳐 프레임 전체에 대한 가중치 매트릭스를 생성할 수 있다.
최종 점수 획득부(1116)는 제1 특징 획득부(1112)로부터 획득된 전체 블러 프레임에 대한 제1 특징을 입력 받고, 제2 특징 획득부(1113)로부터 획득된 부분 블러 프레임에 대한 제2 특징을 입력 받을 수 있다. 최종 점수 획득부(1116)는 제1 특징과 제2 특징을 입력 받으므로, 입력 데이터로부터 따로 특징을 획득할 필요가 없다.
최종 점수 획득부(1116)는 가중치 매트릭스 생성부(1115)가 전체 블러 프레임과 부분 블러 프레임 모두에 대해 생성한 가중치 매트릭스를 입력 받을 수 있다. 최종 점수 획득부(1116)는 제1 특징, 제2 특징, 가중치 매트릭스, 및 프레임을 입력 받고, 각 프레임의 타임 스탬프와 함께 개별 프레임에 대한 특징을 소정 시간 누적하여 시계열 데이터를 획득할 수 있다.
도 10에 대한 설명에서 살펴본 바와 같이, 컴퓨팅 장치(700)는 각 프레임 별로 획득한 점수를 소정 시간 누적하여 시계열 데이터를 획득하나, 이와 달리 도 11의 컴퓨팅 장치(1100)에 포함된 최종 점수 획득부(1116)는 각 프레임 별로 획득한 특징을 소정 시간 누적할 수 있다. 최종 점수 획득부(1116)는 소정 시간 동안 제1 특징 및 제2 특징을 누적하고, 또한 각 프레임 및 각 프레임 별 가중치 매트릭스를 누적하여 시계열 데이터를 획득할 수 있다.
최종 점수 획득부(1116)는 시간에 따른 효과를 고려하여, 누적된 시계열 데이터로부터 전체 비디오에 대한 최종 품질 점수를 획득할 수 있다.
최종 점수 획득부(1116)는 시계열 데이터를 스무딩하여 전체 비디오에 대한 최종 품질 점수를 획득할 수 있다. 최종 점수 획득부(1116)는 시계열 데이터를 스무딩하기 위해, 간단한 휴리스틱 규칙을 이용하거나 또는 복잡한 모델을 이용할 수 있다. 실시 예에서, 최종 점수 획득부(1116)가 모델을 이용하는 경우, 최종 점수 획득부(1116)는 LSTM(Long Short-Term Memory models)을 사용할 수 있다.
이와 같이, 실시 예에 의하면, 컴퓨팅 장치(1100)는 입력된 프레임의 종류에 따라 프레임으로부터 서로 다른 특징을 획득할 수 있다.
또한, 컴퓨팅 장치(1100)는 프레임 별로 획득한 서로 다른 특징을 소정 시간 누적하고 이를 이용하여 전체 비디오에 대한 품질을 평가할 수 있다.
도 12는 실시 예에 따른 컴퓨팅 장치(1200)의 내부 블록도이다. 도 12를 참조하면, 컴퓨팅 장치(1200)는 프로세서(1210) 및 메모리(1220) 외에 통신부(1230)를 포함할 수 있다.
도 12의 컴퓨팅 장치(1200)는 도 7의 컴퓨팅 장치(700)를 포함하는 장치일 수 있다. 이하, 도 12의 컴퓨팅 장치(1200)에 포함된 프로세서(1210) 및 메모리(1220)는 도 7의 컴퓨팅 장치(700)에 포함된 프로세서(710) 및 메모리(720)와 수행하는 기능이 동일하며, 이에 대한 중복 설명은 생략하기로 한다.
실시 예에 따른 통신부(1230)는 프로세서(1210)의 제어에 따라서 유무선의 네트워크를 통하여 연결되는 외부 장치와 통신을 수행하여 신호를 송수신할 수 있다. 통신부(1230)는 근거리 통신 모듈, 유선 통신 모듈, 이동 통신 모듈, 방송 수신 모듈 등과 같은 적어도 하나의 통신 모듈을 포함할 수 있다. 통신 모듈은 방송 수신을 수행하는 튜너, 블루투스, WLAN(Wireless LAN)(Wi-Fi), Wibro(Wireless broadband), WiMAX(World Interoperability for Microwave Access), CDMA, WCDMA 등과 같은 통신 규격을 따르는 네트워크를 통하여 데이터 송수신을 수행할 수 있는 통신 모듈을 포함할 수 있다.
실시 예에서, 통신부(1230)는 외부의 영상 표시 장치(110)와 데이터를 송수신할 수 있다.
통신부(1230)는 영상 표시 장치(110)로부터 비디오를 입력 받을 수 있다. 프로세서(1210)는 메모리(1220)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 통신부(1230)를 통해 입력된 프레임을 서브 영역으로 나누어 블러 레벨을 판단하고 그에 따라 입력된 프레임을 전체 블러 프레임과 부분 블러 프레임으로 식별할 수 있다. 프로세서(1210)는 입력된 프레임이 전체 블러 프레임인 것에 상응하여, 전체 블러 프레임에 대한 분석 기반 품질 점수를 획득하고, 입력된 프레임이 부분 블러 프레임인 것에 상응하여, 부분 블러 프레임에 대한 모델 기반 품질 점수를 획득할 수 있다.
통신부(1230)는 프로세서(1210)가 입력된 비디오에 포함된 각 프레임 별로 획득한 점수를 영상 표시 장치(110)로 전송할 수 있다.
실시 예에서, 프로세서(1210)는 입력된 비디오에 포함된 프레임 각각에 대해 획득한 분석 기반 품질 점수 및 모델 기반 품질 점수를 소정 시간 동안 누적하여 시계열 데이터를 획득하고, 시계열 데이터를 스무딩하여 비디오에 대한 최종 품질 점수를 획득할 수 있다.
통신부(1230)는 프로세서(1210)가 획득한 비디오에 대한 최종 품질 점수를 영상 표시 장치(110)로 전송할 수 있다.
도 13은 실시 예에 따른 영상 표시 장치(1300)의 내부 블록도이다. 도 13을 참조하면, 영상 표시 장치(1300)는 프로세서(1310), 메모리(1320), 디스플레이(1330) 및 화질 처리부(1340)를 포함할 수 있다.
도 13의 영상 표시 장치(1300)는 도 7의 컴퓨팅 장치(700)를 포함할 수 있다. 즉, 실시 예에서, 영상 표시 장치(1300)는 컴퓨팅 장치(700)와 분리된 형태가 아니고, 비디오 품질을 측정하는 기능을 수행하는 컴퓨팅 장치(700)를 내부에 포함할 수 있다.
이하, 도 13의 영상 표시 장치(1300)에 포함된 프로세서(1310) 및 메모리(1320)는 도 7의 컴퓨팅 장치(700)에 포함된 프로세서(710) 및 메모리(720)와 수행하는 기능이 동일하며, 이에 대한 중복 설명은 생략하기로 한다.
프로세서(1310)는 영상 표시 장치(1300)의 전반적인 동작을 제어한다. 프로세서(1310)는 실시간으로 수신되는 방송 프로그램이나, 또는 스트리밍이나 다운로드를 하여 수신된 VOD 서비스의 프로그램 등을 화면에 출력하기 전에, 해당 비디오의 품질을 측정할 수 있다.
프로세서(1310)는 입력된 프레임의 블러 레벨에 따라 입력된 프레임이 블러가 없는 프레임인지, 부분 블러 프레임인지, 또는 전체 블러 프레임인지를 식별할 수 있다. 프로세서(1310)는 입력된 프레임에 블러가 없는 경우, 이를 디스플레이(1330)를 통해 출력할 수 있다.
프로세서(1310)는 입력된 프레임이 전체 블러 프레임인 경우 전체 블러 프레임에 대한 분석 기반 품질 점수를 획득하고, 입력된 프레임이 부분 블러 프레임인 경우 부분 블러 프레임에 대한 모델 기반 품질 점수를 획득할 수 있다.
프로세서(1310)는 분석 기반 품질 점수 및 모델 기반 품질 점수를 누적하여 획득한 시계열 데이터를 이용하여 비디오에 대한 최종 품질 점수를 획득할 수 있다.
실시 예에서, 화질 처리부(1340)는 비디오에 대한 분석 기반 품질 점수, 모델 기반 품질 점수 및 최종 품질 점수 중 적어도 하나를 기반으로, 프레임의 화질을 처리할 수 있다.
실시 예에서, 화질 처리부(1340)는 복수 개의 AI 모델들을 이용하여 각 프레임 별로 또는 전체 비디오의 화질을 처리할 수 있다. 예컨대, 화질 처리부(1340)는 서로 다른 AI 모델들을 각각 이용하여 프레임의 화질을 서로 독립적으로 처리할 수 있다.
실시 예에서, 복수 개의 AI 모델들 각각은 하나 또는 복수의 뉴럴 네트워크를 이용하여 각 프레임의 점수에 따라 또는 전체 비디오의 최종 품질 점수에 따라 품질이 최적으로 향상된 결과를 출력할 수 있는 이미지 복원 모델일 수 있다.
화질 처리부(1340)는 각 프레임 별 점수나 전체 비디오의 최종 점수에 따라 복수의 뉴럴 네트워크 모델들 중 하나의 이미지 복원 모델을 선택하거나 이러한 모델을 직접 설계할 수 있다. 화질 처리부(1340)는 선택한 뉴럴 네트워크에 기반한 AI 모델을 이용하여 프레임의 화질을 처리하여 품질을 향상시킬 수 있다.
실시 예에서, 화질 처리부(1340)는 프레임 또는 비디오의 화질을 최적으로 향상시킬 수 있는, 이미지 복원 모델 적용 횟수를 결정할 수 있다. 화질 처리부(1340)는 결정된 횟수만큼 프레임 또는 비디오에 대해 이미지 복원 모델을 반복하여 적용하여 프레임 또는 비디오의 화질을 최적으로 향상시킬 수 있다.
실시 예에서, 화질 처리부(1340)는 프레임 별 점수나 비디오의 최종 점수에 따라 뉴럴 네트워크에서 사용되는 다양한 하이퍼파라미터 값들을 수정할 수 있다. 화질 처리부(1340)는 프레임이나 비디오의 점수에 따라, 필터 사이즈나 필터 계수, 커널 사이즈, 노드의 가중치 값들과 같은 다양한 하이퍼파라미터 값들 중 하나 이상을 수정하여 프레임이나 비디오에 적용할 최적의 성능을 가지는 모델을 위한 하이퍼파라미터 값을 선택할 수 있다. 화질 처리부(1340)는 이러한 하이퍼파라미터를 갖는 AI 모델을 이용하여 프레임이나 비디오의 화질을 최적으로 향상시킬 수 있다.
실시 예에서, 화질 처리부(1340)는 점수에 따라 이미지 복원을 수행할 필터를 설계할 수 있다. 화질 처리부(1340)는 프레임이나 비디오의 점수에 따라 대역폭을 달리하는 BPF나 HPF 등을 설계하고, 설계된 필터를 이용하여 프레임이나 비디오에서 고주파 대역의 신호를 변경하는 방법으로 프레임이나 비디오의 화질을 처리할 수 있다.
화질 처리부(1340)는 전술한 다양한 방법을 이용하여, 프레임이나 비디오의 점수에 따라, 프레임 별로 또는 비디오 전체에 대해 품질을 최적으로 향상시킬 수 있는 AI 모델을 찾을 수 있다. 화질 처리부(1340)는 AI 모델을 이용하여 프레임 또는 비디오의 품질을 최적으로 향상시킬 수 있다.
실시 예에 따른 디스플레이(1330)는 화질 처리부(1340)에 의해 처리된 프레임 및 비디오를 출력할 수 있다.
디스플레이(1330)가 터치 스크린으로 구현되는 경우, 디스플레이(1330)는 출력 장치 이외에 사용자 인터페이스와 같은 입력 장치로 사용될 수 있다. 예를 들어, 디스플레이(1330)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉서블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기 영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. 그리고, 영상 표시 장치(1300)의 구현 형태에 따라, 영상 표시 장치(1300)는 디스플레이(1330)를 둘 이상 포함할 수 있다.
이와 같이, 실시 예에 따르면, 영상 표시 장치(1300)는 프레임에 대해 품질 점수를 획득하고 이를 이용하여 각각의 프레임 또는 전체 비디오에 적합한 이미지 복원 모델을 선택할 수 있다. 영상 표시 장치(1300)는 각 프레임 또는 비디오의 품질을 향상시킨 이후 이를 디스플레이(1330)를 통해 출력할 수 있다.
도 14는 실시 예에 따른 영상 표시 장치(1400)의 내부 블록도이다. 도 14의 영상 표시 장치(1400)는 도 13의 영상 표시 장치(1300)의 구성 요소를 포함할 수 있다. 따라서, 프로세서(1310), 메모리(1320) 및 디스플레이(1330)에 대하여, 도 13에서 설명한 내용과 동일한 내용은 생략한다.
도 14를 참조하면, 영상 표시 장치(1400)는 프로세서(1310), 메모리(1320), 및 디스플레이(1330) 외에 튜너부(1410), 통신부(1420), 감지부(1430), 입/출력부(1440), 비디오 처리부(1450), 오디오 처리부(1460), 오디오 출력부(1470), 및 사용자 인터페이스(1480)를 포함할 수 있다.
튜너부(1410)는 유선 또는 무선으로 수신되는 방송 컨텐츠 등을 증폭(amplification), 혼합(mixing), 공진(resonance)등을 통하여 많은 전파 성분 중에서 영상 표시 장치(1400)에서 수신하고자 하는 채널의 주파수만을 튜닝(tuning)시켜 선택할 수 있다. 튜너부(1410)를 통해 수신된 컨텐츠는 디코딩되어 오디오, 비디오 및/또는 부가 정보로 분리된다. 분리된 오디오, 비디오 및/또는 부가 정보는 프로세서(1310)의 제어에 의해 메모리(1320)에 저장될 수 있다.
통신부(1420)는 프로세서(1310)의 제어에 의해 영상 표시 장치(1400)를 외부 장치나 서버와 연결할 수 있다. 영상 표시 장치(1400)는 통신부(1420)를 통해 외부 장치나 서버 등으로부터 영상 표시 장치(1400)가 필요로 하는 프로그램이나 어플리케이션(application)을 다운로드하거나 또는 웹 브라우징을 할 수 있다. 또한, 통신부(1420)는 외부 장치로부터 컨텐츠를 수신할 수 있다.
통신부(1420)는 영상 표시 장치(1400)의 성능 및 구조에 대응하여 무선 랜(1421), 블루투스(1422), 및 유선 이더넷(Ethernet)(1423) 중 하나를 포함할 수 있다. 또한, 통신부(1420)는 무선랜(1421), 블루투스(1422), 및 유선 이더넷(Ethernet)(1423)의 조합을 포함할 수 있다. 통신부(1420)는 프로세서(1310)의 제어에 의해 리모컨 등과 같은 제어 장치(미도시)를 통한 제어 신호를 수신할 수 있다. 제어 신호는 블루투스 타입, RF 신호 타입 또는 와이파이 타입으로 구현될 수 있다. 통신부(1420)는 블루투스(1422) 외에 다른 근거리 통신(예를 들어, NFC(near field communication, 미도시), BLE(Bluetooth low energy, 미도시)를 더 포함할 수 있다. 실시 예에 따라, 통신부(1420)는 블루투스(1422)나 BLE와 같은 근거리 통신을 통하여 외부 장치 등과 연결 신호를 송수신할 수도 있다.
감지부(1430)는 사용자의 음성, 사용자의 영상, 또는 사용자의 인터랙션을 감지하며, 마이크(1431), 카메라부(1432), 및 광 수신부(1433)를 포함할 수 있다. 마이크(1431)는 사용자의 발화(utterance)된 음성을 수신할 수 있고 수신된 음성을 전기 신호로 변환하여 프로세서(1310)로 출력할 수 있다. 카메라부(1432)는 센서(미도시) 및 렌즈(미도시)를 포함하고, 화면에 맺힌 이미지를 촬영할 수 있다. 광 수신부(1433)는, 광 신호(제어 신호를 포함)를 수신할 수 있다. 광 수신부(1433)는 리모컨이나 핸드폰 등과 같은 제어 장치(미도시)로부터 사용자 입력(예를 들어, 터치, 눌림, 터치 제스처, 음성, 또는 모션)에 대응되는 광 신호를 수신할 수 있다. 수신된 광 신호로부터 프로세서(1310)의 제어에 의해 제어 신호가 추출될 수 있다.
입/출력부(1440)는 프로세서(1310)의 제어에 의해 영상 표시 장치(1400) 외부의 기기 등으로부터 비디오(예를 들어, 동영상 신호나 정지 영상 신호 등), 오디오(예를 들어, 음성 신호나, 음악 신호 등) 및 부가 정보, 예를 들어, 컨텐츠에 대한 설명이나 컨텐트 타이틀, 컨텐트 저장 위치 등을 수신할 수 있다. 입/출력부(1440)는 HDMI 포트(High-Definition Multimedia Interface port, 1441), 컴포넌트 잭(component jack, 1442), PC 포트(PC port, 1443), 및 USB 포트(USB port, 1444) 중 하나를 포함할 수 있다. 입/출력부(1440)는 HDMI 포트(1441), 컴포넌트 잭(1442), PC 포트(1443), 및 USB 포트(1444)의 조합을 포함할 수 있다.
비디오 처리부(1450)는, 디스플레이(1430)에 의해 표시될 영상 데이터를 처리하며, 영상 데이터에 대한 디코딩, 렌더링, 스케일링, 노이즈 필터링, 프레임 레이트 변환, 및 해상도 변환 등과 같은 다양한 영상 처리 동작을 수행할 수 있다.
실시 예에서, 비디오 처리부(1450)는, 도 13의 영상 표시 장치(1300)의 화질 처리부(1340)의 기능을 수행할 수 있다. 즉, 비디오 처리부(1450)는 프로세서(1310)가 획득한 프레임 별 점수 또는 전체 비디오의 최종 품질 점수에 기반하여 비디오 및/또는 프레임의 품질을 향상시킬 수 있다.
비디오 처리부(1450)는 점수에 따라 화질 처리 모델을 선택하고 이에 따라 프레임/비디오의 품질을 향상시킬 수 있다.
또는 비디오 처리부(1450)는 점수에 따라 화질 처리 모델 적용 횟수를 결정하고, 결정된 횟수만큼 프레임에 화질 처리 모델을 반복하여 적용함으로써 프레임/비디오의 품질을 향상시킬 수 있다.
또는 비디오 처리부(1450)는 점수에 따라 필터를 설계하고, 이를 프레임/비디오에 적용하여 프레임/비디오의 품질을 향상시킬 수 있다.
또는 비디오 처리부(1450)는 점수에 따라 하이퍼파라미터 값을 수정하고, 수정된 하이퍼파라미터 값을 갖는 뉴럴 네트워크를 이용하여 프레임의 품질을 향상시킬 수 있다.
디스플레이(1330)는 방송국으로부터 수신하거나 외부 서버, 또는 외부 저장 매체 등으로부터 수신한 컨텐츠를 화면에 출력할 수 있다. 컨텐츠는 미디어 신호로, 비디오 신호, 이미지, 텍스트 신호 등을 포함할 수 있다. 또한 디스플레이(1330)는 HDMI 포트(1441)를 통해 수신한 비디오 신호나 이미지를 화면에 표시할 수 있다.
실시 예에서, 디스플레이(1330)는 비디오 처리부(1450)가 비디오나 프레임의 품질을 향상시킨 경우, 향상된 품질의 비디오나 프레임을 출력할 수 있다.
디스플레이(1330)가 터치 스크린으로 구현되는 경우, 디스플레이(1330)는 출력 장치 이외에 입력 장치로 사용될 수 있다. 그리고, 영상 표시 장치(1400)의 구현 형태에 따라, 영상 표시 장치(1400)는 디스플레이(1330)를 2개 이상 포함할 수 있다.
오디오 처리부(1460)는 오디오 데이터에 대한 처리를 수행한다. 오디오 처리부(1460)에서는 오디오 데이터에 대한 디코딩이나 증폭, 노이즈 필터링 등과 같은 다양한 처리가 수행될 수 있다.
오디오 출력부(1470)는 프로세서(1310)의 제어에 의해 튜너부(1410)를 통해 수신된 컨텐츠에 포함된 오디오, 통신부(1420) 또는 입/출력부(1440)를 통해 입력되는 오디오, 메모리(1420)에 저장된 오디오를 출력할 수 있다. 오디오 출력부(1470)는 스피커(1471), 헤드폰 출력 단자(1472) 또는 S/PDIF(Sony/Philips Digital Interface: 출력 단자(1473) 중 적어도 하나를 포함할 수 있다.
사용자 인터페이스(1480)는 영상 표시 장치(1400)를 제어하기 위한 사용자 입력을 수신할 수 있다. 사용자 인터페이스(1480)는 사용자의 터치를 감지하는 터치 패널, 사용자의 푸시 조작을 수신하는 버튼, 사용자의 회전 조작을 수신하는 휠, 키보드(key board), 및 돔 스위치 (dome switch), 음성 인식을 위한 마이크, 모션을 센싱하는 모션 감지 센서 등을 포함하는 다양한 형태의 사용자 입력 디바이스를 포함할 수 있으나 이에 제한되지 않는다. 또한, 영상 표시 장치(1400)가 원격 제어 장치(remote controller)(미도시)에 의해서 조작되는 경우, 사용자 인터페이스(1480)는 원격 제어 장치로부터 수신되는 제어 신호를 수신할 수도 있을 것이다.
도 15는 실시 예에 따른 프레임 식별 방법을 도시한 순서도이다.
도 15를 참조하면, 비디오 품질 평가 장치(130)는 프레임을 입력 받고(단계 1510), 프레임을 복수개의 서브 영역으로 분할할 수 있다(단계 1520). 비디오 품질 평가 장치(130)는 복수개의 서브 영역 각각을 주파수 도메인으로 변환할 수 있다(단계 1530).
비디오 품질 평가 장치(130)는 각 서브 영역 별로 주파수 도메인에서의 신호에 대한 파워 스펙트럼을 획득하고, 파워 스펙트럼으로부터 스펙트럴 엔벨롭을 획득할 수 있다. 비디오 품질 평가 장치(130)는 스펙트럴 엔벨롭의 기울기 값이나, 스펙트럴 엔벨롭의 기울기가 급변하는 지점의 빈 인덱스 등을 이용하여 각 서브 영역의 블러 레벨을 추정할 수 있다(단계 1540).
비디오 품질 평가 장치(130)는 각 서브 영역 별로 추정된 블러 레벨을 이용하여, 프레임이 전체 블러 프레임인지 또는 부분 블러 프레임인지를 식별할 수 있다(단계 1550). 비디오 품질 평가 장치(130)는 블러 레벨이 소정 기준치를 넘는 서브 영역의 개수가 소정 개수 이상인지 여부를 기준으로, 프레임이 전체 블러 프레임인지, 부분 블러 프레임인지를 식별할 수 있다.
도 16은 실시 예에 따른 품질 점수 획득 방법을 도시한 순서도이다.
도 16을 참조하면, 비디오 품질 평가 장치(130)는 입력된 프레임이 전체 블러 프레임인가, 부분 블러 프레임인가를 식별하고(단계 1610), 입력된 프레임이 전체 블러 프레임인 경우, 전체 블러 프레임에 대한 분석 기반 품질 점수를 획득할 수 있다(단계 1620).
실시 예에서, 분석 기반 품질 점수는 프레임에 대한 주파수 특성에 따라 획득되는 점수일 수 있다.
비디오 품질 평가 장치(130)는 전체 블러 프레임에 포함된 복수의 서브 영역 각각의 스펙트럴 엔벨롭으로부터 스펙트럴 엔벨롭 분포 특징을 획득할 수 있다. 스펙트럴 엔벨롭 분포 특징은 스펙트럴 엔벨롭의 최빈값, 중앙값, 평균, 범위, 편차, 분산, 최솟값, 최댓값 중 적어도 하나의 통계적 속성을 포함할 수 있다.
비디오 품질 평가 장치(130)는 스펙트럴 엔벨롭 분포 특징을 분석하여 전체 블러 프레임에 대한 분석 기반 품질 점수를 획득할 수 있다.
비디오 품질 평가 장치(130)는 입력된 프레임이 부분 블러 프레임인 경우, 적어도 하나의 뉴럴 네트워크를 이용하여 부분 블러 프레임에 대한 모델 기반 품질 점수를 획득할 수 있다(단계 1630).
실시 예에서, 모델 기반 품질 점수는 적어도 하나의 뉴럴 네트워크를 이용하여 부분 블러 프레임에 대해 획득되는 품질 점수를 의미할 수 있다.
비디오 품질 평가 장치(130)는 전체 블러 프레임에 대해 획득한 분석 기반 품질 점수와 부분 블러 프레임에 대해 획득한 모델 기반 품질 점수 중 적어도 하나를 이용하여 비디오의 화질을 처리할 수 있다(단계 1640). 비디오 품질 평가 장치(130)는 소정 시간 동안의 프레임들의 점수를 누적하고 이로부터 비디오에 대한 최종 점수를 획득할 수 있다. 비디오 품질 평가 장치(130)는 최종 점수를 이용하여 비디오의 왜곡을 보상하는 등과 같은 화질 처리를 수행할 수 있다.
도 17은 실시 예에 따라, 부분 블러 프레임에 대한 모델 기반 품질 점수를 획득하는 방법을 설명하기 위한 순서도이다.
도 17을 참조하면, 비디오 품질 평가 장치(130)는 입력된 프레임이 부분 블러 프레임인 경우(단계 1710), 부분 블러 프레임의 서브 영역 별로 스펙트럴 엔벨롭을 획득하고 이로부터 스펙트럴 엔벨롭 분포 특징을 획득할 수 있다(단계 1720)
또한, 비디오 품질 평가 장치(130)는 부분 블러 프레임의 각 서브 영역 별로 중요도 정보를 획득할 수 있다(단계 1730). 비디오 품질 평가 장치(130)는 적어도 하나의 뉴럴 네트워크를 이용하여 부분 블러 프레임으로부터 품질 점수에 영향을 줄 수 있는 요인과 관련된 중요도 정보를 획득할 수 있다. 중요도 정보는 프레임에 포함된 오브젝트가 전경인지 배경인지에 대한 정보, 그 프레임이 속한 장르에 대한 정보, 시맨틱 정보, 위치 정보 중 적어도 하나를 포함할 수 있다.
비디오 품질 평가 장치(130)는 서브 영역 별 중요도 정보와 서브 영역 별 스펙트럴 엔벨롭 분포 특징을 이용하여 서브 영역별 가중치를 구하고, 이로부터 전체 부분 블러 프레임에 대한 가중치 매트릭스를 획득할 수 있다(단계 1740).
비디오 품질 평가 장치(130)는 가중치 매트릭스와 부분 블러 프레임으로부터 부분 블러 프레임에 대한 모델 기반 품질 점수를 획득할 수 있다(단계 1750). 비디오 품질 평가 장치(130)는 적어도 하나의 뉴럴 네트워크를 이용하여 부분 블러 프레임으로부터 특징 벡터를 구하고 이를 가중치 매트릭스와 함께 이용하여 가중치가 반영된 특징을 획득할 수 있다. 비디오 품질 평가 장치(130)는 가중치가 반영된 특징으로부터 부분 블러 프레임에 대한 모델 기반 품질 점수를 획득할 수 있다.
도 18은 실시 예에 따른 최종 품질 점수 획득 방법을 도시한 순서도이다. 도 18을 참조하면, 비디오 품질 평가 장치(130)는 분석 기반 점수 및 모델 기반 점수를 획득하고(단계 1810), 이를 소정 시간 동안, 또는 소정 프레임수만큼 누적할 수 있다.
비디오 품질 평가 장치(130)는 각 프레임의 타임 스탬프와 함께 개별 프레임에 대한 점수를 누적하여 소정 시간 동안, 또는 소정 프레임 수만큼 시계열 데이터를 획득할 수 있다(단계 1820).
비디오 품질 평가 장치(130)는 시계열 데이터를 스무딩하여 비디오에 대한 최종 품질 점수를 획득할 수 있다(단계 1830).
비디오 품질 평가 장치(130)는 비디오의 품질에 시간이 미치는 영향을 고려하여, 전체 비디오에 대한 최종 점수를 획득할 수 있다. 비디오 품질 평가 장치(130)는 적어도 하나의 뉴럴 네트워크를 이용하여 시계열 데이터로부터 전체 비디오에 대한 최종 품질 점수를 획득할 수 있다.
도 19는 다른 실시 예에 따른 비디오 품질 측정 방법을 도시한 순서도이다.
도 19를 참조하면, 비디오 품질 평가 장치(130)는 프레임을 입력 받고(단계 1910), 입력된 프레임이 전체 블러 프레임인가 부분 블러 프레임인가를 식별할 수 있다(단계 1920).
비디오 품질 평가 장치(130)는 입력된 프레임의 종류에 따라 서로 다른 특징을 획득할 수 있다.
비디오 품질 평가 장치(130)는 입력된 프레임이 전체 블러 프레임인 경우, 전체 블러 프레임의 각 서브 영역 별로 획득된 스펙트럴 엔벨롭으로부터 스펙트럴 엔벨롭 분포 특징을 획득할 수 있다(단계 1930).
비디오 품질 평가 장치(130)는 입력된 프레임이 부분 블러 프레임인 경우, 부분 블러 프레임으로부터 모델 기반 특징을 획득할 수 있다(단계 1940). 모델 기반 특징은 부분 블러 프레임의 품질과 관련된 특징으로, 블러 관련 특징, 모션(motion) 관련 특징, 콘텐트(content) 관련 특징, 인지 관련(perceptual) 특징, 공간 관련(spatial) 특징, 복수의 히든 레이어들에서 추출되는 계층 별 deep 특징, 하위 레벨에서부터 상위 레벨에 이르기까지 통계적으로 추출되는 특징 중 적어도 하나를 포함할 수 있다.
비디오 품질 평가 장치(130)는 입력된 프레임으로부터 각 서브 영역 별로 품질 평가에 영향을 미치는 중요도 정보를 획득할 수 있다(단계 1950). 비디오 품질 평가 장치(130)는 입력된 프레임의 각 서브 영역 별 스펙트럴 엔벨롭 분포 특징을 획득하고, 서브 영역 별 중요도 정보와 서브 영역 별 스펙트럴 엔벨롭 분포 특징으로부터 가중치 매트릭스를 생성할 수 있다(단계 1960).
비디오 품질 평가 장치(130)는 입력 프레임, 전체 블러 프레임의 스펙트럴 엔벨롭 분포 특징, 부분 블러 프레임의 모델 기반 특징, 및 가중치 매트릭스를 입력 받고, 이를 소정 시간 동안 누적하여 시계열 데이터를 획득할 수 있다. 비디오 품질 평가 장치(130)는 이로부터 비디오에 대한 최종 품질 점수를 획득할 수 있다(단계 1970).
일부 실시 예에 따른 비디오 품질 평가 방법 및 장치는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비 휘발성 매체, 분리형 및 비 분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비 휘발성, 분리형 및 비 분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
또한, 본 명세서에서, “부”는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
또한, 전술한 본 개시의 실시 예에 따른 비디오 품질 평가 방법 및 장치는 비디오에 포함된 프레임을 입력 받고, 입력된 프레임의 블러 레벨에 기반하여, 입력된 프레임이 전체 블러 프레임인지 부분 블러 프레임인지를 식별하고, 입력된 프레임이 전체 블러 프레임인 것에 상응하여, 상기 전체 블러 프레임에 대한 분석 기반 품질 점수를 획득하고, 입력된 프레임이 부분 블러 프레임인 것에 상응하여, 부분 블러 프레임에 대한 모델 기반 품질 점수를 획득하고, 상기 분석 기반 품질 점수 및 상기 모델 기반 품질 점수 중 적어도 하나를 이용하여 상기 비디오의 화질을 처리하는 단계를 포함하는, 비디오 품질 평가 방법을 수행하도록 하는 프로그램이 저장된 기록 매체를 포함하는 컴퓨터 프로그램 제품으로 구현될 수 있다.
전술한 설명은 예시를 위한 것이며, 발명이 속하는 기술분야의 통상의 지식을 가진 자는 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일 형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
Claims (20)
- 비디오에 포함된 프레임을 입력 받는 단계;
상기 입력된 프레임의 블러 레벨에 기반하여, 상기 입력된 프레임이 전체 블러 프레임인지 부분 블러 프레임인지를 식별하는 단계;
상기 입력된 프레임이 상기 전체 블러 프레임인 것에 상응하여, 상기 전체 블러 프레임에 대한 분석 기반 품질 점수를 획득하는 단계;
상기 입력된 프레임이 상기 부분 블러 프레임인 것에 상응하여, 상기 부분 블러 프레임에 대한 모델 기반 품질 점수를 획득하는 단계; 및
상기 분석 기반 품질 점수 및 상기 모델 기반 품질 점수 중 적어도 하나를 이용하여 상기 비디오의 화질을 처리하는 단계를 포함하는, 비디오 품질 평가 방법. - 제1 항에 있어서, 상기 입력된 프레임에 포함된 복수개의 서브 영역 각각에 대한 스펙트럴 엔벨롭을 획득하는 단계; 및
상기 스펙트럴 엔벨롭으로부터 상기 서브 영역 별로 상기 블러 레벨을 추정하는 단계를 더 포함하고,
상기 입력된 프레임이 전체 블러 프레임인지 부분 블러 프레임인지를 식별하는 단계는
상기 추정된 블러 레벨의 값이 소정 기준치를 넘는 서브 영역의 개수에 따라 상기 입력된 프레임이 전체 블러 프레임인지, 부분 블러 프레임인지를 식별하는 단계를 포함하는, 비디오 품질 평가 방법. - 제2 항에 있어서, 상기 스펙트럴 엔벨롭을 획득하는 단계는
상기 서브 영역 각각에 대한 주파수 도메인에서의 신호를 획득하는 단계;
상기 주파수 도메인에서의 신호에 대한 파워 스펙트럼을 획득하는 단계;
상기 파워 스펙트럼으로부터 상기 스펙트럴 엔벨롭을 획득하는 단계를 포함하는, 비디오 품질 평가 방법. - 제2 항에 있어서, 상기 분석 기반 품질 점수를 획득하는 단계는
상기 전체 블러 프레임에 포함된 복수개의 서브 영역 각각에 대한 스펙트럴 엔벨롭으로부터 스펙트럴 엔벨롭 분포 특징을 획득하는 단계; 및
상기 스펙트럴 엔벨롭 분포 특징을 분석하여, 상기 전체 블러 프레임에 대한 분석 기반 품질 점수를 획득하는 단계를 포함하는, 비디오 품질 평가 방법. - 제2 항에 있어서,
상기 부분 블러 프레임에 포함된 복수개의 서브 영역 각각에 대한 스펙트럴 엔벨롭으로부터 스펙트럴 엔벨롭 분포 특징을 획득하는 단계;
제1 뉴럴 네트워크를 이용하여 상기 부분 블러 프레임에 포함된 복수개의 서브 영역 각각에 대해 중요도 정보를 획득하는 단계; 및
상기 부분 블러 프레임에 포함된 상기 복수개의 서브 영역 각각에 대해 획득한 스펙트럴 엔벨롭 분포 특징 및 상기 중요도 정보로부터, 상기 서브 영역 별 가중치 값을 나타내는 가중치 매트릭스를 생성하는 단계를 더 포함하고,
상기 모델 기반 품질 점수를 획득하는 단계는 상기 가중치 매트릭스 및 상기 부분 블러 프레임으로부터, 상기 부분 블러 프레임에 대한 모델 기반 품질 점수를 획득하는 단계를 포함하는, 비디오 품질 평가 방법 - 제5 항에 있어서, 상기 중요도 정보를 획득하는 단계는 상기 제1 뉴럴 네트워크를 이용하여, 품질 점수에 영향을 줄 수 있는 요인과 관련된 하나 이상의 중요도 정보를 서브 영역 별로 획득하는 단계를 포함하고,
상기 품질 점수에 영향을 줄 수 있는 요인은 전경인지 배경인지에 대한 정보, 장르에 대한 정보, 시맨틱 정보, 위치 정보, 컨텐트 정보 중 적어도 하나를 포함하는, 비디오 품질 평가 방법. - 제5 항에 있어서, 상기 가중치 매트릭스를 수정하는 단계를 더 포함하고,
상기 가중치 매트릭스를 수정하는 단계는
상기 부분 블러 프레임에 포함된 제1 서브 영역의 스펙트럴 엔벨롭 분포 특징을 상기 제1 서브 영역에 이웃하는 적어도 하나의 주변 서브 영역의 스펙트럴 엔벨롭 분포 특징을 이용하여 수정하는 단계;
상기 제1 서브 영역의 중요도 정보를 상기 이웃하는 적어도 하나의 주변 서브 영역의 중요도 정보를 이용하여 수정하는 단계;
상기 수정된 스펙트럴 엔벨롭 분포 특징 및 상기 수정된 중요도 정보를 이용하여 상기 제1 서브 영역에 대한 수정된 가중치 값을 획득하는 단계를 포함하는, 비디오 품질 평가 방법. - 제5 항에 있어서, 상기 모델 기반 품질 점수를 획득하는 단계는 특징 벡터와 평균 의견 점수(Mean Opinion Score, MOS)간의 상관 관계를 미리 학습한 제2 뉴럴 네트워크를 이용하여 수행되는, 비디오 품질 평가 방법.
- 제8 항에 있어서, 상기 모델 기반 품질 점수를 획득하는 단계는
상기 제2 뉴럴 네트워크를 이용하여 상기 부분 블러 프레임으로부터 특징을 추출하고, 상기 추출한 특징 및 상기 가중치 매트릭스로부터 상기 부분 블러 프레임의 품질 점수를 획득하는 단계를 포함하고,
상기 추출한 특징은 블러 관련 특징, 모션 관련 특징, 컨텐트 관련 특징, 딥 특징, 통계적인 특징, 개념적인 특징, 공간적인 특징, 변형된 도메인 특징 중 적어도 하나를 포함하는, 비디오 품질 평가 방법. - 제1 항에 있어서, 상기 분석 기반 품질 점수 및 상기 모델 기반 품질 점수를 소정 시간 동안 누적하여 시계열 데이터를 획득하고, 상기 시계열 데이터를 스무딩하여 상기 비디오에 대한 최종 품질 점수를 획득하는 단계를 더 포함하는, 비디오 품질 평가 방법.
- 제10 항에 있어서, 상기 비디오에 대한 최종 품질 점수를 획득하는 단계는 제3 뉴럴 네트워크 모델을 이용하여 수행되고, 상기 제3 뉴럴 네트워크 모델은 LSTM(Long Short-Term Memory)인, 비디오 품질 평가 방법.
- 제10 항에 있어서, 상기 비디오의 화질을 처리하는 단계는 상기 비디오에 대한 최종 품질 점수에 기반하여, 상기 비디오에 포함된 프레임의 화질을 처리하는 단계를 포함하고,
상기 프레임의 화질을 처리하는 단계는
상기 최종 품질 점수에 따라 선택된 화질 처리 모델에 따라 상기 프레임의 화질을 처리하는 것,
상기 최종 품질 점수에 따라 결정된 화질 처리 모델 적용 횟수만큼 상기 프레임에 상기 화질 처리 모델을 반복하여 적용함으로써 상기 프레임의 화질을 처리하는 것,
상기 최종 품질 점수에 따라 설계된 필터를 상기 프레임에 적용하여 상기 소정 프레임의 화질을 처리하는 것,
상기 최종 품질 점수에 따라 수정된 하이퍼파라미터 값을 갖는 뉴럴 네트워크를 이용하여 상기 프레임의 화질을 처리하는 것,
중 적어도 하나를 이용하여 수행되는, 비디오 품질 평가 방법. - 비디오에 포함된 프레임을 입력 받는 단계;
상기 입력된 프레임의 블러 레벨에 기반하여, 상기 입력된 프레임이 전체 블러 프레임인지 부분 블러 프레임인지를 식별하는 단계;
상기 입력된 프레임이 상기 전체 블러 프레임인 것에 상응하여, 상기 전체 블러 프레임의 스펙트럴 엔벨롭 분포 특징을 획득하는 단계;
상기 입력된 프레임이 상기 부분 블러 프레임인 것에 상응하여, 상기 부분 블러 프레임의 모델 기반 특징을 획득하는 단계;
상기 전체 블러 프레임의 스펙트럴 엔벨롭 분포 특징 및 상기 부분 블러 프레임의 모델 기반 특징 중 적어도 하나로부터 상기 입력 프레임에 대한 최종 품질 점수를 획득하는 단계; 및
상기 최종 품질 점수에 기반하여 상기 비디오의 화질을 처리하는 단계를 포함하는, 비디오 품질 평가 방법. - 제13 항에 있어서, 상기 입력된 프레임에 포함된 복수개의 서브 영역 각각에 대해 중요도 정보를 획득하는 단계;
상기 입력된 프레임에 포함된 복수개의 서브 영역 각각에 대한 스펙트럴 엔벨롭 분포 특징을 획득하는 단계; 및
상기 중요도 정보 및 상기 스펙트럴 엔벨롭 분포 특징으로부터 상기 서브 영역 별 가중치를 획득하여 상기 입력 프레임에 대한 가중치 매트릭스를 생성하는 단계를 더 포함하고,
상기 입력 프레임에 대한 최종 점수를 획득하는 단계는 상기 전체 블러 프레임의 스펙트럴 엔벨롭 분포 특징 및 상기 부분 블러 프레임의 모델 기반 특징, 및 상기 가중치 매트릭스를 이용하여 상기 입력 프레임에 대한 최종 점수를 획득하는 단계를 포함하는, 비디오 품질 평가 방법. - 제13 항에 있어서, 상기 모델 기반 특징을 획득하는 단계는 적어도 하나의 뉴럴 네트워크를 이용하여, 상기 부분 블러 프레임으로부터 블러 관련 특징, 모션 관련 특징, 컨텐트 관련 특징, 딥 특징, 통계적인 특징, 개념적인 특징, 공간적인 특징, 변형된 도메인 특징 중 적어도 하나를 추출하는 단계를 포함하는, 비디오 품질 평가 방법.
- 비디오 품질 평가 장치에 있어서,
하나 이상의 인스트럭션을 저장하는 메모리; 및
상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고,
상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써, 비디오에 포함된 프레임의 블러 레벨에 기반하여, 상기 프레임이 전체 블러 프레임인지 부분 블러 프레임인지를 식별하고,
상기 입력된 프레임이 상기 전체 블러 프레임인 것에 상응하여, 상기 전체 블러 프레임에 대한 분석 기반 품질 점수를 획득하고,
상기 입력된 프레임이 상기 부분 블러 프레임인 것에 상응하여, 상기 부분 블러 프레임에 대한 모델 기반 품질 점수를 획득하고,
상기 분석 기반 품질 점수 및 상기 모델 기반 품질 점수 중 적어도 하나를 이용하여 상기 비디오의 화질을 처리하는 비디오 품질 평가 장치. - 제16 항에 있어서, 상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 전체 블러 프레임에 포함된 복수개의 서브 영역 각각에 대한 스펙트럴 엔벨롭으로부터 스펙트럴 엔벨롭 분포 특징을 획득하고, 상기 스펙트럴 엔벨롭 분포 특징을 분석하여 상기 전체 블러 프레임에 대한 분석 기반 품질 점수를 획득하는, 비디오 품질 평가 장치.
- 제16 항에 있어서, 상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 부분 블러 프레임에 포함된 복수개의 서브 영역 각각에 대한 스펙트럴 엔벨롭으로부터 스펙트럴 엔벨롭 분포 특징을 획득하고,
상기 부분 블러 프레임에 포함된 복수개의 서브 영역 각각에 대해 중요도 정보를 획득하고,
상기 부분 블러 프레임에 포함된 상기 복수개의 서브 영역 각각에 대해 획득한 스펙트럴 엔벨롭 분포 특징 및 상기 중요도 정보로부터, 상기 서브 영역 별 가중치 값을 나타내는 가중치 매트릭스를 생성하고,
상기 가중치 매트릭스 및 상기 부분 블러 프레임으로부터, 상기 부분 블러 프레임에 대한 모델 기반 품질 점수를 획득하는, 비디오 품질 평가 장치. - 비디오 품질 평가 장치에 있어서,
하나 이상의 인스트럭션을 저장하는 메모리; 및
상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고,
상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써, 비디오에 포함된 프레임의 블러 레벨에 기반하여, 상기 프레임이 전체 블러 프레임인지 부분 블러 프레임인지를 식별하고,
상기 프레임이 상기 전체 블러 프레임인 것에 상응하여, 상기 전체 블러 프레임의 스펙트럴 엔벨롭 분포 특징을 획득하고,
상기 프레임이 상기 부분 블러 프레임인 것에 상응하여, 상기 부분 블러 프레임의 모델 기반 특징을 획득하고,
상기 전체 블러 프레임의 스펙트럴 엔벨롭 분포 특징 및 상기 부분 블러 프레임의 모델 기반 특징 중 적어도 하나로부터 상기 입력 프레임에 대한 최종 점수를 획득하고, 상기 최종 품질 점수에 기반하여 상기 비디오의 화질을 처리하는, 비디오 품질 평가 장치. - 비디오에 포함된 프레임을 입력 받는 단계;
상기 입력된 프레임의 블러 레벨에 기반하여, 상기 입력된 프레임이 전체 블러 프레임인지 부분 블러 프레임인지를 식별하는 단계;
상기 입력된 프레임이 상기 전체 블러 프레임인 것에 상응하여, 상기 전체 블러 프레임에 대한 분석 기반 품질 점수를 획득하는 단계;
상기 입력된 프레임이 상기 부분 블러 프레임인 것에 상응하여, 상기 부분 블러 프레임에 대한 모델 기반 품질 점수를 획득하는 단계; 및
상기 분석 기반 품질 점수 및 상기 모델 기반 품질 점수 중 적어도 하나를 이용하여 상기 비디오의 화질을 처리하는 단계를 포함하는, 비디오 품질 평가 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200076767A KR20210158261A (ko) | 2020-06-23 | 2020-06-23 | 비디오 품질 평가 방법 및 장치 |
EP21829285.2A EP4088452A4 (en) | 2020-06-23 | 2021-06-15 | VIDEO QUALITY EVALUATION METHOD AND APPARATUS |
PCT/KR2021/007499 WO2021261830A1 (en) | 2020-06-23 | 2021-06-15 | Video quality assessment method and apparatus |
CN202180035503.0A CN115606174A (zh) | 2020-06-23 | 2021-06-15 | 视频质量评估方法和设备 |
US17/354,646 US11928793B2 (en) | 2020-06-23 | 2021-06-22 | Video quality assessment method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200076767A KR20210158261A (ko) | 2020-06-23 | 2020-06-23 | 비디오 품질 평가 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210158261A true KR20210158261A (ko) | 2021-12-30 |
Family
ID=79022405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200076767A KR20210158261A (ko) | 2020-06-23 | 2020-06-23 | 비디오 품질 평가 방법 및 장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11928793B2 (ko) |
EP (1) | EP4088452A4 (ko) |
KR (1) | KR20210158261A (ko) |
CN (1) | CN115606174A (ko) |
WO (1) | WO2021261830A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230142021A (ko) * | 2022-03-30 | 2023-10-11 | 주식회사 이노와이어리스 | 비 참조 영상 기반의 영상 품질 평가 방법 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11763546B1 (en) | 2017-07-26 | 2023-09-19 | Vizit Labs, Inc. | Systems and methods for managing computer memory for scoring images or videos using selective web crawling |
US11417085B2 (en) * | 2017-07-26 | 2022-08-16 | Vizit Labs, Inc. | Systems and methods for automating benchmark generation using neural networks for image or video selection |
US12020470B1 (en) | 2017-07-26 | 2024-06-25 | Vizit Labs, Inc. | Systems and methods for using image scoring an improved search engine |
US12118769B1 (en) | 2017-07-26 | 2024-10-15 | Vizit Labs, Inc. | Machine learning architecture for peer-based image scoring |
JP7215569B2 (ja) * | 2019-04-25 | 2023-01-31 | 日本電気株式会社 | オブジェクト特徴量抽出装置、オブジェクト特徴量抽出方法及びプログラム |
CN114511454B (zh) * | 2021-12-24 | 2024-10-11 | 广州市广播电视台 | 一种边缘加强的视频质量评估方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6298145B1 (en) * | 1999-01-19 | 2001-10-02 | Hewlett-Packard Company | Extracting image frames suitable for printing and visual presentation from the compressed image data |
KR100943595B1 (ko) * | 2003-01-30 | 2010-02-24 | 삼성전자주식회사 | 영상신호의 블러링 판단장치 및 방법 |
US20070055519A1 (en) * | 2005-09-02 | 2007-03-08 | Microsoft Corporation | Robust bandwith extension of narrowband signals |
US7873224B2 (en) | 2006-03-01 | 2011-01-18 | Qualcomm Incorporated | Enhanced image/video quality through artifact evaluation |
KR101270705B1 (ko) | 2006-09-26 | 2013-06-03 | 삼성디스플레이 주식회사 | 박막 트랜지스터 기판과 이의 제조 방법 및 이를 구비한액정표시패널 |
CN102317974B (zh) | 2009-02-12 | 2014-08-06 | 杜比实验室特许公司 | 图像序列的质量评估 |
KR101316699B1 (ko) * | 2009-11-24 | 2013-10-10 | 연세대학교 산학협력단 | 동영상 화질평가 시스템, 동영상 송신장치, 동영상 수신장치 및 그의 방법 |
KR101279705B1 (ko) * | 2011-12-22 | 2013-06-27 | 연세대학교 산학협력단 | 영상 프레임 내의 블러 측정 방법과 이를 이용하여 영상 프레임의 화질 측정 장치 및 방법 |
US9143776B2 (en) | 2012-05-07 | 2015-09-22 | Futurewei Technologies, Inc. | No-reference video/image quality measurement with compressed domain features |
US9706111B2 (en) | 2015-07-08 | 2017-07-11 | Santa Clara | No-reference image and video quality evaluation |
KR102284096B1 (ko) * | 2017-12-22 | 2021-07-29 | 한국전기연구원 | 중요도 맵을 이용한 지능형 주관적 화질 평가 시스템, 방법, 및 상기 방법을 실행시키기 위한 컴퓨터 판독 가능한 프로그램을 기록한 기록 매체 |
US11394863B2 (en) * | 2018-09-06 | 2022-07-19 | Arlo Technologies, Inc. | No-reference image quality assessment for iterative batch video analysis |
KR102182049B1 (ko) | 2018-12-19 | 2020-11-24 | 경운대학교 산학협력단 | 통학버스 예약탑승시스템 |
US11176654B2 (en) * | 2019-03-27 | 2021-11-16 | Sharif University Of Technology | Quality assessment of a video |
US10819983B1 (en) * | 2019-10-01 | 2020-10-27 | Facebook, Inc. | Determining a blurriness score for screen capture videos |
US11386663B1 (en) * | 2020-08-28 | 2022-07-12 | Headspin, Inc. | Reference-free system for determining quality of video data |
-
2020
- 2020-06-23 KR KR1020200076767A patent/KR20210158261A/ko not_active Application Discontinuation
-
2021
- 2021-06-15 EP EP21829285.2A patent/EP4088452A4/en active Pending
- 2021-06-15 CN CN202180035503.0A patent/CN115606174A/zh active Pending
- 2021-06-15 WO PCT/KR2021/007499 patent/WO2021261830A1/en unknown
- 2021-06-22 US US17/354,646 patent/US11928793B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230142021A (ko) * | 2022-03-30 | 2023-10-11 | 주식회사 이노와이어리스 | 비 참조 영상 기반의 영상 품질 평가 방법 |
Also Published As
Publication number | Publication date |
---|---|
WO2021261830A1 (en) | 2021-12-30 |
CN115606174A (zh) | 2023-01-13 |
EP4088452A1 (en) | 2022-11-16 |
EP4088452A4 (en) | 2023-11-22 |
US20210398265A1 (en) | 2021-12-23 |
US11928793B2 (en) | 2024-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11928793B2 (en) | Video quality assessment method and apparatus | |
CN109844736B (zh) | 概括视频内容 | |
US11989868B2 (en) | Video quality assessing method and apparatus | |
US10740885B2 (en) | Object based image processing | |
US9600744B2 (en) | Adaptive interest rate control for visual search | |
US11960996B2 (en) | Video quality assessment method and apparatus | |
US20220392210A1 (en) | Electronic device for performing video quality assessment, and operation method of the electronic device | |
US11508053B2 (en) | Systems and methods for compression artifact detection and remediation | |
US11735144B2 (en) | Image display apparatus and image displaying method | |
KR20220000758A (ko) | 영상 검출 장치 및 그 동작 방법 | |
KR20230009806A (ko) | 영상 처리 장치 및 그 동작 방법 | |
KR20210088399A (ko) | 영상 표시 장치 및 방법 | |
KR20220159250A (ko) | 비디오 품질을 평가하는 전자 장치 및 그 동작 방법 | |
US20230209087A1 (en) | Method and device for improving video quality | |
Shen et al. | No-reference stereoscopic 3D image quality assessment via combined model | |
WO2024039964A1 (en) | Systems and methods for blur identification and correction | |
KR20220117057A (ko) | 오디오의 존재 및 비존재에 따른 비디오 품질 평가 방법 및 장치 | |
Cui et al. | No-reference video shakiness quality assessment | |
Huong et al. | An Effective Foveated 360° Image Assessment Based on Graph Convolution Network | |
CN117495854B (zh) | 视频数据处理方法、设备及存储介质 | |
Mittal | Natural scene statistics-based blind visual quality assessment in the spatial domain | |
US20230290109A1 (en) | Behavior-based computer vision model for content selection | |
US20240121402A1 (en) | Techniques for predicting video quality across different viewing parameters | |
US20240119575A1 (en) | Techniques for generating a perceptual quality model for predicting video quality across different viewing parameters | |
US20240273681A1 (en) | Method, apparatus, device and storage medium for video processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal |