KR102455509B1 - 상보적 지각 품질 모델들에 기반하여 지각 비디오 품질을 예측하기 위한 기술들 - Google Patents

상보적 지각 품질 모델들에 기반하여 지각 비디오 품질을 예측하기 위한 기술들 Download PDF

Info

Publication number
KR102455509B1
KR102455509B1 KR1020207025322A KR20207025322A KR102455509B1 KR 102455509 B1 KR102455509 B1 KR 102455509B1 KR 1020207025322 A KR1020207025322 A KR 1020207025322A KR 20207025322 A KR20207025322 A KR 20207025322A KR 102455509 B1 KR102455509 B1 KR 102455509B1
Authority
KR
South Korea
Prior art keywords
quality score
visual quality
video content
feature
values
Prior art date
Application number
KR1020207025322A
Other languages
English (en)
Other versions
KR20200116973A (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 넷플릭스, 인크.
Publication of KR20200116973A publication Critical patent/KR20200116973A/ko
Application granted granted Critical
Publication of KR102455509B1 publication Critical patent/KR102455509B1/ko

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/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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • G06K9/6269
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/98Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
    • G06V10/993Evaluation of the quality of the acquired pattern
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30168Image quality inspection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Image Analysis (AREA)

Abstract

다양한 실시예들에서, 앙상블 예측 애플리케이션은 시각적 콘텐츠로부터 도출되는 재구성된 시각적 콘텐츠에 대한 품질 스코어를 계산한다. 앙상블 예측 애플리케이션은 제1 세트의 특징들에 대한 제1 세트의 값들 및 제1 세트의 값들을 제1 품질 스코어와 연관시키는 제1 모델에 기반하여 재구성된 비디오 콘텐츠에 대한 제1 품질 스코어를 계산한다. 앙상블 예측 애플리케이션은 제2 세트의 특징들에 대한 제2 세트의 값들 및 제2 세트의 값들을 제2 품질 스코어와 연관시키는 제2 모델에 기반하여 재구성된 비디오 콘텐츠에 대한 제2 품질 스코어를 계산한다. 이어서, 앙상블 예측 애플리케이션은 제1 품질 스코어 및 제2 품질 스코어에 기반하여 재구성된 비디오 콘텐츠에 대한 전체 품질 스코어를 결정한다. 전체 품질 스코어는 스트리밍된 비디오 콘텐츠와 연관된 시각적 품질의 레벨을 표시한다.

Description

상보적 지각 품질 모델들에 기반하여 지각 비디오 품질을 예측하기 위한 기술들
관련 출원들에 대한 상호 참조
본 출원은 2018년 2월 7일자로 출원된 미국 특허 출원 제15/890,710호의 이익을 주장하며, 이 출원은 본 명세서에 참조로 포함된다.
본 발명의 실시예들은 일반적으로 비디오 기술에 관한 것이며, 보다 구체적으로는 상보적 지각 품질 모델들에 기반하여 지각 비디오 품질을 예측하기 위한 기술들에 관한 것이다.
소스 비디오 콘텐츠를 효율적이고 정확하게 인코딩하는 것은 고품질의 비디오 콘텐츠의 실시간 전달에 중요하다. 인코딩된 비디오 콘텐츠 품질의 변동들로 인해, 인코딩된 소스 비디오 콘텐츠로부터 디코딩된 재구성된 비디오 콘텐츠의 시각적 품질이 수용가능한 것을 보장하기 위해 품질 제어들을 구현하는 것이 바람직하다. 재구성된 비디오 콘텐츠의 시각적 품질을 수동적으로 검증하는 것은 엄청나게 시간 소모적이다. 따라서, 자동화된 비디오 콘텐츠 품질 평가는 종종 인코딩 및 스트리밍 기반구조의 필수 부분이다. 예를 들어, 스트리밍된 비디오 콘텐츠를 최적화하기 위해 인코더들을 평가하고 스트리밍 비트레이트들을 미세 조정할 때 자동화된 비디오 품질 평가가 이용될 수 있다.
재구성된 비디오 콘텐츠의 품질을 자동으로 평가하는 일부 접근법들은 시각적 품질의 사람 평가들에 기반하여 트레이닝되는 지각 품질 모델에 기반하여 품질 스코어를 계산하는 것을 수반한다. 일반적으로, 지각 품질 모델들은 재구성된 비디오 콘텐츠의 특징(feature)들에 대한 값들을 상이한 품질 스코어들과 연관시킨다. 지각 품질 모델을 통해 재구성된 비디오 콘텐츠의 품질을 예측하는 한 가지 제한은 지각 품질 모델들이 전형적으로 강건성이 부족하다는 것이다. 예를 들어, 지각 품질 모델과 연관된 특징들 중 어느 것도 특정 유형들의 왜곡들을 반영하지 않으면, 지각 품질 모델은 이러한 왜곡들을 포함하는 재구성된 비디오 콘텐츠의 품질의 사람 지각을 정확하게 예측할 수 없다.
특히, 지각 품질 모델들은 통상적으로 공중-도메인 라이브 비디오 품질 데이터베이스에 포함된 재구성된 비디오 콘텐츠의 지각된 시각적 품질을 신뢰성 있게 예측할 수 없다. 라이브 비디오 품질 데이터베이스에 대한 지각 품질 모델들의 결함들의 분석은 지각 품질 모델과 연관된 특징들 중 어느 것도 많은 유형들의 복잡한 시간적 비디오 왜곡들에 기인하는 지각된 품질 저하를 정확하게 모델링하지 않음을 나타낸다. 복잡한 시간적 비디오 왜곡들의 예들은, 제한 없이, 움직임 추정 불일치들, 깜박임, 및 고스팅을 포함한다.
전술한 바와 같이, 본 기술분야에서 필요한 것은 재구성된 비디오 콘텐츠의 지각된 품질을 예측하기 위한 보다 효과적인 기술들이다.
본 발명의 일 실시예는 재구성된 비디오 콘텐츠의 지각된 비디오 품질을 예측하기 위한 컴퓨터에 의해 구현되는 방법을 제시한다. 이 방법은 제1 세트의 특징들에 대한 제1 세트의 값들 및 제1 세트의 값들을 제1 품질 스코어와 연관시키는 제1 모델에 기반하여 재구성된 비디오 콘텐츠에 대한 제1 품질 스코어를 계산하는 단계 - 제1 모델은 제1 기계 학습 알고리즘을 통해 생성됨 -; 제2 세트의 특징들에 대한 제2 세트의 값들 및 제2 세트의 값들을 제2 품질 스코어와 연관시키는 제2 모델에 기반하여 재구성된 비디오 콘텐츠에 대한 제2 품질 스코어를 계산하는 단계; 및 제1 품질 스코어 및 제2 품질 스코어에 기반하여 재구성된 비디오 콘텐츠에 대한 전체 품질 스코어를 결정하는 단계 - 전체 품질 스코어는 스트리밍된 비디오 콘텐츠와 연관된 시각적 품질의 레벨을 표시함 - 를 포함한다.
지각된 비디오 품질을 예측하기 위한 개시된 기술들의 적어도 하나의 이점은, 전체 품질 스코어가 다양한 재구성된 비디오 콘텐츠의 다양한 범위에 걸쳐 지각된 비디오 품질을 정확하게 예측한다는 것이다. 특히, 종래 기술에 대한 적어도 하나의 기술적 개선은 개시된 기술들이 상이한 세트들의 특징들과 연관된 상이한 지각 품질 모델들을 통해 획득된 품질 스코어들을 집계하여 전체 품질 스코어를 결정한다는 것이다. 특징들이 지각 품질 모델들 간에 분산되기 때문에, 개시된 기술들은 특징들의 총 수를 증가시키는 것이 과적합에 기인하는 부정확성들을 낳을 가능성을 감소시킨다.
위에 언급한 본 발명의 특징들이 상세하게 이해될 수 있는 방식으로, 위에서 간략히 요약된 본 발명의 더 구체적인 설명이 실시예들을 참조하여 이루어질 수 있으며, 실시예들 중 일부가 첨부 도면들에 도시되어 있다. 그러나, 첨부 도면들은 본 발명의 통상적인 실시예들만을 도시할 뿐이며, 따라서 그 범위를 제한하는 것으로 간주되지 않아야 하는 바, 이는 본 발명이 다른 동등하게 효과적인 실시예들에 적용될 수 있기 때문임에 유의해야 한다.
도 1은 본 발명의 하나 이상의 양태를 구현하도록 구성된 시스템의 개념적인 도면이다.
도 2는 본 발명의 다양한 실시예들에 따른, 도 1의 시간적 추출기의 더 상세한 도면이다.
도 3은 본 발명의 다양한 실시예들에 따라, 재구성된 비디오 콘텐츠에 대한 품질 스코어를 계산하기 위한 방법의 단계들의 흐름도이다.
도 4는 본 발명의 하나 이상의 양태를 구현하도록 구성된 앙상블 시스템의 개념적인 도면이다.
도 5는 본 발명의 다양한 실시예들에 따라, 2개의 상이한 세트의 특징들에 기반하여 재구성된 비디오 콘텐츠에 대한 전체 품질 스코어를 계산하기 위한 방법의 단계들의 흐름도이다.
이하의 설명에서, 본 발명의 보다 철저한 이해를 제공하기 위해 많은 특정 상세들이 제시된다. 그러나, 관련 기술분야의 통상의 기술자에게는 본 발명이 이들 특정 상세들 중 하나 이상 없이도 실시될 수 있음이 명백할 것이다.
개시된 기술들은 품질 스코어와 특징들에 대한 값들을 연관시키는 지각 품질 모델을 통해 재구성된 비디오 콘텐츠에 대한 품질 스코어들을 효율적이고 신뢰성 있게 예측한다. 특히, 지각 품질 모델은 복수의 시간적 특징과 연관되며, 여기서 각각의 시간적 특징은 상이한 스케일과 연관된다. 동작 시에, 시간적 추출기는 재구성된 비디오 콘텐츠, 연관된 비디오 콘텐츠, 및 시간적 특징과 연관된 스케일에 기반하여 특정 시간적 특징에 대한 프레임별 값들을 계산한다. 주어진 프레임에 대해, 시간적 추출기는 프레임과 인접 프레임 사이의 휘도의 차이를 지정하는 프레임 차이 행렬을 계산한다. 그 후, 시간적 추출기는 스케일에 기반하여 프레임 차이 행렬을 다운샘플링하여 스케일링된 프레임 차이 행렬을 생성한다. 이어서, 시간적 추출기는 스케일링된 프레임 차이 행렬에 대해 시간적 필터링 동작들 및 로컬 평균-감산된 동작들을 수행하여 로컬 평균-감산된 행렬을 계산한다. 그 후, 시간적 추출기는 스케일링된 프레임 차이 행렬에 대해 조정 동작들을 수행하여 재구성된 비디오 콘텐츠의 프레임과 연관된 제1 가중된 엔트로피 행렬을 생성한다.
유사한 방식으로, 시간적 추출기는 비디오 콘텐츠 및 스케일에 기반하여 제2 가중된 엔트로피 행렬을 도출한다. 시간적 추출기는 제1 가중된 엔트로피 행렬과 제2 가중된 엔트로피 행렬 사이의 감산 동작들을 수행하여 엔트로피 차이 행렬을 계산한다. 마지막으로, 시간적 추출기는 엔트로피 차이 행렬에 대해 공간적 풀링 동작들을 수행하여 재구성된 비디오 콘텐츠의 프레임의 시간적 특징에 대한 단일 값을 생성한다. 복수의 스케일에서의 엔트로피 차이 행렬들을 계산하는 것이 사람의 시각 체계가 시각적 정보를 처리하는 방법의 양태들을 따라 가기 때문에, 지각 품질 모델은 많은 유형들의 복잡한 시간적 비디오 왜곡들에 기인하는 지각 품질 저하를 정확하게 모델링한다.
일부 실시예들에서, 앙상블 예측 엔진은 2개의 지각 품질 모델에 기반하여 재구성된 비디오 콘텐츠에 대한 앙상블 품질 스코어를 계산한다. 각각의 지각 품질 모델은 상이한 품질 스코어와 상이한 세트의 특징들에 대한 값들을 연관시킨다. 앙상블 예측 엔진은 2개의 지각 품질 모델을 통해 획득된 품질 스코어들을 합성하여 앙상블 품질 스코어를 획득한다. 유리하게, 2개의 예측 품질 모델 간에 특징들을 분산하는 것은 특징들의 총 수를 증가시키는 것이 과적합에 기인하는 부정확성들을 낳을 가능성을 감소시킨다.
시스템 개요
도 1은 본 발명의 하나 이상의 양태를 구현하도록 구성된 시스템(100)의 개념적인 도면이다. 도시된 바와 같이, 시스템(100)은 임의의 수의 컴퓨트 인스턴스들(110), 트레이닝 데이터베이스(120), 객관적 데이터베이스(objective database)(150), 주관적 데이터베이스(subjective database)(182), 및 타겟 특징 데이터베이스(170)를 포함하지만, 이에 제한되지 않는다. 설명을 위해, 유사한 객체들의 복수의 인스턴스들은, 필요한 경우, 객체를 식별하는 참조 번호들 및 인스턴스를 식별하는 괄호 안의 번호들로 표시된다. 다양한 실시예들에서, 시스템(100)의 임의의 수의 구성요소들은 복수의 지리적 위치들에 걸쳐 분산되거나 또는 하나 이상의 클라우드 컴퓨팅 환경(즉, 캡슐화된 공유 리소스들, 소프트웨어, 데이터 등)에 임의의 조합으로 포함될 수 있다.
도시된 바와 같이, 컴퓨트 인스턴스들(110) 각각은 프로세서(112) 및 메모리(116)를 포함하지만 이에 제한되지 않는다. 프로세서(112)는 명령어들을 실행할 수 있는 임의의 명령어 실행 시스템, 장치 또는 디바이스일 수 있다. 예를 들어, 프로세서(112)는 중앙 처리 유닛(CPU), 그래픽 처리 유닛(GPU), 제어기, 마이크로제어기, 상태 기계, 또는 이들의 임의의 조합을 포함할 수 있다. 메모리(116)는 컴퓨트 인스턴스(110)의 프로세서(112)에 의한 이용을 위해 소프트웨어 애플리케이션들 및 데이터와 같은 콘텐츠를 저장한다.
메모리(116)는 쉽게 이용가능한 메모리, 예컨대, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 플로피 디스크, 하드 디스크, 또는 임의의 다른 형태의 로컬 또는 원격의 디지털 저장소 중 하나 이상일 수 있다. 일부 실시예들에서, 저장소(도시되지 않음)가 메모리(116)를 보충하거나 대체할 수 있다. 저장소는 프로세서(112)에 액세스가능한 임의의 수 및 유형의 외부 메모리들을 포함할 수 있다. 예를 들어, 제한 없이, 저장소는 보안 디지털 카드, 외부 플래시 메모리, 휴대용 컴팩트 디스크 판독 전용 메모리(CD-ROM), 광학 저장 디바이스, 자기 저장 디바이스, 또는 전술한 것의 임의의 적절한 조합을 포함할 수 있다.
일반적으로, 컴퓨트 인스턴스들(110)은 하나 이상의 애플리케이션을 구현하도록 구성된다. 단지 설명을 위해, 각각의 애플리케이션은 단일 컴퓨트 인스턴스(110)의 메모리(116)에 상주하고 단일 컴퓨트 인스턴스(110)의 프로세서(112) 상에서 실행되는 것으로 도시된다. 그러나, 관련 기술분야의 통상의 기술자가 인식하는 바와 같이, 각각의 애플리케이션의 기능은 임의의 수의 컴퓨트 인스턴스들(110)의 메모리들(116)에 상주하고 임의의 수의 컴퓨트 인스턴스들(110)의 프로세서들(112) 상에서 임의의 조합으로 실행되는 임의의 수의 다른 애플리케이션들에 걸쳐 분산될 수 있다. 또한, 임의의 수의 애플리케이션들의 기능은 단일 애플리케이션 또는 서브시스템으로 통합될 수 있다.
특히, 컴퓨트 인스턴스들(110)은 재구성된 비디오 콘텐츠에 대한 자동화된 비디오 콘텐츠 품질 평가를 제공하도록 구성된다. 비디오 콘텐츠 품질 평가는 인코딩 및 스트리밍 기반구조와 연관된 품질 제어들을 구현하는데 이용될 수 있다. 예를 들어, 허용가능한 시청 경험을 보장하기 위해, 재구성된 비디오 콘텐츠의 품질 및 간접적으로, 인코딩 및 스트리밍 기반구조에 포함된 요소들의 역량은 통상적으로 시각적 품질 스코어들에 기반하여 설계 및 전달 프로세스에서의 다양한 포인트들에서 평가된다. 시각적 품질 스코어들은 그 후 애플리케이션들(예를 들어, 인코더들)의 개발, 및 품질을 인식하는 스트림 스위칭 알고리즘들과 같은 콘텐츠 전달의 실시간 최적화를 안내하는데 이용된다.
도시된 바와 같이, 트레이닝 특징 엔진(130), 트레이닝 엔진(180), 예측 엔진(192), 특징 추출기(140)의 인스턴스, 및 시간적 풀링 엔진(194)은 메모리(116)에 상주하고 상이한 컴퓨트 인스턴스들(110)의 프로세서(112) 상에서 실행된다. 대안적인 실시예들에서, 트레이닝 특징 엔진(130), 트레이닝 엔진(180), 특징 추출기(140), 예측 엔진(192), 시간적 풀링 엔진(194), 트레이닝 특징 엔진(130), 및 트레이닝 엔진(180)의 임의의 수의 인스턴스들은 임의의 수 및 유형들의 메모리에 상주할 수 있고 임의의 수 및 유형들의 처리 디바이스들 상에서 임의의 조합으로 실행될 수 있다.
점선들로 도시된 학습 단계 동안, 트레이닝 특징 엔진(130) 및 트레이닝 엔진(180)은 협력하여 지각 품질 모델(190)을 생성한다. 재구성된 비디오 콘텐츠의 경우, 지각 품질 모델(190)은 재구성된 비디오 콘텐츠를 시청할 때 주관적인 사람의 시각적 경험과 상관되는 품질 스코어(184)와 특징들의 세트에 대한 값들의 세트를 연관시킨다.
동작 시에, 트레이닝 특징 엔진(130)은 트레이닝 데이터베이스(120)를 획득하고 객관적 데이터베이스(150)를 생성한다. 트레이닝 데이터베이스(120)는 임의의 수의 소스들(122) 및 임의의 수의 재구성된 소스들(124)을 포함하지만 이에 제한되지 않는다. 소스들(122) 각각은 임의의 양 및 유형의 비디오 콘텐츠를 포함하지만, 이에 제한되지 않는다. 비디오 콘텐츠의 예들은, 몇 가지 예를 들자면, 제한 없이, 장편 영화들의 임의의 부분(모두를 포함함), 텔레비전 프로그램들의 에피소드들, 및 뮤직 비디오들을 포함한다. 재구성된 소스들(124) 각각은 소스들(122) 중 하나에 포함된 비디오 콘텐츠로부터 도출되는 재구성된 비디오 콘텐츠를 포함하지만 이에 제한되지 않는다.
일반적으로, 재구성된 소스들(124) 각각은 연관된 소스(122)에 포함된 비디오 콘텐츠를 스트리밍 기반구조 및 디스플레이 디바이스를 통해 시청자에게 전달되는 것으로서 복제한다. 재구성된 소스들(124)은 임의의 수의 인코딩 파라미터들에 기반하여 그리고 임의의 기술적으로 실현가능한 방식으로 소스들(122)로부터 도출될 수 있다. 예를 들어, 일부 실시예들에서, 3개의 상이한 재구성된 소스(124)가 소스들(122) 각각으로부터 도출된다. 인코딩 파라미터들의 3개의 상이한 세트 각각에 대해, 인코딩 엔진(도 1에 도시되지 않음)은 소스(122(x))를 독립적으로 인코딩한다. 3개의 결과적인 인코딩된 소스 각각에 대해, 디코딩 엔진(도 1에 도시되지 않음)은 인코딩된 소스를 독립적으로 디코딩하여 소스들(122(x))로부터 도출된 재구성된 소스들(124) 중 하나를 생성한다.
도시된 바와 같이, 트레이닝 특징 엔진(130)은 특징 추출기(140)를 포함하지만 이에 제한되지 않는다. 특징 추출기(140)는 특징들에 대한 값들을 계산한다. 특징들 각각은 공간적 비디오 왜곡들을 측정하는 "공간적 특징" 또는 시간적 시각적 왜곡들을 측정하는 "시간적 특징"이다. 공간적 비디오 왜곡들의 예들은 제한 없이 압축 아티팩트들, 스케일링 아티팩트들, 및 필름 그레인 노이즈를 포함한다. 시간적 비디오 왜곡들의 예들은 제한 없이 움직임 추정 불일치들, 깜박임, 및 고스팅을 포함한다.
특징 추출기(140)는 공간적 추출기(148) 및 시간적 추출기(146)를 포함하지만 이에 제한되지 않는다. 각각의 재구성된 소스(124(x)) 및 각각의 공간적 특징에 대해, 공간적 추출기(148)는 재구성된 소스(124(x)) 및 임의적으로, 재구성된 소스(124(x))와 연관된 소스(122)에 기반하여 공간적 어레이(172(x))를 계산한다. 공간적 어레이(172(x))는 재구성된 소스(124(x))에 포함된 각각의 프레임에 대한 상이한 프레임 값을 포함하지만 이에 제한되지 않는다.
유사하게, 각각의 재구성된 소스(124(x)) 및 각각의 시간적 특징에 대해, 시간적 추출기(146)는 재구성된 소스(124(x)) 및 재구성된 소스(124(x))와 연관된 소스(122)에 기반하여 시간적 어레이(174(x))를 계산한다. 시간적 어레이(174(x))는 재구성된 소스(124(x))에 포함된 각각의 프레임에 대한 상이한 프레임 쌍 값을 포함하지만 이에 제한되지 않는다. 본 명세서에서 지칭되는 바와 같이, "프레임 쌍"은 2개의 순차적 프레임을 포함하고, 프레임 쌍 값은 2개의 순차적 프레임 중 제1 프레임과 연관된다. 대안적인 실시예들에서, 특징 추출기(140)는 임의의 기술적으로 실현가능한 방식으로 특정의 재구성된 소스(124)의 특정한 특징에 대한 임의의 수의 값들을 계산할 수 있다.
각각의 공간적 특징 및 각각의 재구성된 소스(124(x))에 대해, 트레이닝 특징 엔진(130)은 재구성된 소스(124(x))의 특징에 대한 공간적 값(162)을 결정하기 위해 공간적 특징과 연관된 공간적 어레이(172(x))에 대해 시간적 풀링 동작들을 수행한다. 트레이닝 특징 엔진(130)은 임의의 기술적으로 실현가능한 방식으로 임의의 양 및 유형의 시간적 풀링 동작들을 수행할 수 있다. 예를 들어, 일부 실시예들에서, 트레이닝 특징 엔진(130)은 재구성된 소스(124(x))의 주어진 공간적 특징에 대한 공간적 값(162)을 그 특징과 연관된 공간적 어레이(172(x))에 포함된 프레임 값들의 평균과 동일하게 설정할 수 있다. 유사하게, 각각의 시간적 특징 및 각각의 재구성된 소스(124(x))에 대해, 트레이닝 특징 엔진(130)은 재구성된 소스(124(x))의 주어진 시간적 특징에 대한 시간적 값(164)을 그 특징과 연관된 시간적 어레이(174(x))에 포함된 프레임 쌍 값들의 평균과 동일하게 설정하는 것을 수행할 수 있다.
재구성된 소스들(124) 각각에 대해, 트레이닝 특징 엔진(130)은 제한 없이 재구성된 소스(124)의 특징들에 대한 공간적 값들(162) 및 시간적 값들(164)을 포함하는 트레이닝 특징 데이터베이스(152)를 생성한다. 이어서, 트레이닝 특징 엔진(130)은 제한 없이 트레이닝 특징 데이터베이스들(152)을 포함하는 객관적 데이터베이스(150)를 생성한다. 그 결과, 트레이닝 데이터베이스(120)가 N개의 재구성된 소스(124)를 포함하는 경우, 객관적 데이터베이스(150)는 N개의 트레이닝 특징 데이터베이스(152)를 포함한다. 또한, 특징 추출기(140)가 S개의 공간적 특징에 대한 S개의 공간적 어레이(172) 및 T개의 시간적 특징에 대한 T개의 시간적 어레이(174)를 계산하는 경우, 트레이닝 특징 데이터베이스들(152) 각각은 S개의 공간적 값(162) 및 T개의 시간적 값(164)을 포함한다.
트레이닝 엔진(180)은 객관적 데이터베이스(150) 및 주관적 데이터베이스(182)에 기반하여 지각 품질 모델(190)을 생성한다. 주관적 데이터베이스(182)는 재구성된 소스들(142) 각각의 품질 스코어(184)를 포함하지만 이에 제한되지 않는다. 재구성된 소스(142(x))에 대한 품질 스코어(184(x))는 재구성된 소스(142(x))의 사람의 시청들에 기반하여 생성된다. 보다 구체적으로, 시청자들이 디스플레이 디바이스들 상에서 재구성된 소스(142(x))를 볼 때, 시청자들은 시각적 품질을 개인적으로 평가하여 개인화된 스코어들을 할당한다. 개인화된 스코어들은 이후 집계되어 품질 스코어(184(x))를 생성한다.
트레이닝 엔진(180)은 객관적 데이터베이스(150) 및 주관적 데이터베이스(182)에 기반하여 지각 품질 모델(190)을 생성하기 위해 임의의 기술적으로 실현가능한 방식으로 임의의 수 및 유형의 기계 학습 알고리즘들을 구현한다. 기계 학습 알고리즘들의 예들은 몇 가지 예를 들자면, 제한 없이, 서포트 벡터 기계 알고리즘들, 인공 신경망 알고리즘들, 및 랜덤 포레스트 알고리즘들을 포함한다. 일반적으로, 재구성된 소스들(124(x)) 각각에 대해, 지각 품질 모델(190)은 객관적 데이터베이스(150(x))에 포함된 공간적 값들(162) 및 시간적 값들(164)과 주관적 데이터베이스(182)에 포함된 품질 스코어(184(x)) 사이의 연관성에 기반하여 트레이닝된다. 대안적인 실시예들에서, 트레이닝 엔진(180)은 (예를 들어, 프레임 품질 스코어들과 특징들에 대한 프레임 값들을 연관시키는 것에 기반하여) 임의의 기술적으로 실현가능한 세분성 레벨에서 지각 품질 모델(190)을 트레이닝할 수 있다.
특히, 트레이닝 엔진(180)이 지각 품질 모델(190)을 트레이닝하는 세분성에 상관없이, 지각 품질 모델(190)은 임의의 주어진 세분성에서의 특징들의 세트에 대한 값들의 세트를 동일한 세분성에서의 스코어와 연관시킨다. 보다 정확하게는, 지각 품질 모델(190)은 S개의 공간적 특징의 세트에 대한 S개의 값의 세트 및 T개의 시간적 특징의 세트에 대한 T개의 값의 세트를 연관된 지각된 시각적 품질을 예측하는 스코어와 연관시킨다. 예를 들어, 지각 품질 모델(190)은 제1 프레임의 공간적 특징들에 대한 S개의 프레임 값의 세트 및 제1 프레임의 시간적 특징들에 대한 T개의 프레임 쌍 값의 세트를 제1 프레임의 지각된 시각적 품질을 나타내는 프레임 스코어와 연관시킨다.
실선들로 도시된 예측 단계 동안, 특징 추출기(140), 예측 엔진(192), 및 시간적 풀링 엔진(194)은 지각 품질 모델(190), 재구성된 타겟(144), 및 타겟(142)에 기반하여 재구성된 타겟(144)의 품질 스코어(184)를 예측하도록 협력한다. 특징 추출기(140), 예측 엔진(192), 및 시간적 풀링 엔진(194)은 일괄하여 본 명세서에서 "예측 애플리케이션"으로 지칭된다. 재구성된 타겟(144)은 타겟(142)에 포함된 비디오 콘텐츠로부터 도출되는 재구성된 비디오 콘텐츠를 포함하지만 이에 제한되지 않는다. 타겟(142)은 제한 없이 임의의 양 및 유형의 비디오 콘텐츠를 포함한다.
재구성된 타겟(144)은 연관된 소스(122)에 포함된 비디오 콘텐츠를 스트리밍 기반구조 및 디스플레이 디바이스를 통해 시청자에게 전달되는 것으로서 복제한다. 재구성된 타겟(144)은 임의의 기술적으로 실현가능한 방식으로 생성될 수 있다. 예를 들어, 일부 실시예들에서, 인코더는 일정한 레이트의 인코딩 전략에 기반하여 타겟(142)을 인코딩하여 인코딩된 타겟을 생성한다. 후속하여, 디코더는 인코딩된 타겟을 디코딩하여 재구성된 타겟(144)을 생성한다.
지각 품질 모델(190)과 연관된 각각의 공간적 특징에 대해, 공간적 추출기(148)는 재구성된 타겟(144) 및 임의적으로 타겟(142)에 기반하여 공간적 어레이(172)를 계산한다. 지각 품질 모델(190)과 연관된 각각의 시간적 특징에 대해, 시간적 추출기(146)는 재구성된 타겟(144) 및 타겟(142)에 기반하여 시간적 어레이(174)를 계산한다. 이러한 방식으로, 재구성된 타겟(144)에 포함된 각각의 프레임에 대해, 특징 추출기(140)는 각각의 공간적 특징에 대한 상이한 프레임 값 및 각각의 시간적 특징에 대한 상이한 프레임 쌍 값을 계산한다.
재구성된 타겟(144)에 포함된 각각의 프레임에 대해, 예측 엔진(192)은 프레임과 연관된 프레임 값들, 프레임과 연관된 프레임 쌍 값들, 및 지각 품질 모델(190)에 기반하여 프레임 스코어를 생성한다. 예를 들어, 재구성된 타겟(144)에 포함된 제1 프레임에 대해, 예측 엔진(192)은 공간적 어레이들(172)의 제1 엔트리들 및 시간적 어레이들(174)의 제1 엔트리들에 기반하여 특징들에 대한 제1 세트의 값들을 결정한다. 그 다음, 예측 엔진(192)은 특징들에 대한 제1 세트의 값들 및 지각 품질 모델(190)에 기반하여 제1 프레임에 대한 프레임 스코어를 결정한다. 대안적인 실시예들에서, 예측 엔진(192)은 동일한 세분성 레벨에서의 특징들에 대한 값들 및 지각 품질 모델(190)에 기반하여 임의의 세분성 레벨에서 지각된 시각적 품질에 대한 스코어들을 계산할 수 있다.
후속하여, 시간적 풀링 엔진(194)은 프레임 스코어들의 산술 평균에 기반하여 재구성된 타겟(144)의 품질 스코어(184)를 결정한다. 보다 구체적으로, 시간적 풀링 엔진(184)은 모든 프레임 스코어들을 합산하고 이후 그 합산을 프레임들의 총 수로 나누어 품질 스코어(184)를 계산한다. 따라서, 품질 스코어(184)는 재구성된 타겟(144)에 포함된 프레임들에 걸친 평균 시각적 품질을 나타낸다. 마지막으로, 시간적 풀링 엔진(194)은 스트리밍된 비디오 콘텐츠의 평가를 위해 재구성된 타겟(144)의 품질 스코어(184)를 전송 또는 표시한다.
대안적인 실시예들에서, 시간적 풀링 엔진(194)은 임의의 기술적으로 실현가능한 방식으로 프레임 스코어들에 기반하여 재구성된 타겟(144)의 품질 스코어(184)를 결정할 수 있다. 예를 들어, 일부 실시예들에서, 시간적 풀링 엔진(194)은 비디오 품질에서의 변화들에 응답하여 사람의 의견 스코어들의 비교적 매끄러운 분산을 모방하는 히스테리시스 풀링 동작들을 수행할 수 있다. 더 정확하게, 시간적 풀링 엔진(194)은 프레임 스코어들에 대해 선형 로우 패스 동작들 및 비선형 (등급 순위) 가중 동작들 모두를 수행하여 재구성된 타겟(144)의 품질 스코어(184)를 생성할 수 있다.
일부 대안적인 실시예들에서, 시간적 풀링 엔진(194)은 재구성된 타겟(144)에 대한 단일 품질 스코어(184) 대신에 재구성된 타겟(144)의 각각의 청크의 상이한 품질 스코어(184)를 결정한다. 본 명세서에서 지칭되는 바와 같이, "청크"는 전형적으로 장면에 대응하고, 장면은 시공간적 특성들이 거의 일정한 프레임들의 시퀀스이다. 재구성된 타겟(144)의 특정 청크의 품질 스코어(184)를 계산하기 위해, 시간적 풀링 엔진(194)은 청크에 포함되는 프레임들의 서브세트에 대한 프레임 스코어들의 산술 평균을 계산한다.
종래의 지각 품질 모델을 통해 재구성된 비디오 콘텐츠의 품질을 예측하는 한 가지 제한은 종래의 지각 품질 모델들이 전형적으로 강건성이 부족하다는 것이다. 예를 들어, 종래의 지각 품질 모델과 연관된 특징들 중 어떤 것도 특정 유형들의 왜곡들을 반영하지 않으면, 종래의 지각 품질 모델은 이러한 왜곡들을 포함하는 재구성된 비디오 콘텐츠의 품질의 사람의 지각을 정확하게 예측할 수 없다.
종래의 지각 품질 모델은 통상적으로 복수의 공간적 특징들 및 단일의 시간적 특징과 연관된다. 공간적 특징들은 몇 가지 예를 들자면 임의의 수의 가산적 손상 측정(additive impairment measure)(ADM) 특징들, 블라인드 또는 무참조(referenceless) 이미지 공간적 품질 평가자 특징들, 및 시각적 정보 충실도(VIF) 특징들을 포함할 수 있지만 이에 제한되지 않는다. 시간적 특징은 프레임 차이 특징이다. 주어진 프레임 쌍에 대해, 종래의 시간적 추출기는 2개의 프레임 사이의 휘도에서의 픽셀별 차이를 계산한다. 이어서, 시간적 추출기는 프레임 차이 특징에 대한 프레임 쌍 값을 휘도에서의 픽셀별 차이들의 평균과 동일하게 설정한다.
그러나, 공중-도메인 라이브 비디오 품질 데이터베이스를 이용하여 수행된 벤치마킹에 의해 설명된 바와 같이, 프레임 차이 특징은 많은 유형들의 복잡한 시간적 비디오 왜곡들에 기인하는 지각된 품질 저하를 정확하게 측정하지 않는다. 복잡한 시간적 비디오 왜곡들의 예들은, 제한 없이, 움직임 추정 불일치들, 깜박임, 및 고스팅을 포함한다. 프레임 차이 특징이 복잡한 시간적 비디오 왜곡들의 신뢰할 수 없는 척도이기 때문에, 종래의 지각 품질 모델들은 재구성된 비디오 콘텐츠의 지각된 시각적 품질을 강건하게 예측할 수 없다.
정확한 시간적 특징들의 구현
이러한 문제들을 해결하기 위해, 시스템(100)은 사람의 시각 체계가 시각적 정보를 처리하는 방법의 양태들을 따라 가는 복수의 시간적 특징들을 확립한다. 예를 들어, 도 2와 관련하여 설명된 바와 같이, 사람의 시각 체계가 복수의 스케일에서 시각적 정보를 처리하기 때문에, 시간적 추출기(146)는 복수의 시간적 특징에 대한 프레임 쌍 값들을 계산하며, 여기서 각각의 시간적 특징은 상이한 스케일과 연관된다. 대안적인 실시예들에서, 시간적 추출기(146)는 복수의 스케일이 표현되는 것을 보장하는 임의의 기술적으로 실현가능한 방식으로 임의의 수의 시간적 특징들에 대한 프레임 쌍 값들을 계산할 수 있다. 일반적으로, 시간적 추출기(146)는 지각적으로 관련되는 시간적 특징들에 대한 프레임 쌍 값들을 계산하고, 함께, 복잡한 시간적 비디오 왜곡들에 기인하는 지각된 품질 저하를 정확하게 측정한다.
본 명세서에 도시된 시스템(100)은 예시적인 것이며 변형들 및 수정들이 가능하다는 것을 이해할 것이다. 예를 들어, 본 명세서에서 설명되는 바와 같은 트레이닝 특징 엔진(130), 트레이닝 엔진(180), 특징 추출기(140), 공간적 추출기(148), 시간적 추출기(146), 예측 엔진(192), 및 시간적 풀링 엔진(194)에 의해 제공되는 기능은 시스템(100)의 (하나를 포함하는) 임의의 수의 소프트웨어 애플리케이션 및 임의의 수의 구성요소들에 통합되거나 이들에 걸쳐 분산될 수 있다. 또한, 도 1의 다양한 유닛들 사이의 접속 토폴로지는 원하는 대로 수정될 수 있다.
도 2는 본 발명의 다양한 실시예들에 따른, 도 1의 시간적 추출기(146)의 보다 상세한 도면이다. 도시된 바와 같이, 시간적 추출기(146)는, 제한 없이, 프레임 비교 엔진(220), 다운샘플링 엔진(240), 공간적 필터링 엔진(250), 엔트로피 엔진(270), 엔트로피 비교 엔진(280), 및 공간적 풀링 엔진(290)을 포함한다.
일반적으로, 시간적 추출기(146)는 재구성된 비디오 콘텐츠 및 재구성된 비디오 콘텐츠가 도출되는 비디오 콘텐츠에 기반하여 재구성된 비디오 콘텐츠의 시간적 특징들에 대한 값들을 생성한다. 특히, 시간적 특징들 각각은 상이한 스케일(250)과 연관된다. 재구성된 비디오 콘텐츠는 재구성된 소스들(124) 또는 재구성된 타겟(144) 중 임의의 것일 수 있다. 단지 설명을 위해, 시간적 추출기(146)는 재구성된 타겟(144)의 제1 시간적 특징에 대한 시간적 어레이(174(1))를 생성하는 맥락에서 도 2에서 설명된다.
도시된 바와 같이, 재구성된 타겟(144)은 제한 없이 프레임들(210(1)-210(F))을 포함하며, 여기서 F는 1보다 큰 임의의 정수이다. 상보적 방식으로, 타겟(142)은 제한 없이 프레임들(210'(1)-210'(F))을 포함한다. 단지 설명을 위해, 타겟(142)과 연관되는 객체는 참조 번호를 장식하는 프라임 심볼(즉, ')을 갖는 재구성된 타겟(144)과 연관되는 비교가능한 객체와 구별된다. 도 1과 관련하여 설명된 바와 같이, 재구성된 타겟(144) 및 타겟(142) 각각은 F개의 프레임(210) 및 F개의 프레임 쌍과 연관된다.
동작 시에, 프레임 비교 엔진(220(1))은 재구성된 타겟(144)에 기반하여 프레임 차이 행렬들(230(1)-230(F))을 계산한다. 각각의 프레임 차이 행렬(230)은 상이한 프레임 쌍과 연관된다. 일반적으로, 프레임 차이 행렬(230(x))을 계산하기 위해, 프레임 비교 엔진(220(1))은 픽셀별 휘도 차이들을 결정하기 위해 프레임들(210(x) 및 210(x+1)) 사이의 픽셀별 비교 동작들을 수행한다. 따라서, 프레임 차이 맵(230(x))에 포함된 각각의 픽셀 위치는 상이한 픽셀별 휘도 차이를 지정한다. 유사한 방식으로, 프레임 비교 엔진(220(2))은 타겟(142)에 기반하여 프레임 차이 행렬들(230'(1)-230'(F))을 독립적으로 계산한다.
다운샘플링 엔진(240(1))은 제1 시간적 특징과 연관된 스케일(250(1))에 기반하여 프레임 차이 행렬들(230(1)-230(F)) 각각에 대해 다운샘플링 동작들을 독립적으로 수행하여 스케일링된 프레임 차이(FD) 행렬들(242(1)-242(F))을 각각 생성한다. 도시된 바와 같이, 스케일(250(1))은 2와 동일하다. 대안적인 실시예들에서, 제1 시간적 특징은 임의의 기술적으로 실현가능한 방식으로 임의의 스케일(250)과 연관될 수 있다. 다운샘플링 엔진(240(1))은 스케일(250(1))에 기반하여 임의의 수 및 유형의 다운샘플링 동작들을 수행할 수 있다. 일반적으로, 프레임 차이 행렬들(230) 각각이 N × M개의 픽셀들을 포함하고, 스케일(240(1))이 Q이면, 스케일링된 프레임 차이 행렬들(242) 각각은 N/Q × M/Q 픽셀들을 포함한다. 유사한 방식으로, 다운샘플링 엔진(240(2))은 스케일(240(1))에 기반하여 프레임 차이 행렬들(230'(1)-230'(F)) 각각에 대해 다운샘플링 동작들을 독립적으로 수행하여 스케일링된 프레임 차이 행렬들(242'(1)-242'(F))을 각각 생성한다.
공간적 필터링 엔진(250(1))은 스케일링된 프레임 차이 행렬들(242(1)-242(F)) 각각을 독립적으로 처리하여 로컬 평균-감산된 행렬들(262(1)-262(F))을 각각 생성한다. 스케일링된 프레임 차이 행렬(242(x))을 처리하기 위해, 공간적 필터링 엔진(250(1))은 스케일링된 프레임 차이 행렬(242(x))의 대역통과 필터링을 근사화하는 2-단계 국소화된 공간적 필터링 프로세스를 수행한다. 먼저, 공간적 필터링 엔진(250(1))은 스케일링된 프레임 차이 행렬(242(x))을 공간적 등방성 가우스 필터로 필터링하여 국소적으로 평균된 스케일링된 프레임 차이 행렬(도시되지 않음)을 생성한다. 이어서, 공간적 필터링 엔진(250(1))은 국소적으로 평균된 스케일링된 프레임 차이 행렬을 스케일링된 프레임 차이 행렬(242(x))로부터 감산하여 로컬 평균-감산된 행렬(262(x))을 생성한다. 유사한 방식으로, 공간적 필터링 엔진(250(2))은 스케일링된 프레임 차이 행렬들(242'(1)-242'(F)) 각각을 독립적으로 처리하여 로컬 평균-감산된 행렬들(262'(1)-262'(F))을 각각 생성한다.
엔트로피 엔진(270(1))은 로컬 평균-감산된 행렬들(262(1)-262(F)) 각각에 대해 조정 동작들을 독립적으로 수행하여 가중된 엔트로피 행렬들(272(1)-272(F))을 각각 생성한다. 특히, 조정 동작들은 일차 시각 피질(영역 V1)에서 발생하는 것으로 알려진 분할 정규화 프로세스에 관련된다. 로컬 평균-감산된 행렬(262(x))을 처리하기 위해, 공간적 필터링 엔진(250(1))은 로컬 평균-감산된 행렬(262(x))에 포함된 샘플들을 중첩 블록들에 할당하고, 각각의 블록은 이웃하는 샘플들의 bxb 세트를 포함한다. 그 다음, 공간적 필터링 엔진(250(1))은 중첩 블록들에 기반하여 bxb 공분산 행렬을 추정한다. 공간적 필터링 엔진(250(1))은 또한 로컬 평균-감산된 행렬(282(x))에 포함된 샘플들을 비중첩 bxb 블록들로 파티셔닝한다. 각각의 비중첩 블록에 대해, 공간적 필터링 엔진(250(1))은 비중첩 블록의 분산을 계산한다.
후속하여, 각각의 비중첩 블록에 대해, 공간적 필터링 엔진(250(1))은 공분산 행렬에 기반하여 비중첩 블록에 대한 엔트로피 값을 계산한다. 마지막으로, 각각의 비중첩 블록에 대해, 공간적 필터링 엔진(250(1))은 로그 함수를 통해 비중첩 블록의 분산에 의해 비중첩 블록의 엔트로피 값을 가중하여 가중된 엔트로피 값을 계산한다. 따라서, 가중된 엔트로피 행렬(272(x))은 제한 없이 각각의 비중첩 블록에 대한 가중된 엔트로피 값을 포함한다. 유사한 방식으로, 공간적 필터링 엔진(250(2))은 로컬 평균-감산된 행렬들(262'(1)-262'(F)) 각각을 독립적으로 처리하여 가중된 엔트로피 행렬들(272'(1)-272'(F))을 각각 생성한다.
엔트로피 차이 엔진(280)은 재구성된 타겟(144)과 연관된 가중된 엔트로피 행렬들(272(1)-272(F)) 및 타겟(142)과 연관된 가중된 엔트로피 행렬들(272'(1)-272'(F))에 기반하여 엔트로피 차이 행렬들(282(1)-282(F))을 계산한다. 보다 구체적으로, 엔트로피 차이 행렬(282(x))을 계산하기 위해, 엔트로피 차이 엔진(280)은 가중된 엔트로피 행렬(272(x))에 포함된 가중된 엔트로피 값들 각각과 가중된 엔트로피 행렬(272'(x))에 포함된 대응하는 가중된 엔트로피 값 사이의 차이를 계산한다. 따라서, 엔트로피 차이 행렬(282(x))은, 제한 없이, 각각의 비중첩 블록에 대한 "엔트로피 차이 값"을 포함한다.
공간적 풀링 엔진(290)은 엔트로피 차이 행렬들(282)에 기반하여 시간적 어레이(174(1))를 생성하기 위해 공간적 풀링 동작들을 수행한다. 도시된 바와 같이, 시간적 어레이(174(1))는 프레임 쌍 값들(264(1)-264(x))을 포함하지만 이에 제한되지 않는다. 시간적 어레이(174(1))에 포함된 프레임 쌍 값들(264) 각각은 재구성된 타겟(144)에 포함된 프레임 쌍들 중 상이한 하나의 제1 시간적 특징에 대한 값을 지정한다. 프레임 쌍 값(264(x))을 계산하기 위해, 공간적 풀링 엔진(290)은 엔트로피 차이 행렬(282(x))에 포함된 모든 비중첩 블록들에 걸쳐 엔트로피 차이 값들을 평균한다.
대안적인 실시예들에서, 공간적 풀링 엔진(290)은 엔트로피 차이 행렬(282(x))에 포함된 엔트로피 차이 값들을 임의의 기술적으로 실현가능한 방식으로 집계하여 프레임 쌍 값(264(x))을 생성할 수 있다. 유리하게는, 재구성된 비디오 콘텐츠와 재구성된 비디오 콘텐츠가 도출되는 비디오 콘텐츠 간의 엔트로피 차이들은 재구성된 비디오 콘텐츠의 품질의 주관적 사람의 평가들과 상관된다.
특히, 제2 시간적 특징은 3의 스케일(250(2))과 연관되고, 제3 시간적 특징은 4의 스케일(240(3))과 연관된다. 시간적 어레이(174(2))를 계산할 때, 다운샘플링 엔진들(240(1) 및 240(2))은 3의 스케일(240(2))에 기반하여 다운샘플링 동작들을 수행한다. 시간적 어레이(174(3))를 계산할 때, 다운샘플링 엔진들(240(1) 및 240(2))은 4의 스케일(240(3))에 기반하여 다운샘플링 동작들을 수행한다. 프레임 비교 엔진(220), 공간적 필터링 엔진(250), 엔트로피 엔진(270), 엔트로피 비교 엔진(280), 및 공간적 풀링 엔진(290)의 동작들은 스케일(250)에 기반하여 변경되지 않는다. 유리하게, 복수의 스케일에서 시간적 특징들을 계산하는 것은 사람의 시각 체계에 고유한 멀티스케일 처리를 반영한다.
본 명세서에 설명된 기술들은 제한적인 것이라기 보다는 예시적인 것이고, 본 발명의 더 넓은 사상 및 범위로부터 벗어나지 않고 변경될 수 있음에 유의한다. 시간적 추출기(146), 프레임 비교 엔진(220), 다운샘플링 엔진(240), 공간적 필터링 엔진(250), 엔트로피 엔진(270), 엔트로피 비교 엔진(280), 및 공간적 풀링 엔진(290)에 의해 제공되는 기능에 대한 많은 수정들 및 변형들은 설명된 실시예들의 범위 및 사상으로부터 벗어나지 않고 관련 기술분야의 통상의 기술자에게 명백할 것이다.
예를 들어, 다양한 실시예들에서, 시간적 추출기(146)는 임의의 수의 스케일들(250)에서 임의의 행렬에 기반하여 임의의 수의 시간적 특징에 대한 값들을 계산하도록 구성될 수 있다. 예를 들어, 시간적 추출기(146)는 프레임 차이 행렬들(230 및 230')에 기반하여 제1 프레임 차이 특징에 대한 프레임 쌍 값들을 계산할 수 있다. 시간적 추출기(146)는 2의 스케일(250)과 연관된 프레임 차이 행렬들(242 및 242')에 기반하여 제2 프레임 차이 특징에 대한 프레임 쌍 값들을 계산할 수 있다. 시간적 추출기는 2의 스케일(250)과 연관된 엔트로피 차이 행렬들(282)에 기반하여 제1 엔트로피 특징에 대한 프레임 쌍 값들을 계산할 수 있다. 마지막으로, 시간적 추출기는 3의 스케일(250)과 연관된 엔트로피 차이 행렬들(282)에 기반하여 제2 엔트로피 특징에 대한 프레임 쌍 값들을 계산할 수 있다.
도 3은 본 발명의 다양한 실시예들에 따라, 재구성된 비디오 콘텐츠에 대한 품질 스코어를 계산하기 위한 방법의 단계들의 흐름도이다. 이 방법의 단계들은 도 1 및 도 2의 시스템들을 참조하여 설명되어 있지만, 관련 기술분야의 통상의 기술자는 이 방법의 단계들을 임의의 순서로 구현하도록 구성된 임의의 시스템이 본 발명의 범위 내에 속한다는 것을 이해할 것이다.
도시된 바와 같이, 방법(300)은 단계(302)에서 시작하고, 여기서 프레임 비교 엔진(220)은 재구성된 타겟(144)에 기반한 프레임 차이 행렬들(230) 및 타겟(142)에 기반한 프레임 차이 행렬들(230')을 생성한다. 단계(304)에서, 시간적 추출기(146)는 제1 시간적 특징 및 제1 시간적 특징과 연관된 스케일(250(1))을 선택한다. 단계(306)에서, 다운샘플링 엔진(240)은 선택된 스케일(250)에 기반하여 프레임 차이 행렬들(230) 및 프레임 차이 행렬들(230')을 다운샘플링하여, 스케일링된 프레임 차이 행렬들(242) 및 스케일링된 프레임 차이 행렬들(242')을 각각 생성한다.
단계(308)에서, 스케일링된 프레임 차이 행렬들(242) 각각에 대해, 공간적 필터링 엔진(250)은 프레임 차이 행렬(242)에 대해 국소화된 공간적 필터링 동작들을 독립적으로 수행하여 대응하는 로컬 평균-감산된 행렬(262)을 생성한다. 유사한 방식으로, 스케일링된 프레임 차이 행렬들(242') 각각에 대해, 공간적 필터링 엔진(250)은 스케일링된 프레임 차이 행렬(242')에 대해 국소화된 공간적 필터링 동작들을 독립적으로 수행하여 대응하는 로컬 평균-감산된 행렬(262')을 생성한다.
단계(310)에서, 로컬 평균-감산된 행렬들(262) 각각에 대해, 엔트로피 엔진(270)은 로컬 평균-감산된 행렬(262)에 대해 조정 동작을 수행하여 가중된 엔트로피 행렬(272)을 계산한다. 유사한 방식으로, 로컬 평균-감산된 행렬들(262') 각각에 대해, 엔트로피 엔진(270)은 로컬 평균-감산된 행렬(262')에 대해 조정 동작을 수행하여 가중된 엔트로피 행렬(272')을 계산한다.
단계(312)에서, 엔트로피 차이 엔진(280)은 재구성된 타겟(144)과 연관된 가중된 엔트로피 행렬들(272)을 타겟(142)과 연관된 가중된 엔트로피 행렬들(272')과 비교하여 엔트로피 차이 행렬들(282)을 계산한다. 보다 구체적으로, 엔트로피 차이 행렬(282(x))을 계산하기 위해, 엔트로피 차이 엔진(280)은 가중된 엔트로피 행렬(272(x))에 포함된 가중된 엔트로피 값들 각각과 가중된 엔트로피 행렬(272'(x))에 포함된 대응하는 가중된 엔트로피 값 사이의 차이를 계산한다. 단계(314)에서, 엔트로피 차이 행렬들(282) 각각에 대해, 공간적 풀링 엔진(290)은 공간적 풀링 동작들을 수행하여 선택된 시간적 특징과 연관된 시간적 어레이(174)에 포함된 프레임 쌍 값(264(x))을 계산한다.
단계(316)에서, 시간적 추출기(146)는 선택된 시간적 특징이 마지막 시간적 특징인지를 결정한다. 단계(316)에서, 시간적 추출기(146)가 선택된 시간적 특징이 마지막 시간적 특징이 아니라고 결정하면, 방법(300)은 단계(318)로 진행한다. 단계(318)에서, 시간적 추출기(146)는 다음 특징 및 연관된 스케일(250)을 선택하고, 방법(300)은 단계(306)로 복귀하며, 여기서 다운샘플링 엔진(240)은 선택된 스케일(250)에 기반하여 프레임 차이 행렬들(230) 및 프레임 차이 행렬들(230')을 다운샘플링한다.
그러나, 단계(316)에서, 시간적 추출기(146)가 선택된 시간적 특징이 마지막 시간적 특징인 것으로 결정하면, 방법(300)은 단계(320)로 바로 진행한다. 단계(320)에서, 각각의 공간적 특징에 대해, 공간적 추출기(146)는 재구성된 타겟(144) 및 임의적으로 타겟(142)에 기반하여 프레임 값들을 계산한다. 단계(322)에서, 프레임들(210) 각각에 대해, 예측 엔진(192)은 프레임과 연관된 프레임 값들, 프레임에 연관된 프레임 쌍 값들, 및 지각 품질 모델(190)에 기반하여 프레임 스코어를 생성한다.
단계(324)에서, 시간적 풀링 엔진(194)은 프레임 스코어들에 대해 시간적 풀링 동작들을 수행하여 재구성된 타겟(144)의 품질 스코어(184)를 결정한다. 시간적 풀링 엔진(194)은 임의의 수 및 유형의 시간적 풀링 동작들을 수행하여 프레임 스코어들을 집계할 수 있다. 예를 들어, 일부 실시예들에서, 시간적 풀링 엔진(194)은 프레임 스코어들의 산술 평균에 기반하여 재구성된 타겟(144)의 품질 스코어(184)를 결정한다. 그 후, 시간적 풀링 엔진(194)은 스트리밍된 비디오 콘텐츠의 평가를 위해 재구성된 타겟(144)의 품질 스코어(184)를 전송 또는 표시한다. 그 다음, 방법(300)은 종료한다.
유리하게, 스트리밍된 미디어 콘텐츠의 시각적 품질을 평가하는 것의 일부로서 집계 품질 스코어를 생성하기 위해 임의의 수의 품질 스코어들(184)이 집계될 수 있다. 예를 들어, 매일 스트리밍 서비스를 모니터링하는 대시보드 애플리케이션은 집계된 품질 스코어에 기반하여 스트리밍 서비스의 건전성을 표시할 수 있다. 일반적으로, 스트리밍 서비스에 변경이 발생하지 않는 한, 집계된 품질 스코어는 안정적으로 유지된다. 그 결과, 특정 일자와 바로 전날 사이의 집계된 품질 스코어에서의 편차는 스트리밍된 미디어 콘텐츠의 시각적 품질에 영향을 미치는 스트리밍 서비스에 대한 변경(예를 들어, 문제 또는 개선)을 나타낸다. 대조적으로, 스트리밍 서비스에 대한 변경이 스트리밍된 미디어 콘텐츠의 시각적 품질에 영향을 미치도록 의도되지 않는 경우, 집계된 품질 스코어는 스트리밍된 미디어 콘텐츠의 시각적 품질이 영향받지 않는다는 확인을 제공할 수 있다. 예를 들어, 스마트 폰을 위한 새로운 인코드가 시각적 품질을 보존하면서 대역폭을 절약하는 경우, 집계된 품질 스코어는 안정적으로 유지되는 반면, 시간-가중된 비트레이트는 감소한다.
다른 예에서, A/B 테스트 애플리케이션은 스트리밍 세션들의 제어 그룹을 스트리밍 세션들의 하나 이상의 처리 그룹과 비교한다. 처리 그룹은 정확히 하나의 키 파라미터에서 제어 그룹과 상이하다. 집계된 품질 스코어는 스트리밍된 미디어 콘텐츠의 시각적 품질이 키 파라미터에서의 차이에 의해 영향을 받는지를 나타낸다. 예를 들어, 처리 그룹이 새로운 인코드를 이용하고, 제어 그룹이 현재 인코드를 이용하는 경우, A/B 테스트 애플리케이션은 제어 그룹에 대한 집계된 품질 스코어와 처리 그룹에 대한 집계된 품질 스코어를 비교할 수 있다. 그 비교의 결과들은 새로운 인코드가 처리 그룹들에 대한 스트리밍된 미디어 콘텐츠의 시각적 품질에 영향을 미치는지를 나타낸다.
상보적 지각 품질 모델들에 기반한 시각적 품질의 예측
관련 기술분야의 통상의 기술자가 인식하는 바와 같이, 지각 품질 모델(190)과 연관된 특징들의 수가 증가함에 따라, 지각 품질 모델(190)을 과적합할 가능성이 또한 증가한다. 지각 품질 모델(190)이 과적합될 때, 지각 품질 모델(190)은 트레이닝 데이터(예를 들어, 객관적 데이터베이스(150) 및 주관적 데이터베이스(184))에서의 특이성들(idiosyncrasies)을 모델링한다. 그 결과, 과적합 지각 품질 모델(190)은 종종 트레이닝 데이터베이스(120)에 포함되지 않은 재구성된 비디오 콘텐츠의 품질 스코어(184)를 정확하게 예측할 수 없다. 단일 지각 품질 모델(190)을 과적합할 가능성을 줄이기 위해, 본 발명의 일부 실시예들은 복수의 상보적 지각 품질 모델들(190)을 구현한다.
도 4는 본 발명의 하나 이상의 양태를 구현하도록 구성된 앙상블 시스템(400)의 개념적인 도면이다. 도시된 바와 같이, 앙상블 시스템(400)은 임의의 수의 컴퓨트 인스턴스들(110)을 포함하지만 이에 제한되지 않는다. 도시된 바와 같이, 앙상블 트레이닝 엔진(410)은 메모리(112)에 상주하고 컴퓨터 인스턴스들(110) 중 하나의 프로세서 상에서 실행된다. 앙상블 예측 엔진(490)은 메모리(112)에 상주하고 다른 컴퓨터 인스턴스(110)의 프로세서(116) 상에서 실행된다. 대안적인 실시예들에서, 앙상블 트레이닝 엔진(410) 및 앙상블 예측 엔진(490)은 임의의 수 및 유형의 메모리들에 상주할 수 있고 임의의 조합으로 임의의 수 및 유형의 처리 디바이스들 상에서 실행될 수 있다. 앙상블 예측 엔진(490)은 본 명세서에서 "앙상블 예측 애플리케이션"으로도 지칭된다.
앙상블 트레이닝 엔진(410)은 제한 없이, 특징 할당기(420) 및 트레이닝 엔진(180)의 2개의 인스턴스를 포함한다. 특징 할당기(420)는 임의의 수의 특징들을 포함하는 전체 특징 세트(412)를 수신하고 2개의 특징 세트(422(1) 및 422(2))를 생성한다. 보다 정확하게는, 특징 할당기(420)는 전체 특징 세트(412)에 포함된 특징들 각각을 특징 세트들(422) 중 적어도 하나에 할당한다.
특징 할당기(420)는 전체 특징 세트(412)에 포함된 특징들 각각을 임의의 기술적으로 실현가능한 방식으로 특징 세트들(422) 중 적어도 하나에 할당하도록 구성될 수 있다. 예를 들어, 일부 실시예들에서, 특징 할당기(420)는 그래픽 사용자 인터페이스(도시되지 않음)를 통해 수신된 사용자 입력에 기반하여 특징 세트들(422)을 생성한다. 다른 실시예들에서, 특징 할당기(420)는 임의의 수 및 유형의 기준들을 최적화하는 임의의 수의 휴리스틱들에 기반하여 특징 세트들(422)을 생성한다.
단지 설명을 위해, 도 4에 도시된 전체 특징 세트(412)는 5개의 공간적 특징 및 4개의 시간적 특징을 포함한다. 5개의 공간적 특징은 하나의 VIF 특징 및 4개의 ADM 특징(4개의 상이한 스케일(250)과 연관됨)을 포함한다. 4개의 시간적 특징은 하나의 프레임 차이 특징 및 3개의 엔트로피 특징(3개의 상이한 스케일(250)과 연관됨)을 포함한다. 특징 할당기(420)는 5개의 공간적 특징을 특징 세트(422(1)) 및 특징 세트(422(2)) 둘 다에 할당하고, 프레임 차이 특징을 특징 세트(422(1))에 할당하고, 3개의 엔트로피 특징을 특징 세트(422(2))에 할당한다.
이어서, 앙상블 트레이닝 엔진(410)은 특징 세트(422(1))에 포함된 특징들에 대한 값들을 지정하는 객관적 데이터베이스(150)의 부분 및 주관적 데이터베이스(182)에 기반하여 지각 품질 모델(190(1))을 생성하도록 트레이닝 엔진(180(1))을 구성한다. 대조적으로, 앙상블 트레이닝 엔진(410)은 특징 세트(422(2))에 포함된 특징들에 대한 값들을 지정하는 객관적 데이터베이스(150)의 부분 및 주관적 데이터베이스(182)에 기반하여 지각 품질 모델(190(2))을 생성하도록 트레이닝 엔진(180(2))을 구성한다.
대안적인 실시예들에서, 앙상블 트레이닝 엔진(410)은 상이한 기계 학습 알고리즘들을 구현하는 2개의 상이한 트레이닝 엔진을 포함한다. 앙상블 트레이닝 엔진(410)은 특징 세트(422(1))에 포함된 특징들에 대한 값들을 지정하는 객관적 데이터베이스(150)의 부분 및 주관적 데이터베이스(182)에 기반하여 지각 품질 모델(190(1))을 생성하도록 제1 트레이닝 엔진을 구성한다. 앙상블 트레이닝 엔진(410)은 특징 세트(422(2))에 포함된 특징들에 대한 값들을 지정하는 객관적 데이터베이스(150)의 부분 및 주관적 데이터베이스(182)에 기반하여 지각 품질 모델(190(2))을 생성하도록 제2 트레이닝 엔진을 구성한다.
일반적으로, 지각 품질 모델(190(1))은 특징 세트(422(1))에 대한 값들의 세트를 제1 품질 스코어와 연관시키고, 지각 품질 모델(190(2))은 특징 세트(422(2))에 대한 값들의 세트를 제2 품질 스코어와 연관시킨다. 유리하게도, 지각 품질 모델들(190) 중 어느 것도 전체 특징 세트(422)에 포함된 특징들 모두와 연관되지 않기 때문에, 앙상블 트레이닝 엔진(410)이 과적합 지각 품질 모델들(190)을 생성할 가능성이 완화된다.
앙상블 예측 엔진(490)은 제한 없이, 예측 엔진(192(1) 및 192(2))의 2개의 인스턴스, 집계 엔진(440), 및 시간적 풀링 엔진(194)을 포함한다. 앙상블 예측 엔진(490)은 지각 품질 모델(190(1)), 지각 품질 모델(190(2)), 및 재구성된 타겟(144)과 연관된 타겟 특징 데이터베이스(170)를 수신한다. 대안적인 실시예들에서, 앙상블 예측 엔진(490)은 타겟 특징 데이터베이스(170)를 계산하도록 특징 추출기(140)를 구성한다.
앙상블 예측 엔진(490)은 특징 세트(422(1))에 포함된 특징들과 연관된 타겟 특징 데이터베이스(170)의 부분 및 지각 품질 모델(190(1))에 기반하여 프레임 예측 데이터베이스(430(1))를 계산하도록 예측 엔진(192(1))을 구성한다. 재구성된 타겟(144)에 포함된 각각의 프레임(210(x))에 대해, 프레임 예측 데이터베이스(430(1))는 제한 없이, 프레임(210)의 예측된 지각된 시각적 품질을 나타내는 프레임 스코어(434(x))를 포함한다. 동작 시에, 프레임(210(x))에 대해, 앙상블 예측 엔진(490)은 타겟 특징 데이터베이스(170)에 기반하여 특징 세트(422(1))에 대한 값들의 세트를 결정한다. 그 다음, 앙상블 예측 엔진(490)은 특징 세트(422(1))에 대한 값들의 세트 및 지각 품질 모델(190(1))에 기반하여 프레임 예측 데이터베이스(430(1))에 포함된 프레임 스코어(434(x))를 계산하도록 예측 엔진(192(1))을 구성한다.
상보적 방식으로, 앙상블 예측 엔진(490)은 특징 세트(422(2))에 포함된 특징들과 연관된 타겟 특징 데이터베이스(170)의 부분 및 지각 품질 모델(190(2))에 기반하여 프레임 예측 데이터베이스(430(2))를 계산하도록 예측 엔진(192(2))을 구성한다. 동작 시에, 프레임(210(x))에 대해, 앙상블 예측 엔진(490)은 타겟 특징 데이터베이스(170)에 기반하여 특징 세트(422(2))에 대한 값들의 세트를 결정한다. 그 다음, 앙상블 예측 엔진(490)은 특징 세트(422(2))에 대한 값들의 세트 및 지각 품질 모델(190(2))에 기반하여 프레임 예측 데이터베이스(430(2))에 포함된 프레임 스코어(434(x))를 계산하도록 예측 엔진(192(2))을 구성한다.
프레임 예측 데이터베이스(430(1)) 및 프레임 예측 데이터베이스(430(2))의 수신 시에, 집계 엔진(440)은 프레임들(210) 각각에 대한 상이한 집계된 프레임 스코어(454)를 포함하는 집계된 예측 데이터베이스(450)를 생성한다. 보다 정확하게는, 집계 엔진(440)은 프레임 예측 데이터베이스(430(1))에 포함된 프레임 스코어(434(x)) 및 프레임 예측 데이터베이스(430(2))에 포함된 프레임 스코어(434(x))에 대해 임의 수의 집계 동작들을 수행하여 프레임(210(x))에 대한 집계된 프레임 스코어(454(x))를 생성한다.
집계 엔진(440)은 임의의 기술적으로 실현가능한 방식으로 집계된 프레임 스코어들(454)을 계산할 수 있다. 예를 들어, 일부 실시예들에서, 집계 엔진(440)은 프레임 예측 데이터베이스(430(1))에 포함된 프레임 스코어(434(x)) 및 프레임 예측 데이터베이스(430(2))에 포함된 프레임 스코어(434(x))의 평균을 계산하여 프레임(210(x))에 대한 집계된 프레임 스코어(454(x))를 생성한다. 다른 실시예들에서, 집계 엔진(440)은 프레임 예측 데이터베이스(430(1))에 포함된 프레임 스코어(434(x)) 및 프레임 예측 데이터베이스(430(2))에 포함된 프레임 스코어(434(x))의 가중된 평균을 계산하여 프레임(210(x))에 대한 집계된 프레임 스코어(454(x))를 생성한다.
또 다른 실시예들에서, 집계 엔진(440)은 임의의 수의 기계 학습 알고리즘들을 수행하여 특징 세트(422(1))와 연관된 프레임 스코어(434) 및 특징 세트(422(2))와 연관된 대응하는 프레임 스코어(434)를 집계된 프레임 품질 스코어(454)와 연관시키는 집계 모델을 생성할 수 있다. 집계 엔진(440)이 수행할 수 있는 기계 학습 알고리즘들의 예들은 제한 없이, 베이즈 기반 방법들, 배깅, 부스팅, 베이지안 파라미터 평균화, 베이지안 모델 조합, 모델들의 버킷, 스태킹 등을 포함한다. 집계 모델은 트레이닝 엔진(180)이 지각 품질 모델들(190)을 생성하기 위해 구현하는 동일한 기계 학습 알고리즘들을 구현하거나 구현하지 않을 수 있다. 이어서, 집계 엔진(440)은 집계 모델, 프레임 예측 데이터베이스(430(1)), 및 프레임 예측 데이터베이스(430(2))에 기반하여 집계된 프레임 스코어들(454)을 포함하는 집계된 예측 데이터베이스(450)를 계산할 수 있다.
집계 엔진(440)이 집계된 예측 데이터베이스(450)를 생성한 후에, 시간적 풀링 엔진(194)은 집계된 예측 데이터베이스(450)에 대해 임의 수의 시간적 풀링 동작들을 수행하여 재구성된 타겟(144)의 품질 스코어(184)를 계산한다. 도 1과 관련하여 상세히 설명된 바와 같이, 시간적 풀링 동작들의 일부 예들은 산술 평균 동작들 및 히스테리시스 풀링 동작들을 포함한다. 또한, 도 1과 관련하여 상세히 또한 설명된 바와 같이, 대안적인 실시예들에서, 시간적 풀링 엔진(194)은 재구성된 타겟(144)의 각각의 청크에 대해 상이한 품질 스코어들(184)을 생성할 수 있다.
특히, 품질 스코어(184)의 신뢰성은 지각 품질 모델(190(1))의 신뢰성, 지각 품질 모델(190(2))의 신뢰성, 및 지각 품질 모델들(190)이 서로 보완하는 정도와 상관된다. 따라서, 특징 할당기(420)는 품질 스코어(184)의 정확도 및/또는 강건성을 최적화하는 임의의 수의 휴리스틱들에 기반하여 특징 세트들(422)을 생성하도록 구성될 수 있다.
예를 들어, 일부 실시예들에서, 특징 할당기(420)는 지각 시각적 품질의 시공간적 양태들을 캡처하기 위해 특징 세트들(422) 각각에 포함된 특징들을 최적화하고, 정확하고 강건한 지각 품질 모델(190)을 낳고, 특징 세트(422) 내에서 뿐만 아니라 특징 세트들(422)에 걸쳐 다양한 휴리스틱들을 구현한다.
본 명세서에 설명된 기술들은 제한적인 것이라기 보다는 예시적인 것이고, 본 발명의 더 넓은 사상 및 범위로부터 벗어나지 않고 변경될 수 있음에 유의한다. 앙상블 트레이닝 엔진(410), 특징 할당기(420), 트레이닝 엔진(180), 앙상블 예측 엔진(490), 예측 엔진(192), 집계 엔진(440), 및 시간적 풀링 엔진(194)에 의해 제공되는 기능에 대한 많은 수정들 및 변형들은 설명된 실시예들의 범위 및 사상으로부터 벗어나지 않고 관련 기술분야의 통상의 기술자에게 명백할 것이다.
도 5는 본 발명의 다양한 실시예들에 따라, 2개의 상이한 세트의 특징들에 기반하여 재구성된 비디오 콘텐츠에 대한 전체 품질 스코어를 계산하기 위한 방법의 단계들의 흐름도이다. 이 방법의 단계들이 도 1, 도 2 및 도 4의 시스템들을 참조하여 설명되지만, 관련 기술분야의 통상의 기술자는 이 방법의 단계들을 임의의 순서로 구현하도록 구성된 임의의 시스템이 본 발명의 범위 내에 속한다는 것을 이해할 것이다.
도시된 바와 같이, 방법(500)은 단계(502)에서 시작하고, 여기서 전체 특징 세트(412)에 포함된 각각의 특징에 대해, 특징 할당기(420)는 특징 세트(422(1)) 및 특징 세트(422(2)) 중 적어도 하나에 그 특징을 할당한다. 특히, 특징 세트들(422) 각각에 포함되는 적어도 하나의 특징은 다른 특징 세트(422)에 포함되지 않는다. 단계(504)에서, 앙상블 트레이닝 엔진(410)은 특징 세트(422(1))와 연관된 객관적 데이터베이스(150)의 부분 및 주관적 데이터베이스(182)에 기반하여 지각 품질 모델(190(1))을 생성하도록 트레이닝 엔진(180(1))을 구성한다. 단계(506)에서, 앙상블 트레이닝 엔진(410)은 특징 세트(422(2))와 연관된 객관적 데이터베이스(150)의 부분 및 주관적 데이터베이스(182)에 기반하여 지각 품질 모델(190(2))을 생성하도록 트레이닝 엔진(180(2))을 구성한다.
단계(508)에서, 앙상블 예측 엔진(490)은 타겟(142) 및 재구성된 타겟(144)을 수신한다. 단계(510)에서, 재구성된 타겟(144)에 포함된 각각의 프레임(210)에 대해, 앙상블 예측 엔진(490)은 특징 세트(422(1))에 대한 제1 세트의 값들 및 특징 세트(422(2))에 대한 제2 세트의 값들을 계산한다. 보다 정확하게는, 앙상블 예측 엔진(490)은 재구성된 타겟(144) 및 타겟(142)에 기반하여 타겟 특징 데이터베이스(170)를 계산하도록 특징 추출기(140)를 구성한다. 프레임들(210) 각각에 대해, 앙상블 예측 엔진(490)은 이후 타겟 특징 데이터베이스(170)에 기반하여 특징 세트(422(1))에 대한 제1 세트의 값들 및 특징 세트(422(2))에 대한 제2 세트의 값들을 식별한다. 대안적인 실시예들에서, 프레임들(210) 각각에 대해, 앙상블 예측 엔진(490)은 임의의 기술적으로 실현가능한 방식으로 특징 세트(422(1))에 대한 제1 세트의 값들 및 특징 세트(422(2))에 대한 제2 세트의 값들을 계산할 수 있다.
단계(512)에서, 각각의 프레임(210(x))에 대해, 앙상블 예측 엔진(490)은 특징 세트(422(1))에 대한 연관된 세트의 값들 및 지각 품질 모델(190(1))에 기반하여 제1 프레임 스코어(434(x))를 계산하도록 예측 엔진(192(1))을 구성한다. 단계(514)에서, 각각의 프레임(210(x))에 대해, 앙상블 예측 엔진(490)은 특징 세트(422(2))에 대한 연관된 세트의 값들 및 지각 품질 모델(190(2))에 기반하여 제2 프레임 스코어(434(x))를 계산하도록 예측 엔진(192(2))을 구성한다.
단계(514)에서, 각각의 프레임(210(x))에 대해, 집계 엔진(440)은 제1 프레임 스코어(434(x)) 및 제2 프레임 스코어(434(x))에 기반하여 집계된 프레임 스코어(454)를 계산한다. 단계(516)에서, 시간적 풀링 엔진(194)은 프레임들(210)에 대한 집계된 프레임 스코어들(454)에 기반하여 재구성된 타겟(144)의 품질 스코어(184)를 계산한다. 시간적 풀링 엔진(194)은 임의의 수 및 유형의 시간적 풀링 동작들을 수행하여 프레임 스코어들(434)을 집계할 수 있다. 예를 들어, 일부 실시예들에서, 시간적 풀링 엔진(194)은 재구성된 타겟(144)에 포함된 프레임들(210)에 대한 프레임 스코어들(434)의 산술 평균에 기반하여 재구성된 타겟(144)의 품질 스코어(184)를 결정한다.
그 후, 시간적 풀링 엔진(194)은 스트리밍된 비디오 콘텐츠의 평가를 위해 재구성된 타겟(144)의 품질 스코어(184)를 전송 또는 표시한다. 이어서, 방법(500)은 종료된다. 유리하게, 도 3과 관련하여 더 상세히 설명되는 바와 같이, 스트리밍된 미디어 콘텐츠의 시각적 품질을 평가하는 것의 일부로서 집계된 품질 스코어를 생성하기 위해 임의의 수의 품질 스코어들(184)이 집계될 수 있다.
요약하면, 개시된 기술들은 재구성된 비디오 콘텐츠에 대한 품질 스코어들을 효율적이고 신뢰성 있게 예측하는데 이용될 수 있다. 트레이닝 단계 동안, 트레이닝 엔진은 특징들에 대한 값들을 품질 스코어에 매핑하는 지각 품질 모델을 생성한다. 이어서, 예측 단계 동안, 예측 엔진은 지각 품질 모델 및 재구성된 비디오 콘텐츠의 특징들에 대한 값들에 기반하여 재구성된 비디오 콘텐츠에 대한 프레임별 품질 스코어들을 계산한다. 그 후, 시간적 풀링 엔진은 프레임별 품질 스코어들을 단일 품질 스코어에 합성한다. 특히, 트레이닝 단계 및 예측 단계 둘 다 동안, 시간적 추출기는 복수의 시간적 특징에 대한 프레임별 값들을 계산하고, 여기서 각각의 시간적 특징은 상이한 스케일과 연관된다.
시간적 추출기는 재구성된 비디오 콘텐츠, 비디오 콘텐츠 및 시간적 특징과 연관된 스케일에 기반하여 특정 시간적 특징에 대한 프레임별 값을 계산한다. 특정 프레임에 대한 프레임별 값을 계산하기 위해, 시간적 추출기는 프레임과 인접 프레임 사이의 휘도에서의 차이들을 지정하는 프레임 차이 행렬을 계산한다. 그 후, 시간적 추출기는 스케일에 기반하여 프레임 차이 행렬을 다운샘플링하여 스케일링된 프레임 차이 행렬을 생성한다. 이어서, 시간적 추출기는 스케일링된 프레임 차이 행렬에 대해 시간적 필터링 동작들 및 로컬 평균-감산 동작들을 수행하여 재구성된 비디오 콘텐츠의 프레임과 연관된 제1 가중된 엔트로피 행렬을 계산한다. 유사한 방식으로, 시간적 추출기는 비디오 콘텐츠 및 스케일에 기반하여 비디오 콘텐츠의 대응하는 프레임과 연관되는 제2 가중된 엔트로피 행렬을 도출한다. 시간적 추출기는 제1 가중된 엔트로피 행렬과 제2 가중된 엔트로피 행렬 간에 감산 동작들을 수행하여 엔트로피 차이 행렬을 계산한다. 마지막으로, 시간적 추출기는 엔트로피 차이 행렬에 대해 공간적 풀링 동작들을 수행하여 그 특징에 대한 단일 프레임-특정 값을 생성한다.
일부 실시예들에서, 앙상블 예측 엔진은 2개의 지각 품질 모델에 기반하여 재구성된 비디오 콘텐츠에 대한 품질 스코어를 계산한다. 지각 품질 모델들 각각은 상이한 세트의 특징들에 대한 값들을 상이한 품질 스코어에 매핑한다. 재구성된 비디오 콘텐츠에 포함된 각각의 프레임에 대해, 앙상블 예측 엔진은 제1 지각 품질 모델 및 제1 세트의 특징들에 대한 제1 세트의 값들에 기반하여 제1 프레임 스코어를 계산한다. 재구성된 비디오 콘텐츠에 포함된 각각의 프레임에 대해, 앙상블 예측 엔진은 제2 지각 품질 모델 및 제2 세트의 특징들에 대한 제2 세트의 값들에 기반하여 제2 프레임 스코어를 계산한다. 각각의 프레임에 대해, 앙상블 예측 엔진은 제1 프레임 스코어 및 제2 프레임 스코어를 집계하여 집계된 프레임 스코어를 생성한다. 마지막으로, 시간적 풀링 엔진은 재구성된 비디오 콘텐츠에 포함된 프레임들에 대한 집계된 프레임 스코어들에 기반하여 단일 품질 스코어를 생성한다.
종래 기술에 비해 적어도 하나의 기술적 개선은, 복수의 스케일에서 엔트로피 차이 행렬들을 계산하는 것이 사람의 시각 체계가 시각적 정보를 처리하는 방법의 양태들을 따라 간다는 것이다. 그 결과, 시간적 특징들은 많은 유형들의 복잡한 시간적 비디오 왜곡들에 기인하는 지각된 품질 저하를 정확하게 모델링한다. 또한, 상이한 세트들의 특징들과 연관된 상이한 지각 품질 모델들에 기반하여 품질 스코어들을 계산하는 것은 특징들의 총 수를 증가시키는 것이 과적합에 기인하는 부정확성들을 낳을 가능성을 감소시킨다.
1. 일부 실시예들에서, 컴퓨터에 의해 구현되는 방법은, 제1 세트의 특징들에 대한 제1 세트의 값들 및 제1 세트의 값들을 제1 품질 스코어와 연관시키는 제1 모델에 기반하여 재구성된 비디오 콘텐츠에 대한 제1 품질 스코어를 계산하는 단계 - 제1 모델은 제1 기계 학습 알고리즘을 통해 생성됨 -; 제2 세트의 특징들에 대한 제2 세트의 값들 및 제2 세트의 값들을 제2 품질 스코어와 연관시키는 제2 모델에 기반하여 재구성된 비디오 콘텐츠에 대한 제2 품질 스코어를 계산하는 단계; 및 제1 품질 스코어 및 제2 품질 스코어에 기반하여 재구성된 비디오 콘텐츠에 대한 전체 품질 스코어를 결정하는 단계 - 전체 품질 스코어는 스트리밍된 비디오 콘텐츠와 연관된 시각적 품질의 레벨을 표시함 - 를 포함한다.
2. 1항에 있어서, 제1 품질 스코어 및 제2 품질 스코어는 재구성된 비디오 콘텐츠에 포함된 제1 프레임과 연관되고, 전체 품질 스코어를 결정하는 단계는, 제1 품질 스코어 및 제2 품질 스코어에 기반하여 제1 프레임과 연관된 제1 집계된 품질 스코어를 결정하는 단계; 및 제1 집계된 품질 스코어 및 재구성된 비디오 콘텐츠에 포함된 제2 프레임과 연관된 제2 집계된 품질 스코어에 대해 하나 이상의 시간적 풀링 동작을 수행하여 전체 품질 스코어를 계산하는 단계를 포함한다.
3. 1항 또는 2항에 있어서, 제1 집계된 품질 스코어를 결정하는 단계는 제1 품질 스코어 및 제2 품질 스코어의 평균 또는 가중된 평균을 계산하는 단계를 포함한다.
4. 1항 내지 3항 중 어느 한 항에 있어서, 제1 집계된 품질 스코어를 결정하는 단계는 제1 기계 학습 알고리즘 또는 제2 기계 학습 알고리즘을 통해 생성되는 제3 모델에 기반하여 제1 품질 스코어 및 제2 품질 스코어를 제1 집계된 품질 스코어와 연관시키는 단계를 포함한다.
5. 1항 내지 4항 중 어느 한 항에 있어서, 제1 세트의 특징들은 제2 세트의 특징들에 포함되지 않은 제1 특징을 포함하고, 제2 세트의 특징들은 제1 세트의 특징들에 포함되지 않는 제2 특징을 포함한다.
6. 1항 내지 5항 중 어느 한 항에 있어서, 제1 세트의 특징들은 시간적 특징 및 공간적 특징을 포함한다.
7. 1항 내지 6항 중 어느 한 항에 있어서, 제1 세트의 특징들은 가산적 손상 측정 특징, 블라인드 또는 무참조 이미지 공간적 품질 평가자 특징, 및 시각적 정보 충실도 특징 중 적어도 하나를 포함한다.
8. 1항 내지 7항 중 어느 한 항에 있어서, 제1 기계 학습 알고리즘 및 복수의 주관적 스코어들에 기반하여 제1 모델을 생성하는 단계를 더 포함하고, 복수의 주관적 스코어들에 포함된 각각의 주관적 스코어는 상이한 재구성된 테스트 비디오 콘텐츠와 연관된다.
9. 1항 내지 8항 중 어느 한 항에 있어서, 복수의 주관적 스코어들에 기반하여 제2 모델을 생성하는 단계를 더 포함한다.
10. 일부 실시예들에서, 컴퓨터 판독가능한 저장 매체는 명령어들을 포함하고, 명령어들은, 프로세서에 의해 실행될 때, 프로세서로 하여금, 제1 세트의 특징들에 대한 제1 세트의 값들 및 제1 세트의 값들을 제1 품질 스코어와 연관시키는 제1 모델에 기반하여 재구성된 비디오 콘텐츠에 대한 제1 품질 스코어를 계산하는 것 - 제1 모델은 제1 기계 학습 알고리즘을 통해 생성됨 -; 제2 세트의 특징들에 대한 제2 세트의 값들 및 제2 세트의 값들을 제2 품질 스코어와 연관시키는 제2 모델에 기반하여 재구성된 비디오 콘텐츠에 대한 제2 품질 스코어를 계산하는 것 - 제2 모델은 제1 기계 학습 알고리즘 또는 제2 기계 학습 알고리즘을 통해 생성됨 -; 및 제1 품질 스코어 및 제2 품질 스코어에 기반하여 재구성된 비디오 콘텐츠에 대한 전체 품질 스코어를 결정하는 것 - 전체 품질 스코어는 스트리밍된 비디오 콘텐츠와 연관된 시각적 품질의 레벨을 표시함 - 을 수행하게 한다.
11. 10항에 있어서, 제1 품질 스코어 및 제2 품질 스코어는 재구성된 비디오 콘텐츠에 포함된 제1 프레임과 연관되고, 전체 품질 스코어를 결정하는 것은, 제1 품질 스코어 및 제2 품질 스코어에 기반하여 제1 프레임과 연관된 제1 집계된 품질 스코어를 결정하는 것; 및 제1 집계된 품질 스코어 및 재구성된 비디오 콘텐츠에 포함된 제2 프레임과 연관된 제2 집계된 품질 스코어에 대해 하나 이상의 시간적 풀링 동작을 수행하여 전체 품질 스코어를 계산하는 것을 포함한다.
12. 10항 또는 11항에 있어서, 제1 집계된 품질 스코어를 결정하는 것은 제1 품질 스코어 및 제2 품질 스코어의 평균 또는 가중된 평균을 계산하는 것을 포함한다.
13. 10항 내지 12항 중 어느 한 항에 있어서, 하나 이상의 시간적 풀링 동작을 수행하는 것은 제1 집계된 품질 스코어 및 제2 집계된 품질 스코어에 대해 선형 로우 패스 동작, 비선형 등급 순위 가중 동작, 및 산술 평균 동작 중 적어도 하나를 수행하는 것을 포함한다.
14. 10항 내지 13항 중 어느 한 항에 있어서, 제1 세트의 특징들은 제2 세트의 특징들에 포함되지 않은 제1 특징을 포함하고, 제2 세트의 특징들은 제1 세트의 특징들에 포함되지 않은 제2 특징을 포함한다.
15. 10항 내지 14항 중 어느 한 항에 있어서, 제1 세트의 특징들은 시간적 특징 및 공간적 특징을 포함한다.
16. 10항 내지 15항 중 어느 한 항에 있어서, 제1 세트의 특징들은 복수의 시간적 특징들을 포함하고, 복수의 시간적 특징들에 포함된 각각의 시간적 특징은 상이한 스케일과 연관된다.
17. 10항 내지 16항 중 어느 한 항에 있어서, 제1 품질 스코어를 계산하기 전에, 전체 세트의 특징들에 포함된 각각의 특징을 제1 세트의 특징들 및 제2 세트의 특징들 중 적어도 하나에 할당하는 것을 더 포함한다.
18. 10항 내지 17항 중 어느 한 항에 있어서, 제1 기계 학습 알고리즘 및 복수의 주관적 스코어들에 기반하여 제1 모델을 생성하는 것을 더 포함하고, 복수의 주관적 스코어들에 포함된 각각의 주관적 스코어는 상이한 재구성된 테스트 비디오 콘텐츠와 연관된다.
19. 일부 실시예들에서, 시스템은 명령어들을 저장하는 메모리; 및 메모리에 결합되는 프로세서를 포함하며, 프로세서는, 명령어들을 실행할 때, 제1 세트의 특징들에 대한 제1 세트의 값들 및 제1 세트의 값들을 제1 품질 스코어와 연관시키는 제1 모델에 기반하여 재구성된 비디오 콘텐츠에 대한 제1 품질 스코어를 계산하고 - 제1 모델은 복수의 주관적 스코어들에 기반하여 생성됨 -; 제2 세트의 특징들에 대한 제2 세트의 값들 및 제2 세트의 값들을 제2 품질 스코어와 연관시키는 제2 모델에 기반하여 재구성된 비디오 콘텐츠에 대한 제2 품질 스코어를 계산하고 - 제2 모델은 복수의 주관적 스코어들에 기반하여 생성됨 -; 제1 품질 스코어 및 제2 품질 스코어에 기반하여 재구성된 비디오 콘텐츠에 대한 전체 품질 스코어를 결정하도록 구성되며, 전체 품질 스코어는 스트리밍된 비디오 콘텐츠와 연관된 시각적 품질의 레벨을 표시한다.
20. 19항에 있어서, 제1 품질 스코어 및 제2 품질 스코어는 재구성된 비디오 콘텐츠에 포함된 제1 프레임과 연관되고, 프로세서는, 제1 품질 스코어 및 제2 품질 스코어에 기반하여 제1 프레임과 연관된 제1 집계된 품질 스코어를 결정하고, 제1 집계된 품질 스코어 및 재구성된 비디오 콘텐츠에 포함된 제2 프레임과 연관된 제2 집계된 품질 스코어에 대해 하나 이상의 시간적 풀링 동작을 수행하여 전체 품질 스코어를 계산함으로써, 전체 품질 스코어를 결정하도록 구성된다.
임의의 청구항에 기재된 임의의 청구항 요소 및/또는 본 출원에서 설명된 임의의 요소들의 임의의 조합 및 모든 조합들은 임의의 방식으로 본 발명 및 보호의 고려 범위 내에 속한다.
다양한 실시예들에 대한 설명들은 예시의 목적들로 제시되었지만, 포괄적인 것으로 의도되거나 개시된 실시예들로 제한되지는 않는다. 설명된 실시예들의 범위 및 사상을 벗어나지 않고 관련 기술분야의 통상의 기술자에게 많은 수정들 및 변형들이 명백할 것이다.
본 실시예들의 양태들은 시스템, 방법 또는 컴퓨터 프로그램 제품으로서 구현될 수 있다. 따라서, 본 개시내용의 양태들은 전적으로 하드웨어 실시예, 전적으로 소프트웨어 실시예(펌웨어, 상주 소프트웨어, 마이크로코드 등을 포함함) 또는 본 명세서에서 모두 일반적으로 "모듈" 또는 "시스템"으로 지칭될 수 있는 소프트웨어 및 하드웨어 양태들을 조합한 실시예의 형태를 취할 수 있다. 또한, 본 개시내용의 양태들은 컴퓨터 판독가능한 프로그램 코드가 구현된 하나 이상의 컴퓨터 판독가능한 매체(들)에 구현된 컴퓨터 프로그램 제품의 형태를 취할 수 있다.
하나 이상의 컴퓨터 판독가능한 매체(들)의 임의의 조합이 이용될 수 있다. 컴퓨터 판독가능한 매체는 컴퓨터 판독가능한 신호 매체 또는 컴퓨터 판독가능한 저장 매체일 수 있다. 컴퓨터 판독가능한 저장 매체는 예를 들어 전자, 자기, 광학, 전자기, 적외선 또는 반도체 시스템, 장치 또는 디바이스, 또는 이들의 임의의 적절한 조합일 수 있지만, 이에 제한되는 것은 아니다. 컴퓨터 판독가능한 저장 매체의 보다 구체적인 예들(비-포괄적인 리스트)은 하나 이상의 와이어를 갖는 전기적 접속, 휴대용 컴퓨터 디스켓, 하드 디스크, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 소거 및 프로그램 가능 판독 전용 메모리(EPROM 또는 플래시 메모리), 광섬유, 휴대용 컴팩트 디스크 판독 전용 메모리(CD-ROM), 광학 저장 디바이스, 자기 저장 디바이스 또는 이들의 임의의 적절한 조합을 포함할 것이다. 본 문서와 관련하여, 컴퓨터 판독가능한 저장 매체는 명령어 실행 시스템, 장치 또는 디바이스에 의해 또는 이와 관련하여 이용하기 위한 프로그램을 포함하거나 저장할 수 있는 임의의 유형적인 매체일 수 있다.
본 개시내용의 양태들은 본 개시내용의 실시예들에 따른 방법들, 장치들(시스템들) 및 컴퓨터 프로그램 제품들의 흐름도들 및/또는 블록도들을 참조하여 위에서 설명되었다. 흐름도들 및/또는 블록도들의 각각의 블록, 및 흐름도들 및/또는 블록도들 내의 블록들의 조합들은 컴퓨터 프로그램 명령어들에 의해 구현될 수 있다는 것을 이해할 것이다. 이들 컴퓨터 프로그램 명령어들은 범용 컴퓨터, 특수 목적 컴퓨터 또는 다른 프로그램 가능 데이터 처리 장치의 프로세서에 제공되어 기계를 생성할 수 있다. 명령어들은, 컴퓨터 또는 다른 프로그램 가능 데이터 처리 장치의 프로세서를 통해 실행될 때, 흐름도 및/또는 블록도의 블록 또는 블록들에서 지정된 기능들/동작들의 구현을 가능하게 한다. 이러한 프로세서들은 범용 프로세서들, 특수 목적 프로세서들, 주문형 프로세서들, 또는 필드 프로그램 가능 게이트 어레이들일 수 있지만, 이에 제한되지는 않는다.
도면들 내의 흐름도들 및 블록도들은 본 개시내용의 다양한 실시예들에 따른 시스템들, 방법들 및 컴퓨터 프로그램 제품들의 가능한 구현들의 아키텍처, 기능 및 동작을 도시한다. 이와 관련하여, 흐름도들 또는 블록도들 내의 각각의 블록은 지정된 논리적 기능(들)을 구현하기 위한 하나 이상의 실행가능한 명령어를 포함하는 모듈, 세그먼트 또는 코드 부분을 나타낼 수 있다. 또한, 일부 대안 구현들에서, 그 블록에서 언급된 기능들이 도면들에서 언급된 순서와 다르게 발생할 수 있음에 유의해야 한다. 예를 들어, 연속적으로 도시된 2개의 블록은 사실상 실질적으로 동시에 실행될 수 있거나, 또는 그 블록들은 관련된 기능에 따라 때때로 역순으로 실행될 수 있다. 또한, 블록도들 및/또는 흐름도의 각각의 블록, 및 블록도들 및/또는 흐름도 내의 블록들의 조합들은 지정된 기능들 또는 동작들을 수행하는 특수 목적 하드웨어 기반 시스템들, 또는 특수 목적 하드웨어 및 컴퓨터 명령어들의 조합들에 의해 구현될 수 있다는 점에 유의할 것이다.
전술한 내용은 본 개시내용의 실시예들에 관한 것이지만, 본 개시내용의 다른 실시예들 및 추가 실시예들은 본 개시내용의 기본 범위를 벗어나지 않고 안출될 수 있으며, 그 범위는 다음의 청구항들에 의해 결정된다.

Claims (20)

  1. 컴퓨터에 의해 구현되는 방법으로서,
    제1 세트의 특징(feature)들에 대한 제1 세트의 값들 및 상기 제1 세트의 값들을 제1 시각적 품질 스코어와 연관시키는 제1 모델에 기반하여 재구성된 비디오 콘텐츠에 대한 제1 시각적 품질 레벨을 표시하는 상기 제1 시각적 품질 스코어를 계산하는 단계 - 상기 제1 모델은 제1 기계 학습 알고리즘을 통해 생성됨 -;
    제2 세트의 특징들에 대한 제2 세트의 값들 및 상기 제2 세트의 값들을 제2 시각적 품질 스코어와 연관시키는 제2 모델에 기반하여 상기 재구성된 비디오 콘텐츠에 대한 제2 시각적 품질 레벨을 표시하는 상기 제2 시각적 품질 스코어를 계산하는 단계; 및
    상기 제1 시각적 품질 스코어 및 상기 제2 시각적 품질 스코어에 기반하여 상기 재구성된 비디오 콘텐츠에 대한 전체 시각적 품질 스코어를 결정하는 단계 - 상기 전체 시각적 품질 스코어는 스트리밍된 비디오 콘텐츠와 연관된 시각적 품질의 전체 레벨을 표시함 -
    를 포함하는, 컴퓨터에 의해 구현되는 방법.
  2. 제1항에 있어서,
    상기 제1 시각적 품질 스코어 및 상기 제2 시각적 품질 스코어는 상기 재구성된 비디오 콘텐츠에 포함된 제1 프레임과 연관되고,
    상기 전체 시각적 품질 스코어를 결정하는 단계는,
    상기 제1 시각적 품질 스코어 및 상기 제2 시각적 품질 스코어에 기반하여 상기 제1 프레임과 연관된 제1 집계된 시각적 품질 스코어를 결정하는 단계; 및
    상기 제1 집계된 시각적 품질 스코어 및 상기 재구성된 비디오 콘텐츠에 포함된 제2 프레임과 연관된 제2 집계된 시각적 품질 스코어에 대해 하나 이상의 시간적 풀링 동작을 수행하여 상기 전체 시각적 품질 스코어를 계산하는 단계
    를 포함하는, 컴퓨터에 의해 구현되는 방법.
  3. 제2항에 있어서,
    상기 제1 집계된 시각적 품질 스코어를 결정하는 단계는 상기 제1 시각적 품질 스코어 및 상기 제2 시각적 품질 스코어의 평균 또는 가중된 평균을 계산하는 단계를 포함하는, 컴퓨터에 의해 구현되는 방법.
  4. 제2항에 있어서,
    상기 제1 집계된 시각적 품질 스코어를 결정하는 단계는 상기 제1 기계 학습 알고리즘 또는 제2 기계 학습 알고리즘을 통해 생성되는 제3 모델에 기반하여 상기 제1 시각적 품질 스코어 및 상기 제2 시각적 품질 스코어를 상기 제1 집계된 시각적 품질 스코어와 연관시키는 단계를 포함하는, 컴퓨터에 의해 구현되는 방법.
  5. 제1항에 있어서,
    상기 제1 세트의 특징들은 상기 제2 세트의 특징들에 포함되지 않은 제1 특징을 포함하고, 상기 제2 세트의 특징들은 상기 제1 세트의 특징들에 포함되지 않는 제2 특징을 포함하는, 컴퓨터에 의해 구현되는 방법.
  6. 제1항에 있어서,
    상기 제1 세트의 특징들은 시간적 특징 및 공간적 특징을 포함하는, 컴퓨터에 의해 구현되는 방법.
  7. 제1항에 있어서,
    상기 제1 세트의 특징들은 가산적 손상 측정 특징(additive impairment measure feature), 블라인드 또는 무참조(referenceless) 이미지 공간적 품질 평가자 특징, 및 시각적 정보 충실도 특징 중 적어도 하나를 포함하는, 컴퓨터에 의해 구현되는 방법.
  8. 제1항에 있어서,
    상기 제1 기계 학습 알고리즘 및 복수의 주관적 스코어들에 기반하여 상기 제1 모델을 생성하는 단계를 더 포함하고, 상기 복수의 주관적 스코어들에 포함된 각각의 주관적 스코어는 상이한 재구성된 테스트 비디오 콘텐츠와 연관되는, 컴퓨터에 의해 구현되는 방법.
  9. 제8항에 있어서,
    상기 복수의 주관적 스코어들에 기반하여 상기 제2 모델을 생성하는 단계를 더 포함하는, 컴퓨터에 의해 구현되는 방법.
  10. 명령어들을 포함하는 컴퓨터 판독가능한 저장 매체로서,
    상기 명령어들은, 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
    제1 세트의 특징들에 대한 제1 세트의 값들 및 상기 제1 세트의 값들을 제1 시각적 품질 스코어와 연관시키는 제1 모델에 기반하여 재구성된 비디오 콘텐츠에 대한 제1 시각적 품질 레벨을 표시하는 상기 제1 시각적 품질 스코어를 계산하는 단계 - 상기 제1 모델은 제1 기계 학습 알고리즘을 통해 생성됨 -;
    제2 세트의 특징들에 대한 제2 세트의 값들 및 상기 제2 세트의 값들을 제2 시각적 품질 스코어와 연관시키는 제2 모델에 기반하여 상기 재구성된 비디오 콘텐츠에 대한 제2 시각적 품질 레벨을 표시하는 상기 제2 시각적 품질 스코어를 계산하는 단계 - 상기 제2 모델은 상기 제1 기계 학습 알고리즘 또는 제2 기계 학습 알고리즘을 통해 생성됨 -; 및
    상기 제1 시각적 품질 스코어 및 상기 제2 시각적 품질 스코어에 기반하여 상기 재구성된 비디오 콘텐츠에 대한 전체 시각적 품질 스코어를 결정하는 단계 - 상기 전체 시각적 품질 스코어는 스트리밍된 비디오 콘텐츠와 연관된 시각적 품질의 전체 레벨을 표시함 -
    를 수행하게 하는, 컴퓨터 판독가능한 저장 매체.
  11. 시스템으로서,
    명령어들을 저장하는 메모리; 및
    상기 메모리에 결합되는 프로세서
    를 포함하며,
    상기 프로세서는, 상기 명령어들을 실행할 때,
    제1 세트의 특징들에 대한 제1 세트의 값들 및 상기 제1 세트의 값들을 제1 시각적 품질 스코어와 연관시키는 제1 모델에 기반하여 재구성된 비디오 콘텐츠에 대한 제1 시각적 품질 레벨을 표시하는 상기 제1 시각적 품질 스코어를 계산하고 - 상기 제1 모델은 복수의 주관적 스코어들에 기반하여 생성됨 -;
    제2 세트의 특징들에 대한 제2 세트의 값들 및 상기 제2 세트의 값들을 제2 시각적 품질 스코어와 연관시키는 제2 모델에 기반하여 상기 재구성된 비디오 콘텐츠에 대한 제2 시각적 품질 레벨을 표시하는 상기 제2 시각적 품질 스코어를 계산하고 - 상기 제2 모델은 상기 복수의 주관적 스코어들에 기반하여 생성됨 -;
    상기 제1 시각적 품질 스코어 및 상기 제2 시각적 품질 스코어에 기반하여 상기 재구성된 비디오 콘텐츠에 대한 전체 시각적 품질 스코어를 결정하도록 구성되며,
    상기 전체 시각적 품질 스코어는 스트리밍된 비디오 콘텐츠와 연관된 시각적 품질의 전체 레벨을 표시하는, 시스템.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020207025322A 2018-02-07 2019-02-07 상보적 지각 품질 모델들에 기반하여 지각 비디오 품질을 예측하기 위한 기술들 KR102455509B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/890,710 2018-02-07
US15/890,710 US10721477B2 (en) 2018-02-07 2018-02-07 Techniques for predicting perceptual video quality based on complementary perceptual quality models
PCT/US2019/017134 WO2019157235A1 (en) 2018-02-07 2019-02-07 Techniques for predicting perceptual video quality based on complementary perceptual quality models

Publications (2)

Publication Number Publication Date
KR20200116973A KR20200116973A (ko) 2020-10-13
KR102455509B1 true KR102455509B1 (ko) 2022-10-19

Family

ID=65520430

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207025322A KR102455509B1 (ko) 2018-02-07 2019-02-07 상보적 지각 품질 모델들에 기반하여 지각 비디오 품질을 예측하기 위한 기술들

Country Status (11)

Country Link
US (1) US10721477B2 (ko)
EP (1) EP3750311A1 (ko)
JP (1) JP7191492B2 (ko)
KR (1) KR102455509B1 (ko)
CN (2) CN118101946A (ko)
AU (2) AU2019218894B2 (ko)
BR (1) BR112020016047A2 (ko)
CA (1) CA3089584C (ko)
MX (1) MX2020008260A (ko)
SG (1) SG11202007076UA (ko)
WO (1) WO2019157235A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110139109B (zh) * 2018-02-08 2023-01-10 北京三星通信技术研究有限公司 图像的编码方法及相应终端
BR112022012563A2 (pt) * 2019-12-31 2022-09-06 Google Llc Seleção de formato ideal para jogadores de vídeo com base na qualidade visual prevista utilizando aprendizado por máquina
US20210233259A1 (en) * 2020-01-28 2021-07-29 Ssimwave Inc. No-reference visual media assessment combining deep neural networks and models of human visual system and video content/distortion analysis
US11586842B2 (en) * 2020-03-18 2023-02-21 Vmware, Inc. System and method for machine learning based video quality assessment
US11854264B2 (en) * 2021-06-18 2023-12-26 Kyndryl, Inc. Speculative actions based on predicting negative circumstances
WO2023163494A1 (ko) * 2022-02-23 2023-08-31 삼성전자주식회사 전자 장치 및 그 제어 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016183011A1 (en) 2015-05-11 2016-11-17 Netflix, Inc. Techniques for predicting perceptual video quality
WO2016197026A1 (en) 2015-06-05 2016-12-08 Sony Corporation Full reference image quality assessment based on convolutional neural network
US20170132785A1 (en) * 2015-11-09 2017-05-11 Xerox Corporation Method and system for evaluating the quality of a surgical procedure from in-vivo video

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7260248B2 (en) 1999-12-15 2007-08-21 Medispectra, Inc. Image processing using measures of similarity
US6876381B2 (en) 2001-01-10 2005-04-05 Koninklijke Philips Electronics N.V. System and method for providing a scalable objective metric for automatic video quality evaluation employing interdependent objective metrics
EP2114080A1 (en) 2008-04-30 2009-11-04 Thomson Licensing Method for assessing the quality of a distorted version of a frame sequence
US8644383B2 (en) * 2011-03-10 2014-02-04 Microsoft Corporation Mean absolute difference prediction for video encoding rate control
CN103918262B (zh) 2011-06-14 2017-11-10 王舟 基于结构相似度的码率失真优化感知视频编码方法和系统
US9143776B2 (en) 2012-05-07 2015-09-22 Futurewei Technologies, Inc. No-reference video/image quality measurement with compressed domain features
WO2017053115A1 (en) * 2015-09-23 2017-03-30 Board Of Regents, The University Of Texas System Predicting a viewer's quality of experience
US10827185B2 (en) * 2016-04-07 2020-11-03 Netflix, Inc. Techniques for robustly predicting perceptual video quality
CN106028026B (zh) 2016-05-27 2017-09-05 宁波大学 一种基于时空域结构的高效视频质量客观评价方法
US10185884B2 (en) 2016-09-07 2019-01-22 Apple Inc. Multi-dimensional objective metric concentering

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016183011A1 (en) 2015-05-11 2016-11-17 Netflix, Inc. Techniques for predicting perceptual video quality
WO2016197026A1 (en) 2015-06-05 2016-12-08 Sony Corporation Full reference image quality assessment based on convolutional neural network
US20170132785A1 (en) * 2015-11-09 2017-05-11 Xerox Corporation Method and system for evaluating the quality of a surgical procedure from in-vivo video

Also Published As

Publication number Publication date
WO2019157235A1 (en) 2019-08-15
CA3089584C (en) 2023-09-19
CN118101946A (zh) 2024-05-28
AU2019218894B2 (en) 2021-07-01
CA3089584A1 (en) 2019-08-15
KR20200116973A (ko) 2020-10-13
CN111684800B (zh) 2024-02-20
SG11202007076UA (en) 2020-08-28
BR112020016047A2 (pt) 2020-12-08
JP7191492B2 (ja) 2022-12-19
EP3750311A1 (en) 2020-12-16
MX2020008260A (es) 2020-09-21
AU2021240301A1 (en) 2021-10-28
JP2021513145A (ja) 2021-05-20
US20190246112A1 (en) 2019-08-08
US10721477B2 (en) 2020-07-21
AU2019218894A1 (en) 2020-08-13
CN111684800A (zh) 2020-09-18

Similar Documents

Publication Publication Date Title
KR102455509B1 (ko) 상보적 지각 품질 모델들에 기반하여 지각 비디오 품질을 예측하기 위한 기술들
US10475172B2 (en) Techniques for predicting perceptual video quality
US11700383B2 (en) Techniques for modeling temporal distortions when predicting perceptual video quality
KR102523149B1 (ko) 부트스트래핑을 통한 지각 품질 모델 불확실성의 정량화
US10827185B2 (en) Techniques for robustly predicting perceptual video quality
US11557025B2 (en) Techniques for training a perceptual quality model to account for brightness and color distortions in reconstructed videos
US11532077B2 (en) Techniques for computing perceptual video quality based on brightness and color components
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

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant