KR20100005224A - 품질 제어된 인코딩을 위한 방법 및 시스템 - Google Patents

품질 제어된 인코딩을 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20100005224A
KR20100005224A KR1020097024262A KR20097024262A KR20100005224A KR 20100005224 A KR20100005224 A KR 20100005224A KR 1020097024262 A KR1020097024262 A KR 1020097024262A KR 20097024262 A KR20097024262 A KR 20097024262A KR 20100005224 A KR20100005224 A KR 20100005224A
Authority
KR
South Korea
Prior art keywords
quality
data segment
quality metric
encoding
metric
Prior art date
Application number
KR1020097024262A
Other languages
English (en)
Other versions
KR101104654B1 (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 KR20100005224A publication Critical patent/KR20100005224A/ko
Application granted granted Critical
Publication of KR101104654B1 publication Critical patent/KR101104654B1/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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • H04N19/194Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 명세서는, 시퀀스의 컨텐츠와 무관하게, 원하는 일정한 지각적 품질을 달성하도록 시도하기 위해 멀티미디어 시퀀스의 인식된 품질을 제어하기 위한 기술을 설명한다. 더 상세하게는, 인코딩 디바이스가 세그먼트의 컨텐츠에 기초하여 시퀀스 세그먼트를 컨텐츠 "클래스" 와 연관시키고, 시퀀스 세그먼트의 지각적 품질 메트릭을 결정하고, 시퀀스 세그먼트의 지각적 품질이 원하는 품질에 수렴하도록 세그먼트를 인코딩하는데 이용된 적어도 하나의 인코딩 파라미터를 조정하는 품질 제어 기술을 구현할 수도 있다.
Figure P1020097024262
멀티미디어, 인코딩, 품질, 컨텐츠

Description

품질 제어된 인코딩을 위한 방법 및 시스템{METHODS AND SYSTEMS FOR QUALITY CONTROLLED ENCODING}
기술분야
본 명세서는 멀티미디어 인코딩 및 디코딩에 관한 것이며, 더 상세하게는, 인코딩된 멀티미디어 시퀀스의 품질의 제어에 관한 것이다.
배경기술
디지털 비디오 (및 더 일반적으로는 임의의 멀티미디어 시퀀스, 즉, 오디오, 비디오 및 영상 또는 기타 비가역 압축 (lossy compression) 데이터) 능력은, 디지털 텔레비젼, 디지털 다이렉트 브로드캐스트 시스템, 무선 통신 디바이스, 개인 휴대 정보 단말기 (PDA), 랩탑 컴퓨터, 데스크탑 컴퓨터, 비디오 게임 콘솔, 디지털 카메라, 디지털 기록 디바이스, 셀룰러 또는 위성 무선 전화 등을 포함하는 광범위한 디바이스에 통합될 수 있다. 디지털 비디오 디바이스들은 비디오 시퀀스의 프로세싱 및 송신시에 종래의 아날로그 비디오 시스템에 비해 현저한 개선을 제공할 수 있다.
디지털 비디오 시퀀스를 인코딩하기 위해 서로 다른 비디오 인코딩 표준들이 확립되고 있다. 예를 들어, 동영상 전문가 그룹 (MPEG) 은 MPEG-1, MPEG-2 및 MPEG-4 를 포함하는 다수의 표준들을 개발하고 있다. 다른 예로는, 국제 전기 통신 연합 (ITU)-T H.263 표준 및 ITU-T H.264 표준 및 그 대응물, ISO/IEC MPEG-4 파트 10, 즉 어드밴스드 비디오 코딩 (AVC) 이 포함된다. 이 비디오 인코딩 표준들은 압축 방식으로 데이터를 인코딩함으로써 비디오 시퀀스의 개선된 송신 효율을 지원한다.
다양한 현재의 기술들은 블록 기반 코딩을 이용한다. 블록 기반 코딩에서는, 멀티미디어 시퀀스의 프레임들이 픽셀들의 개별적인 블록으로 분할되고, 이 픽셀들의 블록은 다른 블록들과의 차에 기초하여 코딩된다. 종종 "매크로블록" 으로도 지칭되는, 픽셀의 몇몇 블록들은 픽셀의 서브-블록의 그룹을 포함한다. 예를 들어, 16×16 매크로블록은 4 개의 8×8 서브-블록을 포함할 수도 있다. 서브-블록들은 별도로 인코딩될 수도 있다. 예를 들어, H.264 표준은, 예를 들어, 16×16, 16×8, 8×16, 8×8, 4×4, 8×4 및 4×8 과 같은 다양한 서로 다른 사이즈로 블록들의 인코딩을 허용한다. 또한, 확장에 의해, 예를 들어, 2×16, 16×2, 2×2, 4×16, 8×2 등과 같은 임의의 사이즈의 서브-블록들이 매크로블록에 포함될 수도 있다.
개요
본 명세서는 인코딩된 데이터의 시퀀스의 품질을 제어하는 인코딩 기술을 설명한다. 일반적으로, 본 명세서의 특정한 실시형태들의 특정한 양태는 임의의 멀티미디어 스트림 (즉, 오디오, 비디오, 영상 또는 비가역 압축을 이용하는 임의의 데이터) 에 적용될 수 있다. 그러나, 제한하지 않으면서 간결하게 설명하기 위해, 본 명세서의 특정한 실시형태들은 비디오, 멀티미디어 데이터를 이용하여 설명 및 예시된다.
특정한 양태에서, 디지털 비디오 데이터의 시퀀스를 프로세싱하는 방법은: 인코딩 파라미터들의 세트를 이용하여 디지털 비디오 데이터와 연관된 데이터 세그먼트를 인코딩하는 단계; 인코딩된 데이터 세그먼트의 하나 이상의 특성을 분석하여, 그 데이터 세그먼트를 복수의 컨텐츠 클래스 중 하나와 연관시키는 단계; 인코딩된 데이터 세그먼트의 인식된 품질 메트릭 및 그 연관된 컨텐츠 클래스에 대응하는 타겟 품질 메트릭에 적어도 기초하여, 그 데이터 세그먼트를 인코딩하는데 이용된 인코딩 파라미터 중 적어도 하나를 조정하는 단계; 및 그 조정된 인코딩 파라미터를 이용하여 데이터 세그먼트를 리-인코딩하는 단계 중 하나 또는 이 단계들의 조합을 포함한다.
특정한 양태에서, 디지털 비디오 데이터를 프로세싱하는 장치는: 인코딩 파라미터의 세트를 이용하여 디지털 비디오 데이터와 연관된 데이터 세그먼트를 인코딩하는 인코딩 모듈; 그 인코딩된 데이터 세그먼트의 하나 이상의 파라미터를 분석하여 그 데이터 세그먼트를 복수의 컨텐츠 클래스 중 하나와 연관시키는 컨텐츠 분류 모듈; 및 인코딩된 데이터 세그먼트의 인식된 품질 메트릭 및 그 연관된 컨텐츠 클래스에 대응하는 타겟 품질 메트릭에 적어도 기초하여, 그 데이터 세그먼트를 인코딩하는데 이용된 인코딩 파라미터 중 적어도 하나를 조정하는 품질 제어 모듈 중 하나 또는 이 모듈들의 조합을 포함하며, 인코딩 모듈은 그 조정된 인코딩 파라미터를 이용하여 데이터 세그먼트를 리-인코딩한다.
특정한 양태에서, 디지털 비디오 데이터를 프로세싱하는 장치는: 인코딩 파라미터의 세트를 이용하여 디지털 비디오 데이터와 연관된 데이터 세그먼트를 인코 딩하는 수단; 그 인코딩된 데이터의 하나 이상의 특성을 분석하여 데이터 세그먼트를 복수의 컨텐츠 클래스 중 하나와 연관시키는 수단; 인코딩된 데이터 세그먼트의 인식된 품질 메트릭 및 그 연관된 컨텐츠 클래스에 대응하는 타겟 품질 메트릭에 적어도 기초하여, 그 데이터 세그먼트를 인코딩하는데 이용된 인코딩 파라미터 중 적어도 하나를 조정하는 수단; 및 그 조정된 인코딩 파라미터를 이용하여 데이터 세그먼트를 리-인코딩하는 수단 중 하나 또는 이 수단들의 조합을 포함한다.
특정한 양태에서, 코드의 하나 이상의 세그먼트를 포함하며 하나 이상의 머신에서 실행가능한 명령들을 저장하는 머신 판독가능 매체가 제공되며, 그 코드의 하나 이상의 세그먼트는, 인코딩 파라미터의 세트를 이용하여 디지털 비디오 데이터와 연관된 데이터 세그먼트를 인코딩하기 위한 코드; 그 인코딩된 데이터의 하나 이상의 특성을 분석하여 데이터 세그먼트를 복수의 컨텐츠 클래스 중 하나와 연관시키기 위한 코드; 인코딩된 데이터 세그먼트의 인식된 품질 메트릭 및 그 연관된 컨텐츠 클래스에 대응하는 타겟 품질 메트릭에 적어도 기초하여, 그 데이터 세그먼트를 인코딩하는데 이용된 인코딩 파라미터 중 적어도 하나를 조정하기 위한 코드; 및 그 조정된 인코딩 파라미터를 이용하여 데이터 세그먼트를 리-인코딩하기 위한 코드 중 하나 또는 이 코드들의 조합을 포함한다.
특정한 양태에서, 멀티미디어 데이터를 프로세싱하는 방법은: 디지털 비디오 데이터와 연관된 인코딩된 데이터 세그먼트에 대한 인식된 품질 메트릭을 연산하는 단계; 및 데이터 세그먼트를 인코딩하는데 이용된 적어도 하나의 인코딩 파라미터 및 그 인코딩된 데이터 세그먼트의 결과적 비트레이트 중 하나, 및 상기 인식된 품 질 메트릭에 기초하여, 복수의 컨텐츠 클래스 중 하나를 선택하는 단계 중 하나 또는 이 단계들의 조합을 포함하며, 적어도 하나의 차 메트릭에 기초하여 픽셀들의 블록을 그룹으로 분류하는 단계는: 가능한 차 메트릭들을 그룹으로 분류하는 단계로서, 이 그룹의 적어도 일부는 2 이상의 차 메트릭을 포함하는, 상기 분류하는 단계; 그룹 각각과 연관된 품질 메트릭을 미리 연산하는 단계로서, 이 그룹에 대한 품질 메트릭은 그 그룹과 관련된 차 메트릭 각각에 대응하는 품질 메트릭의 평균과 동일한, 상기 미리 연산하는 단계; 및 그룹 각각에 대한 가중치를 미리 연산하는 단계로서, 그룹 각각에 대한 가중치는 빈과 연관된 차 메트릭의 적어도 일부에 기초하여 연산되는, 상기 가중치를 미리 연산하는 단계 중 하나 또는 이 단계들의 조합을 포함한다.
특정한 양태에서, 멀티미디어 데이터를 프로세싱하는 장치는: 디지털 비디오 데이터와 연관된 인코딩된 데이터 세그먼트에 대한 인식된 품질 메트릭을 연산하는 품질 측정 모듈; 및 데이터 세그먼트를 인코딩하는데 이용된 적어도 하나의 인코딩 파라미터 및 그 인코딩된 데이터 세그먼트의 결과적 비트레이트 중 하나, 및 상기 인식된 품질 메트릭에 기초하여, 복수의 컨텐츠 클래스 중 하나를 선택하는 클래스 선택 모듈 중 하나 또는 이 모듈들의 조합을 포함하며, 품질 측정 모듈은, 가능한 차 메트릭들을 그룹으로 분류하는 동작으로서, 이 그룹의 적어도 일부는 2 이상의 차 메트릭을 포함하는, 상기 분류하는 동작; 그룹 각각과 연관된 품질 메트릭을 미리 연산하는 동작으로서, 이 그룹에 대한 품질 메트릭은 그 그룹과 관련된 차 메트릭 각각에 대응하는 품질 메트릭의 평균과 동일한, 상기 미리 연산하는 동작; 및 그룹 각각에 대한 가중치를 미리 연산하는 동작으로서, 그룹 각각에 대한 가중치는 빈과 연관된 차 메트릭의 적어도 일부에 기초하여 연산되는, 상기 가중치를 미리 연산하는 동작 중 하나 또는 이 동작들의 조합을 더 수행한다.
특정한 양태에서, 멀티미디어 데이터를 프로세싱하는 장치는: 디지털 비디오 데이터와 연관된 인코딩된 데이터 세그먼트에 대한 인식된 품질 메트릭을 연산하는 수단; 및 데이터 세그먼트를 인코딩하는데 이용된 적어도 하나의 인코딩 파라미터 및 그 인코딩된 데이터 세그먼트의 결과적 비트레이트 중 하나, 및 상기 인식된 품질 메트릭에 기초하여, 복수의 컨텐츠 클래스 중 하나를 선택하는 수단 중 하나 또는 이 수단들의 조합을 포함하며, 적어도 하나의 차 메트릭에 기초하여 픽셀들의 블록을 그룹으로 분류하는 수단은, 가능한 차 메트릭들을 그룹으로 분류하는 수단으로서, 이 그룹의 적어도 일부는 2 이상의 차 메트릭을 포함하는, 상기 분류하는 수단; 그룹 각각과 연관된 품질 메트릭을 미리 연산하는 수단으로서, 이 그룹에 대한 품질 메트릭은 그 그룹과 관련된 차 메트릭 각각에 대응하는 품질 메트릭의 평균과 동일한, 상기 미리 연산하는 수단; 및 그룹 각각에 대한 가중치를 미리 연산하는 수단으로서, 그룹 각각에 대한 가중치는 빈과 연관된 차 메트릭의 적어도 일부에 기초하여 연산되는, 상기 가중치를 미리 연산하는 수단 중 하나 또는 이 수단들의 조합을 포함한다.
특정한 양태에서, 코드의 하나 이상의 부분들을 포함하며 하나 이상의 머신에서 실행가능한 명령들을 저장하는 머신 판독가능 매체가 제공되며, 그 코드의 하나 이상의 부분들은, 디지털 비디오 데이터와 연관된 인코딩된 데이터 세그먼트에 대한 인식된 품질 메트릭을 연산하기 위한 코드; 및 데이터 세그먼트를 인코딩하는데 이용된 적어도 하나의 인코딩 파라미터 및 그 인코딩된 데이터 세그먼트의 결과적 비트레이트 중 하나, 및 상기 인식된 품질 메트릭에 기초하여, 복수의 컨텐츠 클래스 중 하나를 선택하기 위한 코드 중 하나 또는 이 코드들의 조합을 포함하며, 그 인식된 품질 메트릭을 연산하기 위한 코드는: 가능한 차 메트릭들을 그룹으로 분류하기 위한 코드로서, 이 그룹의 적어도 일부는 2 이상의 차 메트릭을 포함하는, 상기 분류하기 위한 코드; 그룹 각각과 연관된 품질 메트릭을 미리 연산하기 위한 코드로서, 이 그룹에 대한 품질 메트릭은 그 그룹과 관련된 차 메트릭 각각에 대응하는 품질 메트릭의 평균과 동일한, 상기 미리 연산하기 위한 코드; 및 그룹 각각에 대한 가중치를 미리 연산하기 위한 코드로서, 그룹 각각에 대한 가중치는 빈과 연관된 차 메트릭의 적어도 일부에 기초하여 연산되는, 상기 가중치를 미리 연산하기 위한 코드 중 하나 또는 이 코드들의 조합을 더 포함한다.
(더 일반적으로는 임의의 멀티미디어 시퀀스, 오디오, 비디오 및 영상 또는 기타 비가역 압축)
이하, 첨부한 도면 및 상세한 설명에서 하나 이상의 실시형태들의 세부사항이 기술된다. 다른 특징, 목적 및 이점은 그 상세한 설명과 도면, 및 청구항으로부터 명백해질 것이다.
도면의 간단한 설명
도 1 은 본 명세서의 품질 제어 기술을 이용하는 비디오 인코딩 및 디코딩 시스템을 도시하는 블록도이다.
도 2 는 데이터 세그먼트를 복수의 컨텐츠 클래스 중 하나와 연관시키는 예시적인 콘텐츠 분류 모듈을 도시하는 블록도이다.
도 3 은 컨텐츠 클래스를 나타내는 예시적인 품질-레이트 커브를 도시하는 그래프이다.
도 4 는 데이터 세그먼트를 인코딩하는데 이용되는 하나 이상의 인코딩 파라미터를 동적으로 조정하는 예시적인 품질 제어 모듈을 도시하는 블록도이다.
도 5 는 본 명세서의 기술에 따라 데이터 세그먼트를 인코딩하는 예시적인 인코딩 기술을 도시하는 도면이다.
도 6 은 본 명세서의 기술에 따라 인코딩된 데이터 세그먼트의 품질을 제어하는 인코딩 디바이스의 예시적인 동작을 도시하는 흐름도이다.
도 7 은 가중된 품질 메트릭을 연산하는 품질 측정 모듈의 예시적인 동작을 도시하는 흐름도이다.
도 8 은 데이터 세그먼트를 복수의 컨텐츠 클래스 중 하나와 연관시키는 컨텐츠 분류 모듈의 예시적인 동작을 도시하는 흐름도이다.
상세한 설명
본 명세서는 인코딩된 데이터의 시퀀스의 품질을 제어하는 인코딩 기술을 설명한다. 일반적으로, 본 명세서의 특정한 실시형태의 특정한 양태는 임의의 멀티미디어 스트림 (즉, 오디오, 비디오, 영상 또는 임의의 비가역 압축을 이용한 데이터) 에 적용될 수 있다. 그러나, 제한하지 않으면서 간결하게 설명하기 위해, 본 명세서의 특정한 실시형태들은 비디오, 멀티미디어 데이터를 이용하여 설명 및 예시된다. 더 상세하게는, 본 명세서의 기술은 관측자에 의해 경험되는 인식된 품질을 제어하려 시도한다. 관측자에 의해 경험되는 인식된 품질은 데이터의 시퀀스의 컨텐츠 또는 특성에 기초하여 상이할 수도 있다. 즉, 동일한 인코딩 파라미터를 이용하여 인코딩된 시퀀스들은 그 시퀀스의 컨텐츠에 기초하여 서로 다른 인식된 품질을 가질 수도 있다. 예를 들어, 36 의 양자화 파라미터 (QP) 로 인코딩된 하이 모션 스포츠 시퀀스는 동일한 QP 로 인코딩된 로우 모션 시퀀스보다 훨씬 더 양호하게 보일 수도 있다. 이것은, 스포츠 시퀀스에서의 모션은 인식된 가시적 품질을 더 높은 QP 에서 증가시키는 경향이 있다는 사실에 주로 기인할 수도 있다. 한편, 로우 모션 시퀀스가 양호하게 보이는 더 낮은 QP 에서 스포츠 시퀀스가 인코딩되었다면, 지각적 품질은 개선될 수도 있지만, 증가된 비트레이트의 비용이 지각적 품질에서의 증분적 개선보다 더 크다. 이 특정한 실시형태가 다른 멀티미디어 스트림 (즉, 오디오 스트림) 에 적용되는 경우, 그 지각적 품질은 비디오 스트림에서와 같은 시각적인 것 대신 청각적인 것일 수도 있다.
본 명세서는, 시퀀스의 인식된 품질을 제어하여, 시퀀스의 컨텐츠 또는 특성과 무관하게, 원하는 일정한 지각적 품질을 달성하려 시도한다. 여기서 상세히 설명하는 바와 같이, 인코딩 디바이스는, 시퀀스의 세그먼트를 그 세그먼트의 컨텐츠에 기초하여 컨텐츠 "클래스" 와 연관시키고, 그 시퀀스의 세그먼트의 관측된 지각적 품질을 결정하고, 데이터 세그먼트와 연관된 컨텐츠 클래스 및 그 관측된 지각적 품질에 기초하여 하나 이상의 인코딩 파라미터를 조정하는 품질 제어 기술을 구현한다. 시간이 허용한다면, 데이터 세그먼트는 그 조정된 인코딩 파라미터를 이용하여 리-인코딩될 수도 있다. 대안적으로, 데이터의 후속 세그먼트는 초기에, 그 조정된 인코딩 파라미터를 이용하여 인코딩될 수도 있다. 이 방식으로, 데이터 세그먼트는, 그 시퀀스의 세그먼트의 관측된 지각적 품질이 원하는 지각적 품질에 수렴하도록 인코딩된다.
도 1 은, 여기서 설명하는 품질 제어 기술을 이용하는 비디오 인코딩 및 디코딩 시스템 (10) 을 도시하는 블록도이다. 인코딩 및 디코딩 시스템 (10) 은 송신 채널 (16) 에 의해 접속되는 인코딩 디바이스 (12) 및 디코딩 디바이스 (14) 를 포함한다. 인코딩 디바이스 (12) 는 디지털 비디오 데이터의 하나 이상의 시퀀스를 인코딩하고, 그 인코딩된 시퀀스를, 디코딩 및 디바이스 (14) 의 사용자로의 프리젠테이션을 위해 송신 채널을 통해 디코딩 디바이스 (14) 로 송신한다. 송신 채널 (16) 은 임의의 유선 또는 무선 매체 또는 이들의 조합을 포함할 수도 있다.
인코딩 디바이스 (12) 는 비디오 데이터의 하나 이상의 채널을 브로드캐스트하는데 이용되는 브로드캐스트 네트워크 컴포넌트의 일부를 형성할 수도 있다. 예를 들어, 인코딩 디바이스 (12) 는, 무선 기지국, 서버, 또는 인코딩된 비디오 데이터의 하나 이상의 채널을 무선 디바이스에 브로드캐스트하는데 이용되는 임의의 인프라구조 노드의 일부를 형성할 수도 있다. 이 경우, 인코딩 디바이스 (12) 는 인코딩된 데이터를 디코딩 디바이스 (14) 와 같은 복수의 무선 디바이스에 송신할 수도 있다. 그러나, 도 1 에는 단순화를 위해 하나의 디코딩 디바이스 (14) 가 도시되어 있다.
디코딩 디바이스 (14) 는, 인코딩 디바이스 (12) 에 의해 송신된 인코딩된 비디오 데이터를 수신하고 사용자로의 프리젠테이션을 위해 비디오 데이터를 디코딩하는 사용자 디바이스를 포함할 수도 있다. 예를 들어, 디코딩 디바이스 (14) 는, 디지털 텔레비젼, 무선 통신 디바이스, 게이밍 디바이스, 개인 휴대 정보 단말기 (PDA), 랩탑 컴퓨터 또는 데스크탑 컴퓨터, "아이팟" 의 상표로 판매되는 것과 같은 디지털 음악 및 비디오 디바이스, 셀룰러, 위성 또는 지상 기반 무선 전화와 같은 무선 전화, 비디오 스트리밍, 비디오 전화 또는 이 둘 모두가 구비된 기타 무선 이동 단말기의 일부로서 구현될 수도 있다.
몇몇 양태에서, 양방향 통신을 위해, 인코딩 및 디코딩 시스템 (10) 은 세션 개시 프로토콜 (SIP), 국제 전기 통신 연합 섹터 (ITU)-T H.323 표준 및 ITU-T H.324 표준 또는 기타 표준들에 따른 비디오 텔레포니 또는 비디오 스트리밍을 지원할 수도 있다. 인코딩 디바이스 (12) 는 동영상 전문가 그룹 (MPEG)-2, MPEG-4, ITU-T H.263, 또는 ITU-T H.264 와 같은 비디오 압축 표준에 따라 인코딩된 비디오 데이터를 생성할 수도 있다. 도 1 에 도시되지 않았지만, 인코딩 디바이스 (12) 및 디코딩 디바이스 (14) 는 각각 오디오 인코더 및 디코더에 통합될 수도 있고, 적절한 멀티플렉서-디멀티플렉서 (MUX-DEMUX) 모듈 또는 기타 하드웨어, 펌웨어 또는 소프트웨어를 포함하여, 공통 데이터 시퀀스 또는 개별적 데이터 시퀀스에서의 오디오 및 비디오 모두의 인코딩을 처리할 수도 있다. 적용가능하다면, MUX-DEMUX 모듈은, ITU H.223 멀티플렉서 프로토콜, 또는 사용자 데이터그 램 프로토콜 (UDP) 과 같은 기타 프로토콜들에 따를 수도 있다. 몇몇 양태에서, 본 명세서는, 2006 년 8 월, Technical Standard TIA-1099 로 공표된 순방향 링크 전용 (FLO) 공중 인터페이스 규격 "Forward Link Only Air interface Specification for Terrestrial Mobile Multimedia Multicast" ("FLO 규격") 을 이용하는 지상 모바일 멀티미디어 멀티캐스트 (TM3) 시스템에서 실시간 비디오 서비스를 전달하기 위한 인핸스드 H.264 비디오 코딩에 대한 애플리케이션을 고려한다. 그러나, 본 명세서에 설명된 품질 제어 기술은 임의의 특정한 타입의 브로드캐스트, 멀티캐스트 또는 포인트-투-포인트 시스템에 한정되지 않는다.
도 1 에 도시된 바와 같이, 인코딩 디바이스 (12) 는 인코딩 모듈 (18), 메모리 (20), 컨텐츠 분류 모듈 (22), 품질 제어 모듈 (24) 및 송신기 (26) 를 포함한다. 인코딩 모듈 (18) 은 하나 이상의 소스로부터 하나 이상의 입력 비디오 시퀀스 (28A 내지 28N; 총괄적으로, "비디오 시퀀스 (28)") 를 수신하고, 비디오 시퀀스 (28) 를 선택적으로 인코딩한다. 인코딩 모듈 (18) 은, 예를 들어, 인코딩 디바이스 (12) 내에 통합된 또는 인코딩 디바이스 (12) 에 커플링된 이미지 캡쳐 디바이스 (미도시) 로부터 비디오 시퀀스 (28) 를 수신한다. 대안적으로, 인코딩 모듈 (18) 은 비디오 시퀀스 (28) 를 메모리 (20) 로부터 수신할 수도 있다. 비디오 시퀀스 (28) 는, 생방송 실시간 비디오, 오디오, 또는 브로드캐스트로서 또는 온-디맨드로서 코딩 및 송신된 비디오 및 오디오 시퀀스를 포함할 수도 있고, 미리 기록되거나 저장된 비디오, 오디오, 또는 브로드캐스트로서 또는 온-디맨드로서 코딩 및 송신된 비디오 및 오디오 플로우를 포함할 수도 있다. 실 시간 서비스의 상황에서 설명하고 있지만, 본 명세서의 기술은 또한 NRT (near real time) 서비스, 비 실시간 서비스, 또는 실시간 서비스, NRT 서비스 및 비 실시간 서비스의 조합에 적용될 수도 있다. 그러나, 설명을 위해, 본 명세서는 실시간 서비스에서의 품질 제어 기술의 이용을 설명한다.
몇몇 양태에서, 인코딩 모듈 (18) 은 또한, 인코딩된 데이터의 시퀀스를, 송신기 (26) 를 통한 송신을 위해 송신 프레임으로 결합할 수도 있다. 더 상세하게는, 인코딩 모듈 (18) 은 일 시간 주기 동안 수신된 비디오 시퀀스 (28) 의 부분들을 인코딩, 결합 및 송신할 수도 있다. 일예로, 인코딩 모듈 (18) 은 초 단위로 비디오 시퀀스 (28) 에 대해 동작할 수도 있다. 즉, 인코딩 모듈 (18) 은 복수의 비디오 시퀀스 (28) 의 데이터의 1 초의 세그먼트들을 인코딩하고, 그 인코딩된 데이터의 1 초의 세그먼트들을 결합하여 데이터의 수퍼프레임을 형성하고, 그 수퍼프레임을 송신기 (26) 를 통해 송신 채널 (16) 상에서 송신한다. 여기서 사용되는 바와 같이, 용어 "수퍼프레임" 은, 1 초의 시간 주기 또는 윈도우와 같이 일 시간 주기 또는 윈도우 동안 수집된 데이터 세그먼트들의 그룹을 지칭한다. 데이터 세그먼트들은 데이터의 하나 이상의 프레임을 포함할 수도 있다. 본 명세서의 기술들은 데이터의 1 초의 세그먼트들의 콘텍스트에서 설명되지만, 이 기술들은, 고정된 시간 주기일 수도 있고 아닐 수도 있는 다른 시간 동안 수신된 데이터 세그먼트들 또는 개별적인 프레임이나 데이터의 프레임들의 세트와 같은 다른 데이터 세그먼트들을 인코딩, 결합 및 송신하는데 이용될 수도 있다. 즉, 수퍼프레임은 1 초의 주기보다 더 크거나 더 작은 시간 간격, 또는 가변 시간 간격들을 커버하도록 정의될 수도 있다.
본 명세서 전체에 걸쳐, 멀티미디어 데이터의 특정한 청크 (수퍼프레임의 개념과 유사함) 는 특정한 사이즈 및/또는 지속기간의 멀티미디어 데이터의 임의의 청크를 지칭하며, 이 특정한 사이즈 및/또는 지속기간은 물리층 및/또는 MAC 계층 특성 및/또는 멀티미디어 데이터를 전달하는데 이용된 시스템의 파라미터들에 적어도 부분적으로 기초한다. 이 특정한 사이즈 및/또는 지속기간은 정적으로 및/또는 동적으로 할당될 수 있다.
인코딩 모듈 (18) 은 비디오 시퀀스 (28) 각각을 일정한 품질 레벨로 출력하도록 시도할 수도 있다. 예를 들어, 인코딩 모듈 (18) 은 비디오 시퀀스 (28) 의 컨텐츠 또는 특성과 무관하게 비디오 시퀀스 (28) 에 대한 일정한 인식된 품질을 유지하려 시도할 수도 있다. 즉, 인코딩 모듈 (18) 은 비디오 시퀀스 (28) 각각을 타겟 품질 레벨로 출력하려 시도할 수도 있다. 타겟 품질 레벨은 리미 선택될 수도 있고, 사용자에 의해 선택될 수도 있고, 자동 프로세스 또는 사용자나 또 다른 프로세스로부터의 입력을 요구하는 반자동 프로세스를 통해 선택될 수도 있고, 또는 미리 결정된 기준에 기초하여 인코딩 디바이스 (12) 또는 시스템 (10) 에 의해 동적으로 선택될 수도 있다. 타겟 품질 레벨은, 예를 들어, 인코딩 애플리케이션의 타입, 또는 인코딩된 비디오 데이터가 전송되는 클라이언트 디바이스의 타입에 기초하여 선택될 수 있다.
일정한 인식된 품질 레벨을 유지하기 위해, 인코딩 모듈 (18) 은 비디오 시퀀스의 컨텐츠 및 인식된 품질 메트릭에 기초하여 하나 이상의 인코딩 파라미터들 을 선택 또는 조정할 수도 있다. 이를 위해, 컨텐츠 분류 모듈 (22) 은 비디오 시퀀스의 데이터 세그먼트들을 복수의 클래스 중 하나로 분류한다. 몇몇 경우, 컨텐츠 분류 모듈 (22) 은, 데이터 세그먼트가 인코딩된 이후에 데이터 세그먼트를 분류한다. 이 경우, 인코딩 모듈 (18) 은 인코딩 파라미터의 초기 세트를 이용하여 데이터 세그먼트를 인코딩할 수도 있다. 인코딩 모듈 (18) 은 초기에, 예를 들어, 데이터의 이전의 세그먼트가 인코딩된 QP 를 이용하여 데이터 세그먼트를 인코딩할 수도 있다. 따라서, 인코딩 모듈 (18) 은, 비디오 시퀀스의 2 개의 연속적인 데이터 세그먼트는 유사한 컨텐츠를 갖는다는 발견, 즉, 현재의 데이터 세그먼트의 컨텐츠 클래스는 이전의 데이터 세그먼트의 컨텐츠 클래스와 유사하다는 발견하에서 동작할 수도 있다. 대안적으로, 인코딩 모듈 (18) 은 초기에 특정한 QP 에서 모든 데이터 세그먼트를 인코딩하도록 구성될 수도 있다. 예를 들어, 인코딩 모듈 (18) 은 초기에 33 의 QP 에서 모든 데이터 세그먼트를 인코딩하도록 구성될 수도 있다.
데이터 세그먼트의 분류를 돕기 위해, 컨텐츠 분류 모듈 (22) 은 인코딩된 데이터 세그먼트와 연관된 인식된 품질 메트릭을 연산할 수도 있다. 특정한 양태에서, 컨텐츠 분류 모듈 (22) 은 그 인코딩된 데이터 세그먼트와 연관된 가중된 품질 메트릭을 연산할 수도 있다. 가중된 품질 메트릭은, 관측자에 의해 경험되는 주관적인 품질에 더 근접하는 객관적인 비디오 품질 메트릭을 제공할 수도 있다. 컨텐츠 분류 모듈 (22) 은, 픽셀들의 블록 각각과 연관된 차 메트릭에 기초하여, 그 세그먼트와 연관된 데이터의 하나 이상의 프레임들의 픽셀들의 블록을 그룹으로 분리하고, 품질 메트릭 및 가중치를 픽셀들의 블록의 그룹 각각과 연관시키고, 그 그룹에 연관된 품질 메트릭 및 가중치뿐만 아니라 그룹 각각의 픽셀들의 블록의 수에 기초하여 가중된 품질 메트릭을 연산함으로써 가중된 품질 메트릭을 연산할 수도 있다. 전술한 바와 같이, 픽셀들의 블록은, H.264 표준에서 특정된 사이즈와 같은 임의의 사이즈일 수도 있다.
추가적으로, 컨텐츠 분류 모듈 (22) 은 인코딩된 데이터 세그먼트의 컨텐츠를 분석하여, 그 데이터 세그먼트를 복수의 컨텐츠 클래스와 연관시킨다. 특정 양태에서, 컨텐츠 클래스는, 피크 신호 대 잡음비 (PSNR) 과 같은 품질 메트릭을 비트레이트의 함수로서 모델링하는 하나 이상의 커브를 포함할 수도 있다. 컨텐츠 분류 모듈 (22) 은, 데이터 세그먼트를 인코딩하는데 이용된 인코딩 파라미터들 (예를 들어, 비트레이트, QP 등) 중 적어도 하나 및 인식된 품질 메트릭에 기초하여, 그 커브들 중에서, 인코딩된 데이터 세그먼트에 가장 근접하게 대응하는 커브를 선택할 수도 있다. 인코딩 파라미터들이 컨텐츠 클래스를 생성하는데 이용된 파라미터들과 일치하지 않는 경우, 컨텐츠 분류 모듈 (22) 은 데이터 세그먼트를 인코딩하는데 이용된 인코딩 파라미터들을 정규화할 수도 있고, 그 정규화된 인코딩 파라미터들 중 적어도 하나 및 인식된 품질 메트릭를 이용하여, 커브들 중 인코딩된 세그먼트에 가장 근접하게 대응하는 커브를 선택할 수도 있다. 대안적으로, 컨텐츠 분류 모듈 (22) 은, 인코딩된 데이터 세그먼트의 결과적 비트레이트 (즉, 인코딩 파라미터들의 특정 세트를 이용하여 달성된 비트레이트) 및 인식된 품질 메트릭에 기초하여, 커브들 중 인코딩된 데이터 세그먼트에 가장 근접하게 대 응하는 커브를 선택할 수도 있다.
또 다른 양태에서, 컨텐츠 클래스는 데이터 세그먼트의 복잡성 (예를 들어, 시간 복잡성 및/또는 공간 복잡성) 에 기초한 클래스를 포함할 수도 있다. 컨텐츠 분류 모듈 (22) 은, 예를 들어, 콘트라스트비 값과 같은 텍스쳐 정보를 (x 축 상에서) "하이", "중간" 및 "로우" 의 카테고리로 분류할 수도 있고, 예를 들어, 모션 벡터와 같은 모션 정보를 (y 축 상에서) "하이", "중간" 및 "로우" 의 카테고리로 분류할 수도 있고, 모션 카테고리와 텍스쳐 카테고리간의 교차점에 기초하여 데이터 세그먼트를 그 클래스들 중 하나로 분류할 수도 있다. 데이터 세그먼트가 연관된 클래스는 특정 품질-레이트 커브에 대응할 수도 있다. 대안적으로, 데이터 세그먼트가 연관된 클래스는 하나 이상의 인코딩 파라미터에 대응할 수도 있다. 이러한 컨텐츠 분류 방법은, 2006 년 3 월 10 일 출원되고, 발명의 명칭이 "CONTENT CLASSIFICATION FOR MULTIMEDIA PROCESSING" 이고, 공동계류중이고 공동으로 양도되었으며, 그 전체 내용이 본 명세서에 참조로 포함된 미국 특허 출원 제 11/373,577 호에 개시되어 있다.
품질 제어 모듈 (24) 은, 데이터 세그먼트가 속하는 컨텐츠 클랙스와 연관된 타겟 품질을 결정한다. 몇몇 경우, PSNR 과 같은 종래의 품질 메트릭은 관측자에 의해 경험되는 지각적인 시각 비디오 품질을 항상 정확하게 측정하는 것은 아니다. 이 경우, 컨텐츠 클래스 각각과 연관된 타겟 품질 메트릭은 변할 수도 있다. 더 상세하게는, 품질 제어 모듈 (24) 은, 서로 다른 컨텐츠 클래스의 시퀀스들이 동일한 PSNR 에서 지각적으로 상이하게 보이는 사실을 설명하기 위해, 컨텐 츠 클래스 각각과 연관된 타겟 품질 메트릭을 조정한다.
품질 제어 모듈 (24) 은 그 인식된 품질 메트릭 (예를 들어, 가중된 품질 메트릭) 을 타겟 품질 메트릭과 비교한다. 인식된 품질 메트릭과 타겟 품질 메트릭의 차가 임계값을 초과하면, 품질 제어 모듈 (24) 은 인코딩 파라미터들 중 적어도 하나를 조정한다. 예를 들어, 인식된 품질 메트릭이 타겟 품질 메트릭보다 임계값만큼 더 크면, 품질 제어 모듈 (24) 은 그 데이터 세그먼트를 인코딩하는데 이용된 QP 를 증가시킨다. 유사하게, 인식된 품질 메트릭이 타겟 품질 메트릭보다 임계값만큼 더 작으면, 품질 제어 모듈 (24) 은 데이터 세그먼트를 인코딩하는데 이용된 QP 를 감소시킨다. 품질 제어 모듈 (24) 은, 프레임 레이트, 인코딩 모드, 디블로킹, 계수 트리밍, 모션 벡터 리파인먼트 등과 같은, QP 이외의 인코딩 파라미터들을 조정할 수도 있다.
품질 제어 모듈 (24) 이 인코딩 파라미터들을 조정한 이후, 인코딩 모듈 (18) 은 그 조정된 인코딩 파라미터들을 이용하여 데이터 세그먼트에 대해 제 2 패스 인코딩을 수행할 수도 있다. 예를 들어, 인코딩 모듈 (18) 은 그 조정된 QP 에서 데이터 세그먼트를 리-인코딩할 수도 있다. 제 2 패스 인코딩은 인식된 품질 메트릭을 원하는 타겟 품질 메트릭 쪽으로 효율적으로 리파인한다. 또한, 제 2 패스 인코딩은 비디오 시퀀스의 컨텐츠 클래스를 재확립할 수도 있다. 특정한 양태에서, 인코딩 모듈 (18) 은 연산 프로세싱 시간이 허용하는 경우 제 2 패스 인코딩을 수행만 할 수도 있다. 또 다른 양태에서, 인코딩 모듈 (18) 은 관측된 품질을 리파인하려는 시도로 3 이상의 인코딩 패스를 수행할 수도 있다.
인코딩 모듈 (18) 이 최종적인 인코딩 패스를 수행한 이후, 예를 들어, 제 2 인코딩 패스 이후, 또는 인코딩 모듈 (18) 이 리-인코딩할 필요가 없으면 제 1 인코딩 패스 이후, 인코딩 디바이스 (12) 는 송신기 (26) 를 통해 그 인코딩된 데이터 세그먼트를 송신한다. 송신기 (26) 는 인코딩된 비디오를 송신 채널 (16) 을 통해 송신하기 위한 적절한 모뎀 및 드라이버 회로를 포함할 수도 있다. 무선 애플리케이션에 대해, 송신기 (26) 는 인코딩된 비디오 데이터를 반송하는 무선 데이터를 송신하기 위한 RF 회로를 포함한다.
디코딩 디바이스 (14) 는 그 인코딩된 데이터를 수신기 (30) 를 통해 수신한다. 송신기 (26) 와 유사하게, 수신기 (30) 는 인코딩된 비디오를 송신 채널 (16) 을 통해 수신하기 위한 적절한 모뎀 및 드라이버 회로를 포함할 수도 있고, 무선 애플리케이션 내의 그 인코딩된 비디오 데이터를 반송하는 무선 데이터를 수신하기 위한 RF 회로를 포함할 수도 있다. 몇몇 예에서, 인코딩 디바이스 (12) 및 디코딩 디바이스 (14) 각각은 상호적 (reciprocal) 송신 및 수신 회로를 포함할 수도 있고, 이 회로 각각은, 송신 채널 (16) 을 통해 송신된 인코딩된 비디오 및 기타 정보에 대한 소스 디바이스 및 수신 디바이스로서 기능할 수도 있다. 이 경우, 인코딩 디바이스 (12) 및 디코딩 디바이스 (14) 모두는 비디오 시퀀스를 송신 및 수신할 수도 있고, 따라서, 양방향 통신에 참여할 수도 있다. 즉, 멀티미디어 인코딩 디바이스 (10) 의 도시된 컴포넌트들은 인코더/디코더 (CODEC) 의 일부로서 통합될 수도 있다.
디코딩 모듈 (32) 은 사용자로의 프리젠테이션을 위해, 인코딩된 데이터 세 그먼트를 디코딩한다. 또한, 디코딩 디바이스 (14) 는, 디코딩 디바이스 (14) 내에 통합될 수도 있고 또는 유선이나 무선 접속을 통해 디코딩 디바이스 (14) 에 커플링된 별도의 디바이스로서 제공될 수도 있는 디스플레이 (미도시) 를 통해 그 디코딩된 데이터 세그먼트를 사용자에게 제공할 수도 있다.
인코딩 디바이스 (12) 및 디코딩 디바이스 (14) 내의 컴포넌트들은 여기서 설명하는 기술을 구현하는데 적용할 수 있는 컴포넌트들의 예시이다. 그러나, 인코딩 디바이스 (12) 및 디코딩 디바이스 (14) 는 원한다면 많은 다른 컴포넌트들을 포함할 수도 있다. 예를 들어, 인코딩 디바이스 (12) 는, 각각 비디오 데이터의 하나 이상의 시퀀스를 수신하고 여기서 설명하는 기술에 따라 비디오 데이터의 각각의 시퀀스를 인코딩하는 복수의 인코딩 모듈을 포함할 수도 있다. 이 경우, 인코딩 디바이스 (12) 는 적어도 하나의 멀티플렉서를 더 포함하여, 송신을 위해 데이터 세그먼트들을 결합할 수도 있다. 또한, 적용에 따라 인코딩 디바이스 (12) 및 디코딩 디바이스 (14) 는, 인코딩된 비디오의 송신 및 수신을 위해, 무선 주파수 (RF) 무선 컴포넌트들 및 안테나들을 포함하여 적절한 변조, 복조, 주파수 변환, 필터링 및 증폭기 컴포넌트들을 포함할 수도 있다. 그러나, 용이한 설명을 위해, 이러한 컴포넌트들은 도 1 에 도시하지 않았다.
인코딩 디바이스 (12) 및 디코딩 디바이스 (14) 내의 컴포넌트들은 하나 이상의 프로세서, 디지털 신호 프로세서, 주문형 집적회로 (ASIC), 필드 프로그래머블 게이트 어레이 (FPGA), 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 조합으로서 구현될 수도 있다. 모듈로서 상이한 특징으로 도시한 것은, 인코딩 디바이스 (12) 및 디코딩 디바이스 (14) 의 서로 다른 기능적 양태들을 강조하기 위한 것이며, 이러한 모듈들이 반드시 별도의 하드웨어 또는 소프트웨어 컴포넌트들에 의해 실현되어야 함을 의미하는 것은 아니다. 오히려, 하나 이상의 모듈들과 연관된 기능들은 공통되거나 개별적인 하드웨어 또는 소프트웨어 컴포넌트들 내에 통합될 수도 있다. 따라서, 본 개시가 인코딩 디바이스 (12) 및 디코딩 디바이스 (14) 의 예에 한정되어서는 안된다.
도 2 는 데이터 세그먼트를 여기서 설명하는 기술에 따른 복수의 컨텐츠 클래스 중 하나와 연관시키는 예시적인 컨텐츠 분류 모듈 (40) 을 도시하는 블록도이다. 컨텐츠 분류 모듈 (40) 은, 예를 들어, 인코딩 디바이스 (12; 도 1) 의 컨텐츠 분류 모듈 (22) 을 나타낼 수도 있다. 컨텐츠 분류 모듈 (40) 은 품질 측정 모듈 (42), 인코딩 파라미터 정규화 모듈 (44) 및 클래스 선택 모듈 (46) 을 포함한다.
전술한 바와 같이, 인코딩 모듈 (18; 도 1) 은 수신된 데이터 세그먼트의 제 1 패스 인코딩을 수행한다. 데이터 세그먼트의 제 1 패스 인코딩은 이전의 데이터 세그먼트를 인코딩하는데 이용된 인코딩 파라미터들을 이용하여 수행될 수도 있다. 대안적으로, 이전의 데이터 세그먼트가 조정된 인코딩 파라미터를 이용하여 리-인코딩되지 않은 경우에도, 이전의 데이터 세그먼트의 그 조정된 인코딩 파라미터들을 이용하여 데이터 세그먼트의 제 1 패스 인코딩이 수행될 수도 있다. 또 다른 예로, 데이터 세그먼트의 제 1 패스 인코딩은 인코딩 파라미터들의 구성된 세트를 이용하여 수행될 수도 있다. 제 1 패스 인코딩 이후, 컨텐츠 분류 모듈 (40) 은 데이터 세그먼트를 복수의 컨텐츠 클래스 중 하나와 연관시킨다. 이를 위해, 컨텐츠 분류 모듈 (40) 은, 인코딩된 데이터 세그먼트의 인식된 품질 메트릭, 및 그 인코딩된 데이터 세그먼트의 클래스 또는 결과적 비트레이트를 생성하는데 이용된 파라미터들에 대응하는 하나 이상의 인코딩 파라미터들에 기초하여, 데이터 세그먼트를 컨텐츠 클래스들 중 하나와 연관시킬 수도 있다. 이하 설명하는 바와 같이, 몇몇 양태에서, 하나 이상의 인코딩 파라미터들은 컨텐츠 클래스를 생성하는데 이용된 인코딩 파라미터들에 대응하도록 정규화될 수도 있다.
품질 측정 모듈 (42) 은 인코딩된 데이터 세그먼트에 대한 인식된 품질 메트릭을 연산한다. 인식된 품질 메트릭은, 예를 들어, 관측된 PSNR, 가중된 PSNR, 평균 오피니언 스코어 (MOS) 또는 기타 품질 메트릭일 수도 있다. 인식된 품질 메트릭의 연산시에, 품질 측정 모듈 (42) 은, PSNR 과 같은 종래의 품질 메트릭이 관측자에 의해 경험되는 지각 비디오 품질의 항상 정확한 측정값은 아니라는 사실을 설명할 수도 있다. 이것은, 낮은 평균 제곱 에러를 갖는 낮은 강도 영역에 의해 평균 프레임 PSNR 이 바이어스되는 낮은 강도의 시퀀스 또는 프레임에 대해 특히 해당된다. 통상적으로 이 영역들은, 인간의 시각 시스템이 이 영역들을 관심있는 영역으로 인식하지 않기 때문에, 전체의 인식된 비디오 품질에 기여하지 않는다.
이 문제를 해결하기 위해, 품질 측정 모듈 (42) 은 가중된 품질 메트릭 (예를 들어, 가중된 PSNR) 을 연산한다. 가중된 품질 메트릭은, 종래의 PSNR 보다, 관측자에 의해 인식되는 주관적 품질에 더 근접하게 유사한 객관적 비디오 품 질 메트릭을 제공한다. 가중된 품질 메트릭을 연산하기 위해, 품질 측정 모듈 (42) 은, 픽셀들의 블록 각각과 연관된 적어도 하나의 차 메트릭에 기초하여, 데이터 세그먼트의 하나 이상의 프레임의 픽셀들의 블록을 그룹들로 분리한다. 예를 들어, 품질 측정 모듈 (42) 은, 차의 절대값 합 (SAD), 픽셀당 SAD (SPP), 차 제곱의 합 (SSD) 또는 픽셀들의 블록 각각과 연관된 유사한 차 메트릭에 기초하여, 데이터의 하나 이상의 프레임의 픽셀들의 블록을 그룹들로 그룹화할 수도 있다. 다른 예로, 절대값 변환 차의 합 (SATD), 또는 제곱 변환 차의 합 (SSTD) 을 이용할 수도 있다. 예시를 위해, 본 명세서는, 픽셀들의 블록 각각과 관련된 SPP 값에 기초하여, 데이터의 하나 이상의 프레임의 픽셀들의 블록을 그룹들로 분리하는 것을 설명한다. 그러나, 품질 측정 모듈 (42) 은 다른 차 메트릭에 기초하여, 픽셀들의 블록을 그룹으로 분리할 수도 있다.
품질 측정 모듈 (42) 은 적어도 블록 모드 판정에 기초하여 픽셀들의 블록에 대한 SPP 값을 연산한다. 품질 측정 모듈 (42) 은, 예를 들어, 수식,
Figure 112009071501388-PCT00001
(1)
에 따라 픽셀들의 블록에 대한 SPP 값을 연산하며, 여기서, SPP 는 픽셀들의 블록에 대해 연산된 SPP 값이고, SADi 는 픽셀들의 블록의 i 번째 픽셀에 대한 SAD 값이고, n 은 픽셀들의 블록 내의 픽셀들의 수이다. 픽셀들의 블록 각각과 연관된 SPP 값의 범위는 0 부터 n 까지이다. n 이 256 과 동일한 픽셀들의 16×16 블록에 있어서, 픽셀들의 블록과 연관된 SPP 값의 범위는 0 부터 255 까지이다. 0 의 SPP 값은, 예측된 픽셀들의 블록과 원래의 픽셀들의 블록이 정확하게 동일함을 나타낸다. 반대로, 255 의 SPP 값은 반대의 극단적 상황, 즉, 예측된 픽셀들의 블록과 원래의 픽셀들의 블록이 극단적으로 상이함을 나타낸다.
품질 측정 모듈 (42) 은 각각의 SPP 값과 연관된 품질 메트릭을 미리 연산할 수도 있다. 예시를 위해, 본 명세서의 기술들은 PSNR 품질 메트릭의 관점에서 설명한다. 그러나, 이 기술들은 임의의 품질 메트릭을 이용할 수도 있음을 이해해야 한다. 품질 측정 모듈 (42) 은 SPP 값 각각과 연관된 PSNR 값을 미리 연산할 수도 있다. 일예로, 품질 측정 모듈 (42) 은 수식,
Figure 112009071501388-PCT00002
(2)
에 따라 SPP 값 각각과 연관된 PSNR 값을 미리 연산할 수도 있으며, 여기서, PSNRi 는 i 번째 SPP 값과 연관된 PSNR 값이고, SPPi 는 i 번째 SPP 값이다.
품질 측정 모듈 (42) 은 SPP 값의 전체 범위를 복수의 그룹들로 분리하고, 그룹들 각각은 하나 이상의 SPP 값에 대응한다. 일예로, 품질 측정 모듈 (42) 은 SPP 값의 전제 범위 (0...255) 를 64 개의 그룹으로 분리하고, 이 그룹 각각은 4 개의 연속적인 SPP 값을 나타낸다. 대안적으로, 품질 측정 모듈 (42) 은 비연속적인 SPP 값을 복수의 그룹으로 그룹화할 수도 있다. 품질 측정 모듈 (42) 은, 예를 들어, PSNR 값과 같은 품질 메트릭을 각각의 그룹과 연관시킨다. 예를 들어, 품질 측정 모듈 (42) 은, 그룹에 속하는 각각의 SPP 값과 연관된 PSNR 값을 평균화하여, 각각의 그룹에 대한 평균 PSNR 을 획득한다.
품질 측정 모듈 (42) 은 가중치를 각각의 그룹과 더 연관시킬 수도 있다. 특정한 양태에서, 품질 측정 모듈 (42) 은 로그 가중치 함수를 이용하여 연산된 가중치를 각각의 그룹과 연관시킨다. 로그 가중치 함수는 그룹에 대응하는 SPP 값의 함수일 수도 있다. 품질 측정 모듈 (42) 은 수식,
Figure 112009071501388-PCT00003
(3)
에 따라 각각의 그룹과 연관시킬 가중치를 결정할 수도 있고, 여기서, Wti 는 i 번째 그룹과 연관된 가중치이고, SPPj 는 j 번째 픽셀의 SPP 값이고, 64 개의 개별적 그룹인 경우 i = 0, 1,..., 64 이고, j 는 i 번째 그룹과 연관된 최고 SPP 값이다. 64 개의 그룹을 갖는 16×16 픽셀들의 블록의 경우, j = 3, 7, 11,..., 255 이다. 각각의 그룹과 연관된 가중치는 각각의 그룹에 대한 블록 카운트 조정을 돕는다. 즉, 가중치는, 데이터 세그먼트의 연산된 PSNR 쪽으로 카운팅해야 하는, 그룹 각각 내의 블록의 수를 나타낸다. 가중치 함수는, 더 높은 SPP 값을 갖는 그룹에 더 높은 가중치를 할당한다.
전술한 바와 같이, 데이터 세그먼트는 하나 이상의 픽셀들의 블록을 포함하는 하나 이상의 데이터의 프레임을 포함할 수도 있다. 품질 측정 모듈 (42) 은 픽셀들의 블록과 연관된 SPP 값에 기초하여, 데이터 세그먼트의 프레임의 픽셀들의 블록을 그룹들 중 하나로 분리한다. 데이터 세그먼트의 픽셀들의 블록 전부가 그룹화된 이후, 품질 측정 모듈 (42) 은 그룹당 픽셀들의 블록의 퍼센티지를 연산한다. 특정한 양태에서, 스킵되어야 하는 것으로 결정된 픽셀들의 블록은 그룹 당 픽셀들의 블록의 퍼센티지의 연산으로부터 배제된다. 품질 측정 모듈 (42) 은 그룹당 픽셀들의 블록의 퍼센티지, 그룹과 연관된 품질 메트릭 및 그룹과 연관된 가중치에 기초하여, 데이터 세그먼트에 대한 가중된 품질 메트릭을 연산한다. 일예로, 품질 측정 모듈은 다음의 수식,
Figure 112009071501388-PCT00004
(4)
에 따라, 가중된 품질 메트릭을 연산하며, 여기서, Wt_Q 는 가중된 품질 메트릭이고, i = 0,1,...,n 이고, n 은 그룹의 수와 동일하고, Wt[i] 는 i 번째 그룹과 연관된 가중치이고, MBPerc[i] 는 i 번째 그룹에 포함된 세그먼트의 블록의 총 수의 퍼센티지이고, Group_Q[i] 는 i 번째 그룹과 연관된 품질 메트릭이고, TotalMBCnt 는 데이터 세그먼트 내의 픽셀들의 블록의 총 수이다. TotalMBCnt 는 모든 i 그룹에 대해 수식,
Figure 112009071501388-PCT00005
(5)
을 이용하여 계산된다. 전술한 방식으로 데이터 세그먼트에 대한 품질 메트릭을 연산함으로써, 객관적 비디오 품질 메트릭은 종래의 품질 메트릭에 비해, 관측자에 의해 경험되는 주관적 품질에 더 근접하게 될 수도 있다.
데이터 세그먼트를 인코딩하는데 이용된 인코딩 파라미터들이 컨텐츠 클래스를 생성하는데 이용된 인코딩 파라미터들에 매칭하지 않는 경우, 컨텐츠 분류 모듈 (40) 은 하나 이상의 인코딩 파라미터들을 정규화하여, 그 컨텐츠 클래스를 생성하는데 이용된 인코딩 파라미터들에 대응시킨다. 특정 양태에서, 인코딩 파라미 터 정규화 모듈 (44) 은 데이터 세그먼트를 인코딩하는데 이용된 비트레이트를 정규화하여, 그 컨텐츠 클래스를 발생시키는데 이용된 파라미터들에 대응시킨다. 비트레이트를 정규화하는 것은, 데이터 세그먼트의 프레임 레이트 및 프레임 타입의 실제 시퀀스, 및 데이터 세그먼트의 인코딩 동안 이용된 QP 가 비트레이트를 갖는 효과를 감소시킬 수도 있다.
특정 양태에서, 컨텐츠 클래스는, PSNR 과 같은 품질 메트릭을 비트레이트의 함수로서 모델링하는 품질-레이트 커브를 포함할 수도 있다. 이 경우, 인코딩 파라미터들은 품질-레이트 커브를 생성하는데 이용된 파라미터들로 정규화된다. 예를 들어, 인코딩 파라미터 정규화 모듈 (44) 은 데이터 세그먼트를 인코딩하는데 이용된 비트레이트를, 다음의 수식,
Figure 112009071501388-PCT00006
(6)
및 표에 따라 품질-레이트 커브를 생성하는데 이용된 비트레이트로 정규화할 수도 있으며, 여기서, R 은 정규화된 비트레이트이고,
Figure 112009071501388-PCT00007
는 비트레이트를 30 fps (frame per second) 와 균등하게 스케일링하는데 이용된 스케일링 팩터이고,
Figure 112009071501388-PCT00008
는 I 프레임의 비트레이트를 세트포인트 QP 와 균등하게 스케일링하는데 이용된 스케일링 팩터이고, RateI 는 데이터 세그먼트의 I 프레임의 관측된 비트레이트이고,
Figure 112009071501388-PCT00009
는 P 프레임의 비트레이트를 세트포인트 QP 와 균등하게 스케일링하는데 이용된 스케일링 팩터이고, RateP 는 데이터 세그먼트의 P 프레임의 관측된 비트레이트이고,
Figure 112009071501388-PCT00010
는 B 프레임의 비트레이트를 세트포인트 QP 와 균등하게 스케일링하는데 이 용된 스케일링 팩터이고, RateB 는 데이터 세그먼트의 B 프레임의 관측된 비트레이트이다. 즉, 데이터 세그먼트의 I 프레임의 관측된 비트레이트 (RateI), 데이터 세그먼트의 P 프레임의 관측된 비트레이트 (RateP), 및 데이터 세그먼트의 B 프레임의 관측된 비트레이트 (RateB) 는 각각, 데이터 세그먼트의 I 프레임을 인코딩하는데 이용된 총 비트의 수, 데이터 세그먼트의 P 프레임을 인코딩하는데 이용된 총 비트의 수, 데이터 세그먼트의 B 프레임을 인코딩하는데 이용된 비트의 수에 대응한다. 표 1 은 레이트를 QP 33 에 균등하게 스케일링하는데 이용된 몇몇 예시적인 스케일링 팩터 (예를 들어,
Figure 112009071501388-PCT00011
Figure 112009071501388-PCT00012
) 를 나타낸다. 표 2 는 비트레이트를 30 fps 와 균등하게 스케일링하는데 이용된 몇몇 예시적인 스케일링 팩터를 나타낸다.
Figure 112009071501388-PCT00013
Figure 112009071501388-PCT00014
클래스 선택 모듈 (46) 은, 인식된 품질 메트릭 (이 경우는, 가중된 품질 메트릭) 뿐만 아니라, 인코딩된 데이터 세그먼트의 결과적 비트레이트 또는 클래스를 생성하는데 이용된 파라미터들에 대응하는 하나 이상의 인코딩 파라미터들에 기초하여, 데이터 세그먼트를 복수의 컨텐츠 클래스 중 하나와 연관시킨다. 전술한 바와 같이, 컨텐츠 클래스는 데이터 세그먼트를 각각의 품질 및 레이트 정보와 연관시킬 수도 있다. 예를 들어, 클래스 선택 모듈 (46) 은, 품질 메트릭을 비트레이트의 함수로서 모델링하는 복수의 품질-레이트 커브로 구성될 수도 있다. 따라서, 품질-레이트 커브는 컨텐츠 클래스를 포함할 수도 있다. 품질-레이트 커브는, 서로 다른 QP 에서 서로 다른 타입에 대한 비트레이트 및 품질 메트릭을 측정하고, 그 결과를 클러스터링하고, 커브-피팅을 수행함으로써, 오프라인으로 연산될 수도 있다. 예를 들어, 품질-레이트 커브는 다음과 같은 형태,
Figure 112009071501388-PCT00015
(7)
의 산술 함수를 이용하여 모델링될 수도 있고, 여기서, Q 는 품질 메트릭이고, r 은 비트 레이트이고,
Figure 112009071501388-PCT00016
및 β 는 샘플링 데이터 포인트의 수를 이용하여 연산된 상수이다. 일예로, 품질-레이트 커브는 데이터 세그먼트의 컨텐츠 내의 텍스쳐 및 모션의 레벨을 변화시키는 것과 연관된 8 개의 서로 다른 클래스들에 대응할 수 도 있다. 아래의 표 3 은 도 3 에 도시된 품질-레이트 커브에 대한 몇몇 예시적인 상수
Figure 112009071501388-PCT00017
및 β 를 나타낸다. 커브 ID 값 0 내지 7 은 각각 커브 48A 내지 48H ("커브 48") 에 대응한다.
Figure 112009071501388-PCT00018
데이터 세그먼트를 대응하는 품질-레이트 커브 (즉, 컨텐츠 클래스) 와 연관시키기 위해, 클래스 선택 모듈 (46) 은, 인코딩된 데이터 세그먼트의 클래스 또는 결과적 비트레이트를 발생시키는데 이용되는 파라미터들에 대응하는 하나 이상의 인코딩 파라미터들 및 예를 들어, 가중된 품질 메트릭과 같은 인식된 품질 메트릭에 기초하여 품질-레이트 커브들 중 하나를 선택한다. 일예로 정규화된 비트레이트를 이용하여, 클래스 선택 모듈 (46) 은 그 정규화된 비트레이트에 대응하는 품질 레이트 커브 각각에 대한 품질 메트릭을 연산할 수도 있다. 예를 들어, 클래스 선택 모듈 (46) 은, 표 3 에 특정된 품질-레이트 상수 및 인코딩 파라미터 정규화 모듈 (44) 에 의해 연산된 정규화된 비트레이트를 이용하여, 수식 (7) 에 따라 품질-레이트 커브 각각에 대한 품질 메트릭을 연산할 수도 있다. 즉, 클래스 선택 모듈 (46) 은 정규화된 비트레이트로 품질-레이트 커브 각각에 대한 품 질 메트릭을 연산한다.
클래스 선택 모듈 (46) 은, 데이터 세그먼트에 가장 근접하게 대응하는 품질-레이트 커브 (즉, 클래스) 를 선택한다. 예를 들어, 클래스 선택 모듈 (46) 은, 정규화된 인코딩 파라미터들, 예를 들어, 비트레이트를 이용하여 연산된 품질 메트릭 중 어떤 메트릭이 품질 측정 모듈 (42) 에 의해 연산된 가중된 품질 메트릭에 가장 근접한지를 결정한다. 클래스 선택 모듈 (46) 은 복수의 품질-레이트 커브 각각에 대해, 정규화된 비트레이트에서 각각의 품질-레이트 커브에 대한 품질 메트릭과 인식된 품질 메트릭 사이의 차를 연산할 수도 있고, 품질-레이트 커브 중 가장 작은 차에 대응하는 품질-레이트 커브를 선택할 수도 있다. 따라서, 클래스 선택 모듈 (46) 은, abs(Wt_Q-Qi) 를 최소로 하는 품질-레이트 커브를 선택하며, 여기서, Wt_Q 는 가중된 품질 메트릭이고, Qi 는 i 번째 클래스 또는 커브와 연관된 품질 메트릭이다.
도 3 은 컨텐츠 클래스를 나타내는 예시적인 품질-레이트 커브 (48) 를 도시하는 그래프이다. 도 3 에 도시된 품질-레이트 커브 (48) 는 표 3 에 나타낸 품질-레이트 상수 및 산술 함수 (6) 를 이용하여 모델링된다. 전술한 바와 같이, 품질-레이트 커브 (48) 는, 상이한 QP 에서 인코딩된 상이한 타입의 컨텐츠에 대한 비트레이트 및 품질 메트릭을 측정하고, 그 결과를 클러스터링하고, 커브-피팅을 수행함으로서 오프라인으로 연산될 수도 있다.
품질-레이트 커브 (48) 각각은 데이터 세그먼트의 컨텐츠 내의 다양한 레벨 의 모션 및 텍스쳐와 연관된 상이한 컨텐츠 클래스에 대응한다. 더 상세하게는, 품질-레이트 커브 (48A) 는 로우 모션 및 로우 텍스쳐 컨텐츠에 대응한다. 품질-레이트 커브 (48H) 는 하이 모션 및 하이 텍스쳐 컨텐츠에 대응한다. 도 3 에 도시된 품질-레이트 커브 (48) 는 단지 예시적인 커브이다. 다른 품질-레이트 상수 또는 다른 모델링 수식에 기초하여 유사한 커브들이 생성될 수도 있다.
도 4 는 데이터 세그먼트를 인코딩하는데 이용되는 하나 이상의 인코딩 파라미터를 동적으로 조정하는 예시적인 품질 제어 모듈 (50) 을 도시하는 블록도이다. 예를 들어, 품질 제어 모듈 (50) 은 인코딩 디바이스 (12; 도 1) 의 품질 제어 모듈 (24) 을 나타낸다. 품질 제어 모듈 (50) 은 타겟 품질 결정 모듈 (52), 품질 비교 모듈 (54), 및 인코딩 조정 모듈 (56) 을 포함한다.
타겟 품질 결정 모듈 (52) 은 컨텐츠 분류에 기초하여 데이터 세그먼트의 타겟 품질 메트릭을 결정한다. 즉, 타겟 품질 결정 모듈 (52) 은, 인코딩 모듈 (18; 도 1) 이 데이터 세그먼트를 인코딩해야 하는 타겟 품질 레벨을 결정한다. 예를 들어, 타겟 품질 메트릭은, 데이터 세그먼트를 인코딩할 타겟 PSNR 을 포함할 수도 있다. 전술한 바와 같이, 종래의 PSNR 은 관측자에 의해 경험되는 지각적 비디오 품질의 항상 정확한 측정값인 것은 아니다. 따라서, 타겟 품질 결정 모듈 (52) 은 컨텐츠 분류에 기초하여 타겟 품질 메트릭을 동적으로 조정하여, 상이한 컨텐츠 클래스의 시퀀스들이 상이한 PSNR 과 지각적으로 유사하게 보인다는 사실을 설명한다. 타겟 품질 결정 모듈 (52) 은 다음의 수식:
Figure 112009071501388-PCT00019
(8)
을 이용하여 원하는 타겟 품질 메트릭을 연산할 수도 있으며, 여기서, Target_Q 는 원하는 타겟 품질 메트릭이고, SetPoint 는 초기 타겟 품질 메트릭이고, ΔQi 는 i 번째 컨텐츠 클래스에 대응하는 품질 조정 델타이다. 아래의 표 4 는 복수의 커브에 대한 예시적인 품질 조정 델타들 및 원하는 타겟 품질 메트릭 (이 경우에는 PSNR) 을 도시한다. 표 4 에서 연산된 값들은 33 의 SetPoint PSNR 을 이용하여 연산된다. 전술한 표 3 에서와 같이, 커브 ID 값 0 내지 7 은 도 3 의 커브 48A 내지 48H ("커브 48") 에 대응할 수도 있다.
Figure 112009071501388-PCT00020
표 4 에 도시된 바와 같이, 로우 모션 및 로우 텍스쳐 컨텐츠에 대응하는 커브에 대한 원하는 타겟 PSNR 은 초기 타겟 품질 (즉, SetPoint) 보다 더 높게 조정되는 반면, 하이 모션 및 하이 텍스쳐 컨텐츠에 대응하는 커브에 대한 원하는 타겟 PSNR 은 초기 타겟 품질보다 더 낮게 조정된다. 특정 양태에서, 초기 타겟 품질 (즉, Setpoint) 은 중간 모션 중간 텍스쳐의 데이터 세그먼트에 연관된 품질 메트릭에 대응할 수도 있다.
품질 비교 모듈 (54) 은 연산된 타겟 품질 메트릭을, 데이터 세그먼트가 인코딩된 실제 품질 레벨인 인식된 품질 메트릭과 비교한다. 특정 양태에서, 인 식된 품질 메트릭은 품질 측정 모듈 (42; 도 2) 에 의해 연산된 가중된 품질 메트릭을 포함할 수도 있다. 품질 비교 모듈 (54) 은, 예를 들어, 품질 측정 모듈 (42) 로부터 가중된 품질 메트릭을 수신할 수도 있다. 대안적으로, 품질 비교 모듈 (54) 은 도 2 에 대해 상술한 바와 같이 가중된 품질 메트릭을 연산할 수도 있다.
예를 들어, 가중된 품질 메트릭과 같은 인식된 품질 메트릭과 타겟 품질 메트릭 사이의 차가 임계값을 초과하면, 품질 비교 모듈 (54) 은 인코딩 파라미터 조정 모듈 (56) 에 경보한다. 그 후, 인코딩 파라미터 조정 모듈 (56) 은 데이터 세그먼트를 인코딩하는데 이용된 적어도 하나의 인코딩 파라미터를 조정한다. 예를 들어, 인식된 품질 메트릭이 원하는 타겟 품질 메트릭보다 임계값만큼 크면, 인코딩 파라미터 조정 모듈 (56) 은, 데이터 세그먼트가 인코딩되는 QP 를 증가시킬 수도 있다. 유사하게, 인식된 품질 메트릭이 원하는 타겟 품질 메트릭보다 임계값만큼 작으면, 인코딩 파라미터 조정 모듈 (56) 은, 데이터 세그먼트가 인코딩되는 QP 를 감소시킬 수도 있다. QP 인코딩 파라미터 조정 모듈 (56) 은, 데이터 세그먼트가 인코딩되는 QP 를, 인식된 품질 메트릭과 타겟 품질 메트릭 사이의 차만큼 (크게 또는 작게) 조정할 수도 있다. 대안적으로, QP 인코딩 파라미터 조정 모듈 (56) 은, 연산 프로세싱 시간이 허용하는 경우, 데이터 세그먼트가 인코딩되는 QP 를 더 정교한 증분으로 조정할 수도 있다. 여기서는 데이터 세그먼트를 인코딩하는데 이용된 QP 를 조정하는 측면에서 설명하였지만, 인코딩 파라미터 조정 모듈 (56) 은, 프레임 레이트, 인코딩 모드, 디블로킹, 계수 트리밍, 모션 벡터 리파인먼트 등과 같은 다른 인코딩 파라미터들을 조정할 수도 있다.
인코딩 파라미터 조정 모듈 (56) 은 그 조정된 인코딩 파라미터들을 인코딩 파라미터들의 허용가능 범위 (이하, "허용가능 인코딩 파라미터 범위") 와 비교한다. 허용가능 인코딩 파라미터 범위는 데이터 세그먼트와 연관된 컨텐츠 클래스에 기초하여 상이할 수도 있다. 표 5 는 표 3 에 나타낸 품질-레이트 커브와 연관된 컨텐츠 클래스에 대한 QP 값에 대한 예시적인 허용가능 인코딩 파라미터 범위를 나타낸다.
Figure 112009071501388-PCT00021
표 5 에 도시된 바와 같이, 허용가능 인코딩 파라미터 범위는 데이터 세그먼트와 연관된 컨텐츠 클래스 (예를 들어, 품질-레이트 커브) 에 기초하여 변화한다. 더 상세하게는, 로우 모션 및 로우 텍스쳐 컨텐츠 (예를 들어, 커브 ID 0) 에 대응하는 컨텐츠 클래스 및 하이 모션 및 하이 텍스쳐 컨텐츠 (예를 들어, 커브 ID 7) 에 대응하는 컨텐츠 클래스에 대응하는 허용가능 QP 범위는, 중간 텍스쳐 및 중간 모션 (예를 들어, 커브 ID 2 내지 4) 를 포함하는 컨텐츠 클래스보다 더 작은 사이즈의 허용가능 QP 범위를 갖는다. 더 극단의 모션 및 텍스쳐 컨텐츠와 연 관된 컨텐츠 클래스는 오직 4 개의 허용가능 QP 값의 범위를 갖는 반면, 더 중간의 모션 및 텍스쳐와 연관된 컨텐츠 클래스는 9 개까지의 허용가능 QP 값의 범위를 갖는다.
또한, 표 5 는 QP 와 컨텐츠 사이의 추가적 관계를 나타낸다. 하이 모션 및 하이 텍스쳐 컨텐츠를 포함하는 데이터 세그먼트의 컨텐츠의 허용가능 QP 범위는 로우 모션 및 로우 텍스쳐를 포함하는 데이터 세그먼트의 컨텐츠의 허용가능 QP 범위보다 높다. 표 5 에 나타낸 바와 같이, 하이 모션 하이 텍스쳐의 컨텐츠와 로우 모션 로우 텍스쳐의 컨텐츠 사이에는 5 의 QP 범위의 차가 존재한다.
조정된 인코딩 파라미터가 허용가능 인코딩 파라미터들의 범위 밖에 존재한다고 인코딩 파라미터 조정 모듈 (56) 이 결정하면, 인코딩 파라미터 조정 모듈 (56) 은 그 인코딩 파라미터를 허용가능 인코딩 파라미터 범위 내에 속하도록 재조정한다. 커브 ID 0 에 대응하는 데이터 세그먼트에 대한 조정된 QP 값이, 예를 들어, 28 이면, 인코딩 파라미터 조정 모듈 (56) 은 그 데이터 세그먼트에 대한 QP 값을, 품질-레이트 커브 ID 0 에 대응하는 컨텐츠 클래스에 대한 허용가능 QP 값 내인 30 이 되도록 재조정할 수도 있다.
품질 제어 모듈 (50) 은 조정된 인코딩 파라미터들을 인코딩 모듈 (18; 도 1) 에 제공한다. 인코딩 모듈 (18) 은, 충분한 프로세싱 시간이 허용되면, 그 조정된 인코딩 파라미터들을 이용하여 데이터 세그먼트에 대한 제 2 패스 인코딩을 수행할 수도 있다. 이 방식으로, 품질 제어 모듈 (50) 은, 일정한 품질을 유지하려는 시도에서 데이터 세그먼트가 인코딩되는 인식된 품질을 동적으로 조정한다. 또한, 인코딩 모듈 (18) 은 그 조정된 인코딩 파라미터들을 이용하여 후속 데이터 세그먼트를 인코딩할 수도 있다. 이것은, 인코딩 모듈 (18) 이 이전의 데이터 세그먼트를 리-인코딩하지 않은 경우에도 마찬가지이다.
도 5 는, 본 명세서의 기술에 따라 데이터 세그먼트를 인코딩하는 예시적인 인코딩 기술을 도시하는 도면이다. 도 5 에 도시된 인코딩 기술은, 예를 들어, 인코딩 디바이스 (12; 도 1) 에 의해 수행될 수도 있다. 도 5 에 도시된 예는 데이터 세그먼트 (60A 및 60B) 의 인코딩을 도시한다. 그러나, 이 기술은 임의의 수의 데이터 세그먼트까지 확장될 수도 있다.
초기에, 인코딩 디바이스 (12) 는 인코딩 파라미터들의 초기 세트를 이용하여 데이터 세그먼트 (60A) 를 인코딩하기 위해 제 1 패스를 수행할 수도 있다. 인코딩 디바이스 (12) 는 초기에, 예를 들어, 구성된 QP 또는 데이터 세그먼트 (60A) 의 컨텐츠 또는 특성에 기초하여 결정된 QP 를 이용하여 데이터 세그먼트 (60A) 를 인코딩할 수도 있다. 전술한 바와 같이, 인코딩 디바이스 (12) 는 인코딩된 데이터 세그먼트의 컨텐츠를 분석하여 데이터 세그먼트 (60A) 를 복수의 컨텐츠 클래스들 중 하나와 연관시키고, 그 인코딩된 데이터 세그먼트의 인식된 품질 메트릭 및 그 연관된 컨텐츠 클래스에 대응하는 타겟 품질 메트릭에 기초하여 하나 이상의 인코딩 파라미터들을 조정할 지 여부를 결정한다. 인코딩 디바이스 (12) 는, 예를 들어, 인식된 품질 메트릭과 타겟 품질 메트릭 사이의 차가 임계값을 초과하는 경우 조정이 필요하다고 결정할 수도 있다.
조정이 필요한 경우, 인코딩 디바이스 (12) 는 데이터 세그먼트 (60A) 에 대 한 적어도 하나의 인코딩 파라미터를 조정하고, 그 조정된 파라미터들을 이용하여 데이터 세그먼트 (60A) 를 인코딩하기 위해 제 2 패스를 수행한다. 제 2 패스 인코딩은 인식된 품질 메트릭을 원하는 타겟 품질 메트릭쪽으로 효율적으로 리파인하고, 비디오 시퀀스의 컨텐츠 클래스를 재확립할 수도 있다. 도 5 에 도시된 예에서는 오직 2 개의 인코딩 패스만이 수행되지만, 인코딩 디바이스 (12) 는, 연산 프로세스 시간이 허용하는 경우 3 이상의 인코딩 패스를 수행할 수도 있다. 또한, 프로세싱 시간이 허용하지 않으면, 인코딩 디바이스 (12) 는 그 조정된 인코딩 파라미터들을 이용하여 데이터 세그먼트를 리-인코딩하지 않을 수도 있고, 그 대신, 그 조정된 인코딩 파라미터들을 이용하여 후속 데이터 세그먼트, 즉, 데이터 세그먼트 (60B) 를 인코딩할 수도 있다. 인코딩 디바이스 (12) 는 인코딩된 데이터 세그먼트 (60A) 를 송신한다.
인코딩 디바이스 (12) 는, 제 2 패스 인코딩 동안 데이터 세그먼트 (60A) 를 인코딩하는데 이용된 인코딩 파라미터들을 이용하여 데이터 세그먼트 (60B) 의 제 1 패스 인코딩을 수행할 수도 있다. 데이터 세그먼트 (60A) 에 대해 제 2 코딩이 수행되지 않았다면, 인코딩 디바이스 (12) 는, 데이터 세그먼트 (60A) 의 제 1 패스 인코딩 동안 이용된 인코딩 파라미터들을 이용하여 데이터 세그먼트 (60B) 의 제 1 패스 인코딩을 수행할 수도 있다. 대안적으로, 인코딩 디바이스 (12) 는, 데이터 세그먼트 (60A) 의 리-인코딩이 수행되지 않은 경우에도, 데이터 세그먼트 (60A) 에 대해 연산된 조정된 인코딩 파리미터들을 이용하여 데이터 세그먼트 (60B) 를 인코딩할 수도 있다. 이 방식으로, 인코딩 디바이스 (12) 는, 2 개의 연속적인 데이터 세그먼트 사이에서 컨텐츠가 유사하다는 가정하에 동작한다.
또한, 인코딩 디바이스 (12) 는 인코딩된 데이터 세그먼트의 컨텐츠를 분석하여, 데이터 세그먼트 (60B) 를 복수의 컨텐츠 클래스 중 하나와 연관시키고, 인코딩된 데이터 세그먼트의 인식된 품질 메트릭 및 그 연관된 컨텐츠 클래스에 대응하는 타겟 품질 메트릭에 기초하여 인코딩 파라미터들을 조정하고, 조정이 필요한 경우 데이터 세그먼트 (60B) 에 대한 적어도 하나의 인코딩 파라미터를 조정한다. 그 후, 인코딩 디바이스 (12) 는 조정된 인코딩 파라미터들을 이용하여, 인식된 품질 메트릭을 원하는 타겟 품질 메트릭 쪽으로 다시 리파인하는 데이터 세그먼트 (60B) 의 제 2 패스 인코딩을 수행한다.
도 6 은 본 명세서의 기술에 따라 인코딩된 데이터 세그먼트의 품질을 제어하는 인코딩 디바이스 (12) 의 예시적인 동작을 도시하는 흐름도이다. 초기에, 인코딩 모듈 (18) 은 인코딩 파라미터들의 초기 세트를 이용하여 데이터 세그먼트를 인코딩한다 (70). 인코딩 모듈 (18) 은, 예를 들어, 이전의 데이터 세그먼트에 대해 연산된 조정된 인코딩 파라미터들을 이용하여 데이터 세그먼트를 인코딩할 수도 있다. 이 조정된 인코딩 파라미터들은 이전의 데이터 세그먼트를 인코딩하는데 이용된 인코딩 파라미터들일 수도 있고 아닐 수도 있다. 예를 들어, 프로세싱 시간이 허용하지 않으면, 이전의 데이터 세그먼트는 상이한 인코딩 파라미터들을 이용하여 인코딩될 수도 있다. 이 방식으로, 인코딩 모듈 (18) 은, 2 개의 연속적인 데이터 세그먼트 사이에서 컨텐츠 클래스가 유사하다는 발견하에 동작할 수도 있다. 대안적으로, 인코딩 모듈 (18) 은 초기에, 구성된 인코딩 파 라미터들을 이용하여 모든 데이터 세그먼트를 인코딩하도록 구성될 수도 있다. 또 다른 예에서, 인코딩 모듈 (18) 은, 데이터 세그먼트의 컨텐츠 또는 특성에 기초하여 데이터 세그먼트를 인코딩할 초기 인코딩 파라미터들을 선택할 수도 있다.
인코딩 디바이스 (12) 는 인코딩된 데이터 세그먼트의 인식된 품질 메트릭을 연산한다 (72). 특정 양태에서, 인코딩 디바이스 (12) 는, 종래의 품질 메트릭보다, 관측자에 의해 경험되는 주관적 품질에 더 근접한 객관적인 비디오 품질 메트릭을 제공하는 인코딩된 데이터 세그먼트와 연관된 가중된 품질 메트릭을 연산할 수도 있다. 전술한 바와 같이, 인코딩 디바이스 (12) 는, 픽셀들의 블록 각각과 연관된 하나 이상의 차 메트릭에 기초하여 세그먼트와 연관된 데이터의 하나 이상의 프레임의 픽셀들의 블록을 그룹으로 분리하고, 품질 메트릭 및 가중치를 픽셀들의 블록의 그룹 각각과 연관시키고, 그 그룹과 연관된 품질 메트릭 및 가중치 뿐만 아니라 각각의 그룹 내의 픽셀들의 블록의 수에 기초하여 가중된 품질 메트릭을 연산함으로써, 가중된 품질 메트릭을 연산할 수도 있다.
컨텐츠 분류 모듈 (22) 은 데이터 세그먼트를 복수의 컨텐츠 클래스 중 하나와 연관시킨다 (74). 특정 양태에서, 컨텐츠 클래스는, 비트레이트의 함수로서 피크 신호 대 잡음비 (PSNR) 와 같은 품질 메트릭을 모델링하는 하나 이상의 커브들을 포함할 수도 있다. 컨텐츠 분류 모듈 (22) 은, 데이터 세그먼트를 인코딩하는데 이용된 인코딩 파라미터들 (예를 들어, 비트레이트, QP 등) 중 적어도 하나 및 인식된 품질 메트릭에 기초하여, 커브들 중 인코딩된 데이터 세그먼트에 가장 근접하게 대응하는 커브를 선택할 수도 있다. 데이터 세그먼트를 컨텐츠 클래 스 중 하나와 연관시키는 것을 보조하기 위해, 컨텐츠 분류 모듈 (22) 은, 데이터 세그먼트를 인코딩하는데 이용된 인코딩 파라미터들이 복수의 품질-레이트 커브를 생성하는데 이용된 인코딩 파라미터들과 상이한 경우, 데이터 세그먼트가 인코딩되었던 하나 이상의 정규화된 인코딩 파라미터들을 연산하여, 그 품질-레이트 커브를 생성하는데 이용된 파라미터들에 대응시킬 수도 있다. 그 후, 컨텐츠 분류 모듈 (22) 은 인식된 품질 메트릭 및 정규화된 인코딩 파라미터들에 기초하여 데이터 세그먼트를 컨텐츠 클래스 중 하나와 연관시킬 수도 있다. 예를 들어, 컨텐츠 분류 모듈 (22) 은, 그 연산된 가중된 품질 메트릭에 가장 근접한 정규화된 비트레이트에서 품질 메트릭을 갖는 품질-레이트 커브를 선택할 수도 있다. 대안적으로, 컨텐츠 분류 모듈 (22) 은, 인식된 품질 메트릭 및 그 인코딩된 데이터 세그먼트의 결과적 비트레이트 (즉, 인코딩된 파라미터들의 특정 세트를 이용하여 달성된 비트레이트) 에 기초하여, 커브들 중 인코딩된 데이터 세그먼트에 가장 근접하게 대응하는 커브를 선택할 수도 있다.
품질 제어 모듈 (24) 은, 데이터 세그먼트가 속하는 컨텐츠 클래스와 연관된 타겟 품질 메트릭을 결정한다 (76). 품질 제어 모듈 (24) 은, 예를 들어, 33 의 PSNR 값의 세트포인트에 대한 표 4 의 파라미터들 및 수식 (8) 을 이용하여 타겟 품질 메트릭을 연산할 수도 있다. 품질 제어 모듈 (24) 은 가중된 품질 메트릭과 타겟 품질 메트릭사이의 차를 연산하고 (78), 그 차의 절대값을 임계값과 비교한다 (80). 즉, 품질 제어 모듈 (24) 은 관측된 품질이 충분한지 여부를 결정한다. 차의 절대값이 임계값 미만이면, 인코딩 디바이스 (12) 는 리-인코 딩을 위한 제 2 패스를 수행할 필요가 없으며, 그 대신, 데이터 세그먼트를 단순히 송신한다 (82).
가중된 품질 메트릭과 타겟 품질 메트릭 사이의 차의 절대값이 임계값을 초과하면, 품질 제어 모듈 (24) 은 데이터 세그먼트를 인코딩하는데 이용된 적어도 하나의 인코딩 파라미터를 조정한다 (84). 예를 들어, 인식된 품질 메트릭이 타겟 품질 메트릭보다 임계값만큼 더 크면, 품질 제어 모듈 (24) 은 인코딩에 이용된 QP 를 증가시킬 수도 있다. 유사하게, 인식된 품질 메트릭이 타겟 품질 메트릭보다 임계값만큼 작으면, 품질 제어 모듈 (24) 은 인코딩에 이용된 QP 를 감소시킬 수도 있다.
인코딩 파라미터 조정 모듈 (56) 은 그 조정된 인코딩 파라미터가 파라미터들의 허용가능 범위 이내인지 여부를 결정한다 (86). 인코딩 파라미터 조정 모듈 (56) 은 그 조정된 인코딩 파라미터를, 표 5 에 특정된 QP 범위와 같은 데이터 세그먼트와 연관된 허용가능 인코딩 파라미터 범위와 비교할 수도 있다. 전술한 바와 같이, 허용가능 인코딩 파라미터 범위는 데이터 세그먼트와 연관된 컨텐츠 클래스에 기초하여 상이할 수도 있다. 조정된 인코딩 파라미터가 허용가능 인코딩 파라미터 범위의 밖에 있으면, 인코딩 파라미터 조정 모듈 (56) 은 그 인코딩 파라미터를 허용가능 인코딩 파라미터 범위 이내가 되도록 재조정한다.
품질 제어 모듈 (24) 은 데이터 세그먼트를 재조정하기에 충분한 시간이 존재하는지 여부를 결정한다 (88). 일 양태에서, 품질 제어 모듈 (24) 은, 데이터 세그먼트를 리-인코딩하기 위해 충분한 컴퓨터 프로세싱 시간이 남아있는지 여 부를 결정할 수도 있다. 또 다른 양태에서, 품질 제어 모듈 (24) 은 현재의 데이터 세그먼트가 리-인코딩된 횟수를 결정할 수도 있고, 데이터 세그먼트가 임계 횟수보다 더 많이 인코딩된 후에는 그 인코딩 파라미터를 조정하지 않을 수도 있다. 일예로, 데이터 세그먼트가 리-인코딩될 수도 있는 임계 횟수는 1 이다.
데이터 세그먼트를 리-인코딩할 충분한 시간이 존재하면, 인코딩 모듈 (18) 은, 그 조정된 인코딩 파라미터들, 예를 들어, 조정된 QP 를 이용하여 데이터 세그먼트를 리-인코딩하기 위해 제 2 패스를 수행한다 (89). 인코딩의 제 2 패스는 인식된 품질 메트릭을, 원하는 타겟 품질 메트릭쪽으로 효율적으로 리파인하고, 비디오 시퀀스의 컨텐츠 클래스를 재확립할 수도 있다. 몇몇 양태에서, 인코딩 모듈 (24) 은 관측된 품질을 리파인하려는 시도에서 3 이상의 인코딩 패스를 수행할 수도 있다. 제 2 패스 리-인코딩 이후, 인코딩 디바이스 (12) 는 리-인코딩된 데이터 세그먼트의 인식된 품질 메트릭을 연산한다 (72). 데이터 세그먼트를 리-인코딩하기에 충분한 시간이 존재하지 않으면, 인코딩 디바이스 (12) 는 리-인코딩을 위해 제 2 패스를 수행할 필요가 없고, 그 대신, 데이터 세그먼트를 단순히 송신한다 (82).
도 7 은 본 명세서의 특정 양태의 기술에 따라 가중된 품질 메트릭을 연산하는 품질 측정 모듈 (42) 의 예시적인 동작을 도시하는 흐름도이다. 전술한 바와 같이, 가중된 품질 메트릭은, 종래의 품질 메트릭보다 관측자에 의해 인식된 주관적 품질에 더 근접하게 유사한 객관적인 비디오 품질을 제공할 수도 있다.
품질 측정 모듈 (42) 은 복수의 그룹을 생성한다 (90). 전술한 바와 같 이, 그룹은 SPP, SAD, SSD, SATD, SSTD 등과 같은 하나 이상의 상이한 메트릭들에 대응할 수도 있다. 일예로, 품질 측정 모듈 (42) 은, 4 개의 차 메트릭에 각각 대응하는 64 개의 그룹을 생성할 수도 있다. 품질 측정 모듈 (42) 은 각각의 그룹과 연관된 하나 이상의 특성을 미리 연산한다 (92). 품질 측정 모듈은 각각의 그룹과 연관된, 예를 들어, PSNR 값과 같은 품질 메트릭을 미리 연산할 수도 있다. 예를 들어, 품질 측정 모듈 (42) 은, 그룹에 속하는 차 메트릭 각각과 연관된 PSNR 값을 평균화함으로써 품질 메트릭을 미리 연산할 수도 있다. 또한, 품질 측정 모듈 (42) 은 각각의 그룹과 연관된 가중치를 미리 연산할 수도 있다. 예를 들어, 품질 측정 모듈 (42) 은, 예를 들어, 더 높은 SPP 값과 같은 더 높은 차 메트릭을 갖는 그룹에 더 높은 가중치를 할당하는 산술 가중치 함수를 이용하여 가중치를 미리 연산할 수도 있다.
품질 측정 모듈 (42) 은 데이터 세그먼트의 픽셀들의 블록에 대해 차 메트릭을 연산한다 (94). 품질 측정 모듈 (42) 은, 그룹을 형성하는데 이용된 것과 동일한 차 메트릭을 연산한다. 예를 들어, 그룹들이 SPP 값에 기초하여 생성되면, 품질 측정 모듈 (42) 은 전술한 수식 (1) 을 이용하여 픽셀들의 블록에 대한 SPP 값을 연산할 수도 있다. 품질 측정 모듈 (42) 은 그 연산된 차 메트릭에 기초하여 픽셀들의 블록을 그룹들 중 하나와 연관시킨다. 품질 측정 모듈 (42) 은 픽셀들의 블록의 품질 메트릭을 그룹들의 품질 메트릭과 비교할 수도 있고, 픽셀들의 블록을 동일한 품질 메트릭 값에 대응하는 그룹들과 연관시킬 수도 있다. 품질 측정 모듈 (42) 은 데이터 세그먼트에 임의의 다른 픽셀들의 블록이 존재하 는지 여부를 결정한다 (98). 품질 측정 모듈 (42) 은, 픽셀들의 모든 블록이 그룹화될 때까지 픽셀들의 블록 각각을 그룹과 연관시키는 것을 계속한다. 이 방식으로, 품질 측정 모듈 (42) 은 픽셀들의 블록과 연관된 품질 메트릭에 기초하여, 데이터 세그먼트의 픽셀들의 블록을 그룹들 중 하나로 분리한다.
품질 측정 모듈 (42) 이 데이터 세그먼트의 픽셀들의 모든 블록을 그룹들 중 하나와 연관시킨 경우, 품질 측정 모듈 (42) 은 그룹들 중 하나에 포함된 픽셀들의 블록의 퍼센티지를 연산한다 (100). 품질 측정 모듈 (42) 은, 그룹과 연관된 픽셀들의 블록의 수를 데이터 세그먼트의 픽셀들의 블록의 총 수로 제산함으로써 퍼센티지를 연산할 수도 있다. 특정 양태에서, 품질 측정 모듈 (42) 은 픽셀들의 스킵된 블록을 포함하지 않고 퍼센티지를 연산할 수도 있다. 품질 측정 모듈 (42) 은, 그룹 내의 픽셀들의 블록의 퍼센티지를 그 그룹과 연관된 미리 연산된 가중치로 승산함으로써 그룹에 대한 조정된 블록 카운트를 연산한다 (102). 품질 측정 모듈 (42) 은, 임의의 그룹이 더 존재하는지 여부를 결정하고 (104), 각각의 그룹에 대해 픽셀들의 블록의 퍼센티지 및 조정된 블록 카운트를 연산한다.
그룹 각각에 대한 조정된 블록 카운트를 연산한 이후, 품질 측정 모듈 (42) 은 데이터 세그먼트에 대한 가중된 품질 메트릭을 연산한다 (106). 예를 들어, 품질 측정 모듈 (42) 은 그룹과 연관된 품질 메트릭 및 조정된 블록 카운트에 기초하여 데이터 세그먼트에 대한 가중된 품질 메트릭을 연산할 수도 있다. 일예로, 품질 측정 모듈은 수식:
Figure 112009071501388-PCT00022
(9)
에 따라 가중된 품질 메트릭을 연산하며, 여기서, Wt_Q 는 가중된 품질 메트릭이고, i = 0,1,...n 이고, n 은 데이터 세그먼트와 연관된 프레임 각각 내의 픽셀의 수와 동일하고, Adjusted_block_cnt[i] 는 i 번째 그룹과 연관된 조정된 블록 카운트이고, Group_Q[i] 는 i 번째 그룹과 연관된 품질 메트릭이고, TotalMBCnt 는 데이터 세그먼트 내의 픽셀들의 블록의 총 수이다. 전술한 방식으로 데이터 세그먼트에 대한 품질 메트릭을 연산함으로써, 객관적 비디오 품질 메트릭은, 종래의 기술에 비해 관측자에 의해 경험되는 주관적 품질에 더 근접한 것으로 정의될 수 있다.
도 8 은 본 명세서의 특정 양태들의 기술에 따라 데이터 세그먼트를 복수의 컨텐츠 클래스 중 하나와 연관시키는 컨텐츠 분류 모듈 (40) 의 예시적인 동작을 도시하는 흐름도이다. 초기에, 컨텐츠 분류 모듈 (40) 은 데이터 세그먼트를 인코딩하는데 이용된 하나 이상의 인코딩 파라미터들을 정규화하여, 컨텐츠 클래스를 생성하는데 이용된 파라미터들에 대응시킨다 (110). 예를 들어, 컨텐츠 분류 모듈 (40) 은 표 1 및 표 2 에 포함된 스케일링 팩터 및 수식 (6) 에 따라 비트레이트를 정규화할 수도 있다.
컨텐츠 분류 모듈 (40) 은 정규화된 인코딩 파라미터들 (112) 을 이용하여 품질-레이트 커브 각각에 대한 품질 메트릭을 연산한다. 예를 들어, 컨텐츠 분류 모듈 (40) 은, 정규화된 비트레이트와 함께 표 3 에 주어진 상수 및 식 (7) 의 산술 함수를 이용하여 품질-레이트 커브 각각에 대한 품질 메트릭을 연산할 수도 있다.
컨텐츠 분류 모듈 (40) 은 데이터 세그먼트를 품질-레이트 커브 (114) 중 하나와 연관시킨다. 컨텐츠 분류 모듈 (40) 은 정규화된 비트레이트에서의 품질-레이트 커브의 품질 메트릭 및 인코딩된 데이터 세그먼트의 가중된 품질 메트릭에 기초하여 데이터 세그먼트를 품질-레이트 커브 중 하나와 연관시킨다. 더 상세하게는, 컨텐츠 분류 모듈 (40) 은 정규화된 비트레이트에서 연산된 품질-레이트 커브의 품질 메트릭과 가중된 품질 메트릭을 비교하고, 가중된 품질 메트릭에 가장 근접한 품질 메트릭에 대응하는 품질-레이트 커브를 선택한다. 이 방식으로, 컨텐츠 분류 모듈 (40) 은 데이터 세그먼트를, abs(Wt_Q-Qi) 를 최소화하는 품질-레이트 커브와 연관시키고, Wt_Q 는 가중된 품질 메트릭이고, Qi 는 i 번째 클래스 또는 커브와 연관된 품질 메트릭이다.
본 명세서의 교시에 기초하여, 본 명세서에 개시된 양태들이, 임의의 다른 양태들과는 독립적으로 구현될 수도 있고, 이 양태들의 2 이상이 다양한 방법으로 결합될 수도 있음을 당업자는 인식해야 한다. 본 명세서에 개시된 기술들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수도 있다. 하드웨어로 구현되면, 이 기술들은 디지털 하드웨어, 아날로그 하드웨어 또는 이들의 조합을 이용하여 실현될 수도 있다. 소프트웨어로 구현되면, 이 기술들은, 하나 이상의 명령들 또는 코드가 저장되는 컴퓨터 판독가능 매체를 포함하는 컴퓨터-프로그램 제품에 의해 적어도 부분적으로 실현될 수도 있다.
한정이 아닌 예시의 방법으로, 이러한 컴퓨터-판독가능 매체는 SDRAM (synchronous dynamic random access memory) 과 같은 RAM, 판독-전용 메모리 (ROM), 비휘발성 랜덤 액세스 메모리 (NVRAM), ROM, EEPROM (electrically erasable programmable read-only memory), EEPROM, FLASH 메모리, CD-ROM 또는 다른 광 디스크 저장매체, 자기 디스크 저장매체 또는 다른 자기 저장 디바이스, 또는 컴퓨터에 의해 액세스될 수 있는 데이터 구조 또는 명령의 형태로 원하는 프로그램 코드를 반송하거나 저장하는데 이용될 수 있는 임의의 다른 유형의 매체를 포함할 수 있다.
컴퓨터 프로그램 제품의 컴퓨터-판독가능 매체와 연관된 명령들 또는 코드는 컴퓨터에 의해, 예를 들어, 하나 이상의 디지털 신호 프로세서 (DSP), 범용 마이크로프로세서, 주문형 집적 회로 (ASIC), 필드 프로그래머블 로직 어레이 (FPGA), 또는 다른 등가의 집적 또는 이산 로직 회로와 같은 하나 이상의 프로세서에 의해 실행될 수도 있다.
다양한 양태들 및 실시예들을 설명하였다. 그러나, 이 실시예에 대한 다양한 변형예가 가능하고, 본 명세서에 제공된 원리들은 다른 양태들에 또한 적용될 수도 있다. 이 양태들 및 다른 양태들은 다음의 청구항의 범주에 속한다.

Claims (88)

  1. 디지털 멀티미디어 데이터를 프로세싱하기 위한 방법으로서,
    인코딩 파라미터들의 세트를 이용하여, 디지털 멀티미디어 데이터와 연관된 데이터 세그먼트를 인코딩하는 단계;
    상기 데이터 세그먼트를 복수의 컨텐츠 클래스 중 하나와 연관시키기 위해 상기 인코딩된 데이터 세그먼트의 하나 이상의 특성을 분석하는 단계;
    상기 인코딩된 데이터 세그먼트의 인식된 품질 메트릭 및 상기 연관된 컨텐츠 클래스에 대응하는 타겟 품질 메트릭에 적어도 기초하여, 상기 데이터 세그먼트를 인코딩하는데 이용된 인코딩 파라미터들 중 적어도 하나를 조정하는 단계; 및
    상기 조정된 인코딩 파라미터들을 이용하여 상기 데이터 세그먼트를 리-인코딩하는 단계를 포함하는, 디지털 멀티미디어 데이터의 프로세싱 방법.
  2. 제 1 항에 있어서,
    상기 인코딩 파라미터들 중 적어도 하나를 조정하는 단계는, 상기 인식된 품질 메트릭과 상기 타겟 품질 메트릭 사이의 차가 임계값을 초과하는 경우 인코딩 파라미터들 중 적어도 하나를 조정하는 단계를 포함하는, 디지털 멀티미디어 데이터의 프로세싱 방법.
  3. 제 1 항에 있어서,
    상기 인코딩 파라미터들 중 적어도 하나를 조정하는 단계는, 상기 인식된 품질 메트릭이 상기 타겟 품질 메트릭보다 임계값만큼 더 큰 경우 양자화 파라미터를 증가시키는 단계를 포함하는, 디지털 멀티미디어 데이터의 프로세싱 방법.
  4. 제 3 항에 있어서,
    상기 양자화 파라미터를 증가시키는 단계는, 상기 인식된 품질 메트릭과 상기 타겟 품질 메트릭 사이의 차의 절대값만큼 상기 양자화 파라미터를 증가시키는 단계를 포함하는, 디지털 멀티미디어 데이터의 프로세싱 방법.
  5. 제 1 항에 있어서,
    상기 인코딩 파라미터들 중 적어도 하나를 조정하는 단계는, 상기 인식된 품질 메트릭이 상기 타겟 품질 메트릭보다 임계값만큼 작은 경우 양자화 파라미터를 감소시키는 단계를 포함하는, 디지털 멀티미디어 데이터의 프로세싱 방법.
  6. 제 5 항에 있어서,
    상기 양자화 파라미터를 감소시키는 단계는, 상기 인식된 품질 메트릭과 상기 타겟 품질 메트릭 사이의 차의 절대값만큼 상기 양자화 파라미터를 감소시키는 단계를 포함하는, 디지털 멀티미디어 데이터의 프로세싱 방법.
  7. 제 1 항에 있어서,
    상기 인코딩 파라미터들 중 조정된 적어도 하나를, 상기 데이터 세그먼트와 연관된 컨텐츠 클래스에 대한 인코딩 파라미터들 중 적어도 하나에 대한 허용가능 범위와 비교하는 단계; 및
    상기 조정된 인코딩 파라미터가 상기 인코딩 파라미터들 중 적어도 하나에 대한 허용가능 범위 밖에 있는 경우, 상기 인코딩 파라미터들 중 적어도 하나를 상기 인코딩 파라미터들 중 적어도 하나에 대한 상기 허용가능 범위 내의 값이 되도록 재조정하는 단계를 더 포함하는, 디지털 멀티미디어 데이터의 프로세싱 방법.
  8. 제 1 항에 있어서,
    초기 타겟 품질 세트 포인트를 식별하는 단계; 및
    상기 데이터 세그먼트와 연관된 컨텐츠 클래스에 기초하여 상기 초기 타겟 품질 세트 포인트를 조정하여, 상기 데이터 세그먼트에 대한 타겟 품질 메트릭을 연산하는 단계를 더 포함하는, 디지털 멀티미디어 데이터의 프로세싱 방법.
  9. 제 1 항에 있어서,
    상기 데이터 세그먼트를 인코딩하는 단계는, 이전의 데이터 세그먼트에 대해 연산된 조정된 인코딩 파라미터들의 이전의 세트를 이용하여 상기 데이터 세그먼트를 인코딩하는 단계를 포함하는, 디지털 멀티미디어 데이터의 프로세싱 방법.
  10. 제 1 항에 있어서,
    상기 인코딩된 데이터 세그먼트의 하나 이상의 특성을 분석하는 단계는,
    상기 데이터 세그먼트를 인코딩하는데 이용된 인코딩 파라미터들이 복수의 품질-레이트 커브를 생성하는데 이용된 인코딩 파라미터들과 상이한 경우, 상기 복수의 품질-레이트 커브를 생성하는데 이용된 인코딩 파라미터들에 대응하도록 상기 인코딩된 데이터 세그먼트의 하나 이상의 특성들 중 적어도 하나를 정규화시키는 단계;
    상기 인코딩된 데이터 세그먼트의 인식된 품질 메트릭을 연산하는 단계; 및
    상기 데이터 세그먼트를 인코딩하는데 이용된 인코딩 파라미터들 중 적어도 하나, 상기 적어도 하나의 정규화된 특성 및 상기 인코딩된 데이터 세그먼트의 결과적 비트레이트 중 하나 및 상기 인식된 품질 메트릭에 기초하여, 상기 복수의 품질-레이트 커브 중 하나를 선택하는 단계를 포함하는, 디지털 멀티미디어 데이터의 프로세싱 방법.
  11. 제 10 항에 있어서,
    상기 복수의 품질-레이트 커브 중 하나를 선택하는 단계는,
    상기 복수의 품질-레이트 커브 각각에 대해, 상기 인식된 품질 메트릭과 상기 적어도 하나의 정규화된 특성에 대응하는 각각의 품질-레이트 커브에 대한 품질 메트릭과 사이의 차를 연산하는 단계; 및
    상기 품질-레이트 커브 중, 상기 연산된 차 중 최소의 차에 대응하는 품질-레이트 커브를 선택하는 단계를 포함하는, 디지털 멀티미디어 데이터의 프로세싱 방법.
  12. 제 10 항에 있어서,
    상기 인식된 품질 메트릭을 연산하는 단계는,
    픽셀들의 블록 각각과 연관된 적어도 하나의 차 메트릭에 기초하여, 세그먼트와 연관된 데이터 프레임의 픽셀들의 블록을 그룹으로 분리하는 단계;
    품질 메트릭 값 및 가중치 값을 픽셀들의 블록의 그룹 각각과 연관시키는 단계; 및
    상기 그룹과 연관된 상기 품질 메트릭 값 및 가중치 값에 기초하여 상기 데이터 세그먼트에 대한 가중된 품질 메트릭을 연산하는 단계를 더 포함하는, 디지털 멀티미디어 데이터의 프로세싱 방법.
  13. 제 12 항에 있어서,
    적어도 하나의 차 메트릭에 기초하여 픽셀들의 블록을 그룹으로 분리하는 단계는, 차의 절대값 합 (SAD), 픽셀당 SAD (SPP), 차 제곱의 합 (SSD), 절대값 변환 차의 합 (SATD) 및 제곱 변환 차의 합 (SSTD) 중 적어도 하나에 기초하여 픽셀들의 블록을 그룹으로 분리하는 단계를 포함하는, 디지털 멀티미디어 데이터의 프로세싱 방법.
  14. 제 1 항에 있어서,
    상기 데이터 세그먼트를 복수의 컨텐츠 클래스 중 하나와 연관시키기 위해 상기 인코딩된 데이터 세그먼트의 하나 이상의 특성을 분석하는 단계는, 상기 데이터 세그먼트를 복수의 품질-레이트 커브 중 특정한 커브와 연관시키기 위해 상기 인코딩된 데이터 세그먼트의 하나 이상의 특성을 분석하는 단계를 포함하는, 디지털 멀티미디어 데이터의 프로세싱 방법.
  15. 디지털 멀티미디어 데이터를 프로세싱하기 위한 장치로서,
    인코딩 파라미터들의 세트를 이용하여, 디지털 멀티미디어 데이터와 연관된 데이터 세그먼트를 인코딩하는 인코딩 모듈;
    상기 데이터 세그먼트를 복수의 컨텐츠 클래스 중 하나와 연관시키기 위해 상기 인코딩된 데이터 세그먼트의 하나 이상의 파라미터들을 분석하는 컨텐츠 분류 모듈; 및
    상기 인코딩된 데이터 세그먼트의 인식된 품질 메트릭 및 상기 연관된 컨텐츠 클래스에 대응하는 타겟 품질 메트릭에 적어도 기초하여, 상기 데이터 세그먼트를 인코딩하는데 이용된 인코딩 파라미터들 중 적어도 하나를 조정하는 품질 제어 모듈을 포함하며,
    상기 인코딩 모듈은, 상기 조정된 인코딩 파라미터를 이용하여 상기 데이터 세그먼트를 리-인코딩하는, 디지털 멀티미디어 데이터의 프로세싱 장치.
  16. 제 15 항에 있어서,
    상기 품질 제어 모듈은, 상기 인식된 품질 메트릭과 상기 타겟 품질 메트릭 사이의 차가 임계값을 초과하는 경우 인코딩 파라미터들 중 적어도 하나를 조정하는, 디지털 멀티미디어 데이터의 프로세싱 장치.
  17. 제 15 항에 있어서,
    상기 품질 제어 모듈은, 상기 인식된 품질 메트릭이 상기 타겟 품질 메트릭보다 임계값만큼 더 큰 경우 양자화 파라미터를 증가시키는, 디지털 멀티미디어 데이터의 프로세싱 장치.
  18. 제 17 항에 있어서,
    상기 품질 제어 모듈은, 상기 인식된 품질 메트릭과 상기 타겟 품질 메트릭 사이의 차의 절대값만큼 상기 양자화 파라미터를 증가시키는, 디지털 멀티미디어 데이터의 프로세싱 장치.
  19. 제 15 항에 있어서,
    상기 품질 제어 모듈은, 상기 인식된 품질 메트릭이 상기 타겟 품질 메트릭보다 임계값만큼 작은 경우 양자화 파라미터를 감소시키는, 디지털 멀티미디어 데이터의 프로세싱 장치.
  20. 제 19 항에 있어서,
    상기 품질 제어 모듈은, 상기 인식된 품질 메트릭과 상기 타겟 품질 메트릭 사이의 차의 절대값만큼 상기 양자화 파라미터를 감소시키는, 디지털 멀티미디어 데이터의 프로세싱 장치.
  21. 제 15 항에 있어서,
    상기 품질 제어 모듈은,
    상기 인코딩 파라미터들 중 조정된 적어도 하나를, 상기 데이터 세그먼트와 연관된 컨텐츠 클래스에 대한 인코딩 파라미터들 중 적어도 하나에 대한 허용가능 범위와 비교하고,
    상기 조정된 인코딩 파라미터가 상기 인코딩 파라미터들 중 적어도 하나에 대한 허용가능 범위 밖에 있는 경우, 상기 인코딩 파라미터들 중 적어도 하나를 상기 인코딩 파라미터들 중 적어도 하나에 대한 상기 허용가능 범위 내의 값으로 재조정하는, 디지털 멀티미디어 데이터의 프로세싱 장치.
  22. 제 15 항에 있어서,
    상기 품질 제어 모듈은,
    초기 타겟 품질 세트 포인트를 식별하고,
    상기 데이터 세그먼트와 연관된 컨텐츠 클래스에 기초하여 상기 초기 타겟 품질 세트 포인트를 조정하여, 상기 데이터 세그먼트에 대한 타겟 품질 메트릭을 연산하는, 디지털 멀티미디어 데이터의 프로세싱 장치.
  23. 제 15 항에 있어서,
    상기 인코딩 모듈은, 이전의 데이터 세그먼트에 대해 연산된 조정된 인코딩 파라미터들의 이전의 세트를 이용하여 상기 데이터 세그먼트를 인코딩하는, 디지털 멀티미디어 데이터의 프로세싱 장치.
  24. 제 15 항에 있어서,
    상기 컨텐츠 분류 모듈은,
    상기 데이터 세그먼트를 인코딩하는데 이용된 인코딩 파라미터들이 복수의 품질-레이트 커브를 생성하는데 이용된 인코딩 파라미터들과 상이한 경우, 상기 복수의 품질-레이트 커브를 생성하는데 이용된 인코딩 파라미터들에 대응하도록 상기 인코딩된 데이터 세그먼트의 하나 이상의 특성들 중 적어도 하나를 정규화시키고;
    상기 인코딩된 데이터 세그먼트의 인식된 품질 메트릭을 연산하고;
    상기 데이터 세그먼트를 인코딩하는데 이용된 인코딩 파라미터들 중 적어도 하나, 상기 적어도 하나의 정규화된 특성 및 상기 인코딩된 데이터 세그먼트의 결과적 비트레이트 중 하나 및 상기 인식된 품질 메트릭에 기초하여, 상기 복수의 품질-레이트 커브 중 하나를 선택하는, 디지털 멀티미디어 데이터의 프로세싱 장치.
  25. 제 24 항에 있어서,
    상기 컨텐츠 분류 모듈은,
    상기 복수의 품질-레이트 커브 각각에 대해, 상기 인식된 품질 메트릭과 상기 적어도 하나의 정규화된 특성에 대응하는 각각의 품질-레이트 커브에 대한 품질 메트릭 사이의 차를 연산하고;
    상기 품질-레이트 커브 중, 상기 연산된 차 중 최소의 차에 대응하는 품질-레이트 커브를 선택하는, 디지털 멀티미디어 데이터의 프로세싱 장치.
  26. 제 24 항에 있어서,
    상기 컨텐츠 분류 모듈은,
    픽셀들의 블록 각각과 연관된 적어도 하나의 차 메트릭에 기초하여, 세그먼트와 연관된 데이터 프레임의 픽셀들의 블록을 그룹으로 분리하고;
    품질 메트릭 값 및 가중치 값을 픽셀들의 블록의 그룹 각각과 연관시키고;
    상기 그룹과 연관된 상기 품질 메트릭 값 및 가중치 값에 기초하여 상기 데이터 세그먼트에 대한 가중된 품질 메트릭을 연산하는, 디지털 멀티미디어 데이터의 프로세싱 장치.
  27. 제 26 항에 있어서,
    상기 컨텐츠 분류 모듈은, 차의 절대값 합 (SAD), 픽셀당 SAD (SPP), 차 제곱의 합 (SSD), 절대값 변환 차의 합 (SATD) 및 제곱 변환 차의 합 (SSTD) 중 적어도 하나에 기초하여 픽셀들의 블록을 그룹으로 분리하는, 디지털 멀티미디어 데이터의 프로세싱 장치.
  28. 제 15 항에 있어서,
    상기 컨텐츠 분류 모듈은, 상기 데이터 세그먼트를 복수의 품질-레이트 커브 중 특정한 커브와 연관시키기 위해 상기 인코딩된 데이터 세그먼트의 하나 이상의 특성을 분석하는, 디지털 멀티미디어 데이터의 프로세싱 장치.
  29. 디지털 멀티미디어 데이터를 프로세싱하는 장치로서,
    인코딩 파라미터들의 세트를 이용하여, 디지털 멀티미디어 데이터와 연관된 데이터 세그먼트를 인코딩하는 수단;
    상기 데이터 세그먼트를 복수의 컨텐츠 클래스 중 하나와 연관시키기 위해, 상기 인코딩된 데이터 세그먼트의 하나 이상의 특성을 분석하는 수단;
    상기 인코딩된 데이터 세그먼트의 인식된 품질 메트릭 및 상기 연관된 컨텐츠 클래스에 대응하는 타겟 품질 메트릭에 적어도 기초하여, 상기 데이터 세그먼트를 인코딩하는데 이용된 인코딩 파라미터들 중 적어도 하나를 조정하는 수단; 및
    상기 조정된 인코딩 파라미터들을 이용하여 상기 데이터 세그먼트를 리-인코딩하는 수단을 포함하는, 디지털 멀티미디어 데이터의 프로세싱 장치.
  30. 제 29 항에 있어서,
    상기 인코딩 파라미터들 중 적어도 하나를 조정하는 수단은, 상기 인식된 품질 메트릭과 상기 타겟 품질 메트릭 사이의 차가 임계값을 초과하는 경우 인코딩 파라미터들 중 적어도 하나를 조정하는 수단을 포함하는, 디지털 멀티미디어 데이터의 프로세싱 장치.
  31. 제 29 항에 있어서,
    상기 인코딩 파라미터들 중 적어도 하나를 조정하는 수단은, 상기 인식된 품질 메트릭이 상기 타겟 품질 메트릭보다 임계값만큼 더 큰 경우 양자화 파라미터를 증가시키는 수단을 포함하는, 디지털 멀티미디어 데이터의 프로세싱 장치.
  32. 제 31 항에 있어서,
    상기 양자화 파라미터를 증가시키는 수단은, 상기 인식된 품질 메트릭과 상기 타겟 품질 메트릭 사이의 차의 절대값만큼 상기 양자화 파라미터를 증가시키는 수단을 포함하는, 디지털 멀티미디어 데이터의 프로세싱 장치.
  33. 제 29 항에 있어서,
    상기 인코딩 파라미터들 중 적어도 하나를 조정하는 수단은, 상기 인식된 품질 메트릭이 상기 타겟 품질 메트릭보다 임계값만큼 작은 경우 양자화 파라미터를 감소시키는 수단을 포함하는, 디지털 멀티미디어 데이터의 프로세싱 장치.
  34. 제 33 항에 있어서,
    상기 양자화 파라미터를 감소시키는 수단은, 상기 인식된 품질 메트릭과 상 기 타겟 품질 메트릭 사이의 차의 절대값만큼 상기 양자화 파라미터를 감소시키는 수단을 포함하는, 디지털 멀티미디어 데이터의 프로세싱 장치.
  35. 제 29 항에 있어서,
    상기 인코딩 파라미터들 중 조정된 적어도 하나를, 상기 데이터 세그먼트와 연관된 컨텐츠 클래스에 대한 인코딩 파라미터들 중 적어도 하나에 대한 허용가능 범위와 비교하는 수단; 및
    상기 조정된 인코딩 파라미터가 상기 인코딩 파라미터들 중 적어도 하나에 대한 허용가능 범위 밖에 있는 경우, 상기 인코딩 파라미터들 중 적어도 하나를 상기 인코딩 파라미터들 중 적어도 하나에 대한 상기 허용가능 범위 내의 값으로 재조정하는 수단을 더 포함하는, 디지털 멀티미디어 데이터의 프로세싱 장치.
  36. 제 29 항에 있어서,
    초기 타겟 품질 세트 포인트를 식별하는 수단; 및
    상기 데이터 세그먼트와 연관된 컨텐츠 클래스에 기초하여 상기 초기 타겟 품질 세트 포인트를 조정하여, 상기 데이터 세그먼트에 대한 타겟 품질 메트릭을 연산하는 수단을 더 포함하는, 디지털 멀티미디어 데이터의 프로세싱 장치.
  37. 제 29 항에 있어서,
    상기 데이터 세그먼트를 인코딩하는 수단은, 이전의 데이터 세그먼트에 대해 연산된 조정된 인코딩 파라미터들의 이전의 세트를 이용하여 상기 데이터 세그먼트를 인코딩하는 수단을 포함하는, 디지털 멀티미디어 데이터의 프로세싱 장치.
  38. 제 29 항에 있어서,
    상기 분석하는 수단은,
    상기 데이터 세그먼트를 인코딩하는데 이용된 인코딩 파라미터들이 복수의 품질-레이트 커브를 생성하는데 이용된 인코딩 파라미터들과 상이한 경우, 상기 복수의 품질-레이트 커브를 생성하는데 이용된 인코딩 파라미터들에 대응하도록 상기 데이터 세그먼트를 인코딩하는데 이용된 인코딩 파라미터들 중 적어도 하나를 정규화시키는 수단;
    상기 인코딩된 데이터 세그먼트의 인식된 품질 메트릭을 연산하는 수단; 및
    상기 데이터 세그먼트를 인코딩하는데 이용된 인코딩 파라미터들 중 적어도 하나, 상기 정규화된 인코딩 파라미터들 및 상기 인코딩된 데이터 세그먼트의 결과적 비트레이트 중 하나 및 상기 인식된 품질 메트릭에 기초하여, 상기 복수의 품질-레이트 커브 중 하나를 선택하는 수단을 더 포함하는, 디지털 멀티미디어 데이터의 프로세싱 장치.
  39. 제 38 항에 있어서,
    상기 선택하는 수단은,
    상기 복수의 품질-레이트 커브 각각에 대해, 상기 인식된 품질 메트릭과 상 기 정규화된 인코딩 파라미터에 대응하는 각각의 품질-레이트 커브에 대한 품질 메트릭 사이의 차를 연산하고, 상기 품질-레이트 커브 중, 최소의 차에 대응하는 품질-레이트 커브를 선택하는, 디지털 멀티미디어 데이터의 프로세싱 장치.
  40. 제 38 항에 있어서,
    상기 연산하는 수단은, 픽셀들의 블록 각각과 연관된 적어도 하나의 차 메트릭에 기초하여, 세그먼트와 연관된 데이터 프레임의 픽셀들의 블록을 그룹으로 분리하고, 품질 메트릭 값 및 가중치 값을 픽셀들의 블록의 그룹 각각과 연관시키고, 상기 그룹과 연관된 상기 품질 메트릭 값 및 가중치 값에 기초하여 상기 데이터 세그먼트에 대한 가중된 품질 메트릭을 연산하는, 디지털 멀티미디어 데이터의 프로세싱 장치.
  41. 제 40 항에 있어서,
    상기 연산하는 수단은, 차의 절대값 합 (SAD), 픽셀당 SAD (SPP), 차 제곱의 합 (SSD), 절대값 변환 차의 합 (SATD) 및 제곱 변환 차의 합 (SSTD) 중 적어도 하나에 기초하여 픽셀들의 블록을 그룹으로 분리하는, 디지털 멀티미디어 데이터의 프로세싱 장치.
  42. 제 29 항에 있어서,
    상기 분석하는 수단은, 상기 데이터 세그먼트를 복수의 품질-레이트 커브 중 하나와 연관시키기 위해 상기 인코딩된 데이터 세그먼트의 컨텐츠를 분석하는, 디지털 멀티미디어 데이터의 프로세싱 장치.
  43. 명령들이 저장된 머신 판독가능 매체로서,
    상기 저장된 명령들은, 하나 이상의 코드의 세그먼트를 포함하고, 하나 이상의 머신 상에서 수행될 수 있으며,
    상기 하나 이상의 코드의 세그먼트는,
    인코딩 파라미터들의 세트를 이용하여, 디지털 멀티미디어 데이터와 연관된 데이터 세그먼트를 인코딩하기 위한 코드;
    상기 데이터 세그먼트를 복수의 컨텐츠 클래스 중 하나와 연관시키기 위해 상기 인코딩된 데이터 세그먼트의 하나 이상의 특성을 분석하기 위한 코드;
    상기 인코딩된 데이터 세그먼트의 인식된 품질 메트릭 및 상기 연관된 컨텐츠 클래스에 대응하는 타겟 품질 메트릭에 적어도 기초하여, 상기 데이터 세그먼트를 인코딩하는데 이용된 인코딩 파라미터들 중 적어도 하나를 조정하기 위한 코드; 및
    상기 조정된 인코딩 파라미터들을 이용하여 상기 데이터 세그먼트를 리-인코딩하기 위한 코드를 포함하는, 머신 판독가능 매체.
  44. 제 43 항에 있어서,
    상기 인코딩 파라미터들 중 적어도 하나를 조정하기 위한 코드는, 상기 인식 된 품질 메트릭과 상기 타겟 품질 메트릭 사이의 차가 임계값을 초과하는 경우 인코딩 파라미터들 중 적어도 하나를 조정하기 위한 코드를 포함하는, 머신 판독가능 매체.
  45. 제 43 항에 있어서,
    상기 인코딩 파라미터들 중 적어도 하나를 조정하기 위한 코드는, 상기 인식된 품질 메트릭이 상기 타겟 품질 메트릭보다 임계값만큼 더 큰 경우 양자화 파라미터를 증가시키기 위한 코드를 포함하는, 머신 판독가능 매체.
  46. 제 45 항에 있어서,
    상기 양자화 파라미터를 증가시키기 위한 코드는, 상기 인식된 품질 메트릭과 상기 타겟 품질 메트릭 사이의 차의 절대값만큼 상기 양자화 파라미터를 증가시키기 위한 코드를 포함하는, 머신 판독가능 매체.
  47. 제 43 항에 있어서,
    상기 인코딩 파라미터들 중 적어도 하나를 조정하기 위한 코드는, 상기 인식된 품질 메트릭이 상기 타겟 품질 메트릭보다 임계값만큼 작은 경우 양자화 파라미터를 감소시키기 위한 코드를 포함하는, 머신 판독가능 매체.
  48. 제 47 항에 있어서,
    상기 양자화 파라미터를 감소시키기 위한 코드는, 상기 인식된 품질 메트릭과 상기 타겟 품질 메트릭 사이의 차의 절대값만큼 상기 양자화 파라미터를 감소시키기 위한 코드를 포함하는, 머신 판독가능 매체.
  49. 제 43 항에 있어서,
    상기 인코딩 파라미터들 중 조정된 적어도 하나를, 상기 데이터 세그먼트와 연관된 컨텐츠 클래스에 대한 인코딩 파라미터들 중 적어도 하나에 대한 허용가능 범위와 비교하기 위한 코드; 및
    상기 조정된 인코딩 파라미터가 상기 인코딩 파라미터들 중 적어도 하나에 대한 허용가능 범위 밖에 있는 경우, 상기 인코딩 파라미터들 중 적어도 하나를 상기 인코딩 파라미터들 중 적어도 하나에 대한 상기 허용가능 범위 내의 값으로 재조정하기 위한 코드를 더 포함하는, 머신 판독가능 매체.
  50. 제 43 항에 있어서,
    초기 타겟 품질 세트 포인트를 식별하기 위한 코드; 및
    상기 데이터 세그먼트와 연관된 컨텐츠 클래스에 기초하여 상기 초기 타겟 품질 세트 포인트를 조정하여, 상기 데이터 세그먼트에 대한 타겟 품질 메트릭을 연산하기 위한 코드를 더 포함하는, 머신 판독가능 매체.
  51. 제 43 항에 있어서,
    상기 데이터 세그먼트를 인코딩하기 위한 코드는, 이전의 데이터 세그먼트에 대해 연산된 조정된 인코딩 파라미터들의 이전의 세트를 이용하여 상기 데이터 세그먼트를 인코딩하기 위한 코드를 포함하는, 머신 판독가능 매체.
  52. 제 43 항에 있어서,
    상기 인코딩된 데이터 세그먼트의 하나 이상의 특성을 분석하기 위한 코드는,
    상기 데이터 세그먼트를 인코딩하는데 이용된 인코딩 파라미터들이 복수의 품질-레이트 커브를 생성하는데 이용된 인코딩 파라미터들과 상이한 경우, 상기 복수의 품질-레이트 커브를 생성하는데 이용된 인코딩 파라미터들에 대응하도록 상기 데이터 세그먼트를 인코딩하는데 이용된 인코딩 파라미터들의 하나 이상의 특성들 중 적어도 하나를 정규화시키기 위한 코드;
    상기 인코딩된 데이터 세그먼트의 인식된 품질 메트릭을 연산하기 위한 코드; 및
    상기 데이터 세그먼트를 인코딩하는데 이용된 인코딩 파라미터들 중 적어도 하나, 상기 적어도 하나의 정규화된 특성 및 상기 인코딩된 데이터 세그먼트의 결과적 비트레이트 중 하나 및 상기 인식된 품질 메트릭에 기초하여, 상기 복수의 품질-레이트 커브 중 하나를 선택하기 위한 코드를 포함하는, 머신 판독가능 매체.
  53. 제 52 항에 있어서,
    상기 복수의 품질-레이트 커브 중 하나를 선택하기 위한 코드는,
    상기 복수의 품질-레이트 커브 각각에 대해, 상기 인식된 품질 메트릭과 상기 적어도 하나의 정규화된 특성에 대응하는 각각의 품질-레이트 커브에 대한 품질 메트릭 사이의 차를 연산하기 위한 코드; 및
    상기 품질-레이트 커브 중, 상기 연산된 차 중 최소의 차에 대응하는 품질-레이트 커브를 선택하기 위한 코드를 포함하는, 머신 판독가능 매체.
  54. 제 52 항에 있어서,
    상기 인식된 품질 메트릭을 연산하기 위한 코드는,
    픽셀들의 블록 각각과 연관된 적어도 하나의 차 메트릭에 기초하여, 세그먼트와 연관된 데이터 프레임의 픽셀들의 블록을 그룹으로 분리하기 위한 코드;
    품질 메트릭 값 및 가중치 값을 픽셀들의 블록의 그룹 각각과 연관시키기 위한 코드; 및
    상기 그룹과 연관된 상기 품질 메트릭 값 및 가중치 값에 기초하여 상기 데이터 세그먼트에 대한 가중된 품질 메트릭을 연산하기 위한 코드를 더 포함하는, 머신 판독가능 매체.
  55. 제 54 항에 있어서,
    적어도 하나의 차 메트릭에 기초하여 픽셀들의 블록을 그룹으로 분리하기 위한 코드는, 차의 절대값 합 (SAD), 픽셀당 SAD (SPP), 차 제곱의 합 (SSD), 절대값 변환 차의 합 (SATD) 및 제곱 변환 차의 합 (SSTD) 중 적어도 하나에 기초하여 픽셀들의 블록을 그룹으로 분리하기 위한 코드를 포함하는, 머신 판독가능 매체.
  56. 제 43 항에 있어서,
    상기 데이터 세그먼트를 복수의 컨텐츠 클래스 중 하나와 연관시키기 위해 상기 인코딩된 데이터 세그먼트의 하나 이상의 특성을 분석하기 위한 코드는, 상기 데이터 세그먼트를 복수의 품질-레이트 커브 중 하나와 연관시키기 위해 상기 인코딩된 데이터 세그먼트의 하나 이상의 특성을 분석하기 위한 코드를 포함하는, 머신 판독가능 매체.
  57. 디지털 멀티미디어 데이터와 연관된 인코딩된 데이터 세그먼트에 대한 인식된 품질 메트릭을 연산하는 단계; 및
    상기 데이터 세그먼트를 인코딩하는데 이용된 적어도 하나의 인코딩 파라미터와 상기 인코딩된 데이터 세그먼트의 결과적 비트레이트 중 하나, 및 상기 인식된 품질 메트릭에 기초하여, 복수의 컨텐츠 클래스 중 하나를 선택하는 단계를 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  58. 제 57 항에 있어서,
    상기 복수의 컨텐츠 클래스를 생성하는데 이용된 인코딩 파라미터들에 대응하도록, 상기 데이터 세그먼트를 인코딩하는데 이용된 인코딩 파라미터들 중 적어 도 하나를 정규화하는 단계를 더 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  59. 제 58 항에 있어서,
    상기 컨텐츠 클래스는 품질-레이트 커브들을 포함하며,
    상기 방법은,
    상기 품질-레이트 커브들 각각에 대해, 상기 인식된 품질 메트릭과 상기 정규화된 인코딩 파라미터에 대응하는 각각의 품질-레이트 커브에 대한 품질 메트릭 사이의 차를 연산하는 단계; 및
    복수의 품질-레이트 커브들 중, 상기 연산된 차 중 최소의 차와 연관된 특정 품질-레이트 커브를 선택하는 단계를 더 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  60. 제 57 항에 있어서,
    상기 복수의 컨텐츠 클래스는 복수의 품질-레이트 커브들을 포함하며,
    상기 복수의 컨텐츠 클래스 중 하나를 선택하는 단계는, 상기 복수의 품질-레이트 커브들 중 특정 품질-레이트 커브를 선택하는 단계를 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  61. 제 57 항에 있어서,
    상기 인식된 품질 메트릭을 연산하는 단계는,
    픽셀들의 블록 각각과 연관된 적어도 하나의 차 메트릭에 기초하여, 인코딩된 세그먼트와 연관된 데이터 프레임의 픽셀들의 블록을 그룹으로 분리하는 단계;
    품질 메트릭 값 및 가중치 값을 상기 픽셀들의 블록의 그룹 각각과 연관시키는 단계; 및
    상기 그룹과 연관된 상기 품질 메트릭 값 및 가중치 값에 기초하여, 상기 인코딩된 데이터 세그먼트에 대한 가중된 품질 메트릭을 연산하는 단계를 더 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  62. 제 61 항에 있어서,
    적어도 하나의 차 메트릭에 기초하여 픽셀들의 블록을 그룹으로 분리하는 단계는, 차의 절대값 합 (SAD), 픽셀당 SAD (SPP), 차 제곱의 합 (SSD), 절대값 변환 차의 합 (SATD) 및 제곱 변환 차의 합 (SSTD) 중 적어도 하나에 기초하여 픽셀들의 블록을 그룹으로 분리하는 단계를 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  63. 제 61 항에 있어서,
    적어도 하나의 차 메트릭에 기초하여 픽셀들의 블록을 그룹으로 분리하는 단계는,
    가능한 차 메트릭을 그룹으로 분리하는 단계로서, 상기 그룹의 적어도 일부는 2 이상의 차 메트릭을 포함하는, 상기 분리하는 단계;
    상기 그룹 각각과 연관된 품질 메트릭을 미리 연산하는 단계로서, 상기 그룹 에 대한 품질 메트릭은 상기 그룹과 연관된 차 메트릭 각각에 대응하는 품질 메트릭의 평균과 동일한, 상기 품질 메트릭을 미리 연산하는 단계; 및
    상기 그룹 각각에 대한 가중치를 미리 연산하는 단계로서, 상기 그룹 각각에 대한 가중치는 빈과 연관된 차 메트릭의 적어도 일부에 기초하여 연산되는, 상기 가중치를 미리 연산하는 단계를 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  64. 제 57 항에 있어서,
    상기 인코딩된 데이터 세그먼트의 인식된 품질 메트릭을 연산하는 단계는 상기 인코딩된 데이터 세그먼트의 관측된 피크 신호 대 잡음비 (PSNR) 를 연산하는 단계를 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  65. 디지털 멀티미디어 데이터와 연관된 인코딩된 데이터 세그먼트에 대한 인식된 품질 메트릭을 연산하는 품질 측정 모듈; 및
    상기 데이터 세그먼트를 인코딩하는데 이용된 적어도 하나의 인코딩 파라미터와 상기 인코딩된 데이터 세그먼트의 결과적 비트레이트 중 하나, 및 상기 인식된 품질 메트릭에 기초하여, 복수의 컨텐츠 클래스 중 하나를 선택하는 클래스 선택 모듈을 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  66. 제 65 항에 있어서,
    상기 복수의 컨텐츠 클래스를 생성하는데 이용된 인코딩 파라미터들에 대응 하도록, 상기 데이터 세그먼트를 인코딩하는데 이용된 인코딩 파라미터들 중 적어도 하나를 정규화하는 인코딩 파라미터 정규화 모듈을 더 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  67. 제 66 항에 있어서,
    상기 복수의 컨텐츠 클래스는 복수의 품질-레이트 커브들을 포함하며,
    상기 클래스 선택 모듈은 또한,
    상기 품질-레이트 커브들 각각에 대해, 상기 인식된 품질 메트릭과 상기 정규화된 인코딩 파라미터에 대응하는 각각의 품질-레이트 커브에 대한 품질 메트릭 사이의 차를 연산하고,
    상기 복수의 품질-레이트 커브들 중, 상기 연산된 차 중 최소의 차와 연관된 특정 품질-레이트 커브를 선택하는, 멀티미디어 데이터의 프로세싱 장치.
  68. 제 65 항에 있어서,
    상기 복수의 컨텐츠 클래스는 복수의 품질-레이트 커브들을 포함하며,
    상기 클래스 선택 모듈은, 상기 복수의 품질-레이트 커브들 중 특정 품질-레이트 커브를 선택하는, 멀티미디어 데이터의 프로세싱 장치.
  69. 제 65 항에 있어서,
    상기 품질 측정 모듈은 또한,
    픽셀들의 블록 각각과 연관된 적어도 하나의 차 메트릭에 기초하여, 세그먼트와 연관된 데이터 프레임의 픽셀들의 블록을 그룹으로 분리하고,
    품질 메트릭 값 및 가중치 값을 상기 픽셀들의 블록의 그룹 각각과 연관시키고;
    상기 그룹과 연관된 상기 품질 메트릭 값 및 가중치 값에 기초하여, 상기 데이터 세그먼트에 대한 가중된 품질 메트릭을 연산하는, 멀티미디어 데이터의 프로세싱 장치.
  70. 제 69 항에 있어서,
    상기 품질 측정 모듈은 또한, 차의 절대값 합 (SAD), 픽셀당 SAD (SPP), 차 제곱의 합 (SSD), 절대값 변환 차의 합 (SATD) 및 제곱 변환 차의 합 (SSTD) 중 적어도 하나에 기초하여 픽셀들의 블록을 그룹으로 분리하는, 멀티미디어 데이터의 프로세싱 장치.
  71. 제 69 항에 있어서,
    상기 품질 측정 모듈은 또한,
    가능한 차 메트릭을 그룹으로 분리하고,
    상기 그룹 각각과 연관된 품질 메트릭을 미리 연산하고,
    상기 그룹 각각에 대한 가중치를 미리 연산하며,
    상기 그룹의 적어도 일부는 2 이상의 차 메트릭을 포함하고,
    상기 그룹에 대한 품질 메트릭은 상기 그룹과 연관된 차 메트릭 각각에 대응하는 품질 메트릭의 평균과 동일하고,
    상기 그룹 각각에 대한 가중치는 빈과 연관된 차 메트릭의 적어도 일부에 기초하여 연산되는, 멀티미디어 데이터의 프로세싱 장치.
  72. 제 65 항에 있어서,
    상기 품질 측정 모듈은 또한, 상기 인코딩된 데이터 세그먼트의 관측된 피크 신호 대 잡음비 (PSNR) 를 연산하는, 멀티미디어 데이터의 프로세싱 장치.
  73. 디지털 멀티미디어 데이터와 연관된 인코딩된 데이터 세그먼트에 대한 인식된 품질 메트릭을 연산하는 수단; 및
    상기 데이터 세그먼트를 인코딩하는데 이용된 적어도 하나의 인코딩 파라미터와 상기 인코딩된 데이터 세그먼트의 결과적 비트레이트 중 하나, 및 상기 인식된 품질 메트릭에 기초하여, 복수의 컨텐츠 클래스 중 하나를 선택하는 수단을 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  74. 제 73 항에 있어서,
    상기 복수의 컨텐츠 클래스를 생성하는데 이용된 인코딩 파라미터들에 대응하도록, 상기 데이터 세그먼트를 인코딩하는데 이용된 인코딩 파라미터들 중 적어도 하나를 정규화하는 수단을 더 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  75. 제 74 항에 있어서,
    상기 복수의 컨텐츠 클래스는 복수의 품질-레이트 커브들을 포함하며,
    상기 장치는,
    상기 품질-레이트 커브들 각각에 대해, 상기 인식된 품질 메트릭과 상기 정규화된 인코딩 파라미터에 대응하는 각각의 품질-레이트 커브에 대한 품질 메트릭 사이의 차를 연산하는 수단; 및
    상기 복수의 품질-레이트 커브들 중, 상기 연산된 차 중 최소의 차와 연관된 특정 품질-레이트 커브를 선택하는 수단을 더 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  76. 제 73 항에 있어서,
    상기 복수의 컨텐츠 클래스는 복수의 품질-레이트 커브들을 포함하며,
    상기 복수의 컨텐츠 클래스 중 하나를 선택하는 수단은, 상기 복수의 품질-레이트 커브들 중 특정 품질-레이트 커브를 선택하는 수단을 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  77. 제 73 항에 있어서,
    상기 인식된 품질 메트릭을 연산하는 수단은,
    픽셀들의 블록 각각과 연관된 적어도 하나의 차 메트릭에 기초하여, 세그먼 트와 연관된 데이터 프레임의 픽셀들의 블록을 그룹으로 분리하는 수단;
    품질 메트릭 값 및 가중치 값을 상기 픽셀들의 블록의 그룹 각각과 연관시키는 수단; 및
    상기 그룹과 연관된 상기 품질 메트릭 값 및 가중치 값에 기초하여, 상기 데이터 세그먼트에 대한 가중된 품질 메트릭을 연산하는 수단을 더 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  78. 제 77 항에 있어서,
    적어도 하나의 차 메트릭에 기초하여 픽셀들의 블록을 그룹으로 분리하는 수단은, 차의 절대값 합 (SAD), 픽셀당 SAD (SPP), 차 제곱의 합 (SSD), 절대값 변환 차의 합 (SATD) 및 제곱 변환 차의 합 (SSTD) 중 적어도 하나에 기초하여 픽셀들의 블록을 그룹으로 분리하는 수단을 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  79. 제 77 항에 있어서,
    적어도 하나의 차 메트릭에 기초하여 픽셀들의 블록을 그룹으로 분리하는 수단은,
    가능한 차 메트릭을 그룹으로 분리하는 수단으로서, 상기 그룹의 적어도 일부는 2 이상의 차 메트릭을 포함하는, 상기 분리하는 수단;
    상기 그룹 각각과 연관된 품질 메트릭을 미리 연산하는 수단으로서, 상기 그룹에 대한 품질 메트릭은 상기 그룹과 연관된 차 메트릭 각각에 대응하는 품질 메 트릭의 평균과 동일한, 상기 품질 메트릭을 미리 연산하는 수단; 및
    상기 그룹 각각에 대한 가중치를 미리 연산하는 수단으로서, 상기 그룹 각각에 대한 가중치는 빈과 연관된 차 메트릭의 적어도 일부에 기초하여 연산되는, 상기 가중치를 미리 연산하는 수단을 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  80. 제 73 항에 있어서,
    상기 인코딩된 데이터 세그먼트에 대한 인식된 품질 메트릭을 연산하는 수단은 상기 인코딩된 데이터 세그먼트의 관측된 피크 신호 대 잡음비 (PSNR) 를 연산하는 수단을 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  81. 명령들이 저장된 머신 판독가능 매체로서,
    상기 저장된 명령들은, 하나 이상의 코드 부분을 포함하고, 하나 이상의 머신 상에서 수행될 수 있으며,
    상기 하나 이상의 코드 부분은,
    디지털 멀티미디어 데이터와 연관된 인코딩된 데이터 세그먼트에 대한 인식된 품질 메트릭을 연산하기 위한 코드; 및
    상기 데이터 세그먼트를 인코딩하는데 이용된 적어도 하나의 인코딩 파라미터와 상기 인코딩된 데이터 세그먼트의 결과적 비트레이트 중 하나, 및 상기 인식된 품질 메트릭에 기초하여, 복수의 컨텐츠 클래스 중 하나를 선택하기 위한 코드를 포함하는, 머신 판독가능 매체.
  82. 제 81 항에 있어서,
    상기 복수의 컨텐츠 클래스를 생성하는데 이용된 인코딩 파라미터들에 대응하도록, 상기 데이터 세그먼트를 인코딩하는데 이용된 인코딩 파라미터들 중 적어도 하나를 정규화하기 위한 코드를 더 포함하는, 머신 판독가능 매체.
  83. 제 82 항에 있어서,
    상기 복수의 컨텐츠 클래스는 복수의 품질-레이트 커브들을 포함하며,
    상기 품질-레이트 커브들 각각에 대해, 상기 인식된 품질 메트릭과 상기 정규화된 인코딩 파라미터에 대응하는 각각의 품질-레이트 커브에 대한 품질 메트릭 사이의 차를 연산하기 위한 코드; 및
    상기 복수의 품질-레이트 커브들 중, 상기 연산된 차 중 최소의 차와 연관된 특정 품질-레이트 커브를 선택하기 위한 코드를 더 포함하는, 머신 판독가능 매체.
  84. 제 81 항에 있어서,
    상기 복수의 컨텐츠 클래스는 복수의 품질-레이트 커브들을 포함하며,
    상기 복수의 컨텐츠 클래스 중 하나를 선택하기 위한 코드는, 상기 복수의 품질-레이트 커브들 중 특정 품질-레이트 커브를 선택하기 위한 코드를 포함하는, 머신 판독가능 매체.
  85. 제 81 항에 있어서,
    상기 인식된 품질 메트릭을 연산하기 위한 코드는,
    픽셀들의 블록 각각과 연관된 적어도 하나의 차 메트릭에 기초하여, 세그먼트와 연관된 데이터 프레임의 픽셀들의 블록을 그룹으로 분리하기 위한 코드;
    품질 메트릭 값 및 가중치 값을 상기 픽셀들의 블록의 그룹 각각과 연관시키기 위한 코드; 및
    상기 그룹과 연관된 상기 품질 메트릭 값 및 가중치 값에 기초하여, 상기 데이터 세그먼트에 대한 가중된 품질 메트릭을 연산하기 위한 코드를 더 포함하는, 머신 판독가능 매체.
  86. 제 85 항에 있어서,
    적어도 하나의 차 메트릭에 기초하여 픽셀들의 블록을 그룹으로 분리하기 위한 코드는, 차의 절대값 합 (SAD), 픽셀당 SAD (SPP), 차 제곱의 합 (SSD), 절대값 변환 차의 합 (SATD) 및 제곱 변환 차의 합 (SSTD) 중 적어도 하나에 기초하여 픽셀들의 블록을 그룹으로 분리하기 위한 코드를 포함하는, 머신 판독가능 매체.
  87. 제 85 항에 있어서,
    적어도 하나의 차 메트릭에 기초하여 픽셀들의 블록을 그룹으로 분리하기 위한 코드는,
    가능한 차 메트릭을 그룹으로 분리하기 위한 코드로서, 상기 그룹의 적어도 일부는 2 이상의 차 메트릭을 포함하는, 상기 분리하기 위한 코드;
    상기 그룹 각각과 연관된 품질 메트릭을 미리 연산하기 위한 코드로서, 상기 그룹에 대한 품질 메트릭은 상기 그룹과 연관된 차 메트릭 각각에 대응하는 품질 메트릭의 평균과 동일한, 상기 품질 메트릭을 미리 연산하기 위한 코드; 및
    상기 그룹 각각에 대한 가중치를 미리 연산하기 위한 코드로서, 상기 그룹 각각에 대한 가중치는 빈과 연관된 차 메트릭의 적어도 일부에 기초하여 연산되는, 상기 가중치를 미리 연산하기 위한 코드를 포함하는, 머신 판독가능 매체.
  88. 제 81 항에 있어서,
    상기 인코딩된 데이터 세그먼트에 대한 인식된 품질 메트릭을 연산하기 위한 코드는 상기 인코딩된 데이터 세그먼트의 관측된 피크 신호 대 잡음비 (PSNR) 를 연산하기 위한 코드를 포함하는, 머신 판독가능 매체.
KR1020097024262A 2007-04-23 2007-04-24 품질 제어된 인코딩을 위한 방법 및 시스템 KR101104654B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/739,075 2007-04-23
US11/739,075 US8582647B2 (en) 2007-04-23 2007-04-23 Methods and systems for quality controlled encoding
PCT/US2007/067346 WO2008133677A1 (en) 2007-04-23 2007-04-24 Methods and systems for quality controlled encoding

Publications (2)

Publication Number Publication Date
KR20100005224A true KR20100005224A (ko) 2010-01-14
KR101104654B1 KR101104654B1 (ko) 2012-01-13

Family

ID=39495327

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097024262A KR101104654B1 (ko) 2007-04-23 2007-04-24 품질 제어된 인코딩을 위한 방법 및 시스템

Country Status (6)

Country Link
US (2) US8582647B2 (ko)
EP (1) EP2153657B1 (ko)
JP (1) JP5113244B2 (ko)
KR (1) KR101104654B1 (ko)
CN (1) CN101658035B (ko)
WO (1) WO2008133677A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160061561A (ko) * 2014-11-21 2016-06-01 인하대학교 산학협력단 계층적 비디오 코딩의 품질 확장성을 활용한 전력 관리 방법 및 시스템
US10659784B2 (en) 2011-10-14 2020-05-19 Advanced Micro Devices, Inc. Region-based image compression

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090010341A1 (en) * 2007-07-02 2009-01-08 Feng Pan Peak signal to noise ratio weighting module, video encoding system and method for use therewith
US8743954B1 (en) * 2008-02-01 2014-06-03 Zenverge, Inc. Architecture for adjusting bit rate based on measured quality
CN101686383B (zh) * 2008-09-23 2013-05-01 Utc消防和保安美国有限公司 通过网络传输媒体的方法及系统
US8270476B2 (en) * 2008-12-31 2012-09-18 Advanced Micro Devices, Inc. Face detection system for video encoders
US20100309987A1 (en) * 2009-06-05 2010-12-09 Apple Inc. Image acquisition and encoding system
JP5484083B2 (ja) * 2010-01-14 2014-05-07 株式会社メガチップス 画像処理装置
US9106933B1 (en) 2010-05-18 2015-08-11 Google Inc. Apparatus and method for encoding video using different second-stage transform
EP2472868A1 (en) * 2010-12-29 2012-07-04 British Telecommunications Public Limited Company Video coding
US8813144B2 (en) * 2011-01-10 2014-08-19 Time Warner Cable Enterprises Llc Quality feedback mechanism for bandwidth allocation in a switched digital video system
US8838680B1 (en) 2011-02-08 2014-09-16 Google Inc. Buffer objects for web-based configurable pipeline media processing
JP5837621B2 (ja) * 2011-02-11 2015-12-24 インターデイジタル パテント ホールディングス インコーポレイテッド コンテンツの配信および受信の方法および装置
US8767817B1 (en) 2011-04-07 2014-07-01 Google Inc. Apparatus and method for coding using parameterized equation
US8804819B1 (en) 2011-04-19 2014-08-12 Google Inc. Method and apparatus for encoding video using data frequency
US8705620B1 (en) 2011-04-28 2014-04-22 Google Inc. Method and apparatus for encoding anchor frame by encoding features using layers
US8681866B1 (en) 2011-04-28 2014-03-25 Google Inc. Method and apparatus for encoding video by downsampling frame resolution
US9749638B1 (en) * 2011-04-28 2017-08-29 Google Inc. Method and apparatus for encoding video with dynamic quality improvement
US20120275511A1 (en) * 2011-04-29 2012-11-01 Google Inc. System and method for providing content aware video adaptation
US9106787B1 (en) 2011-05-09 2015-08-11 Google Inc. Apparatus and method for media transmission bandwidth control using bandwidth estimation
EP2536144A1 (en) * 2011-06-17 2012-12-19 Thomson Licensing Method and device of lossy compress-encoding an image
EP2541935A1 (en) * 2011-06-29 2013-01-02 British Telecommunications Public Limited Company Video coding with quality control and rate control
EP2547062B1 (en) 2011-07-14 2016-03-16 Nxp B.V. Media streaming with adaptation
US8924580B2 (en) * 2011-08-12 2014-12-30 Cisco Technology, Inc. Constant-quality rate-adaptive streaming
US20150163271A1 (en) * 2011-12-22 2015-06-11 Telefonaktiebolaget L M Ericsson (Publ) Apparatus and method for monitoring performance in a communications network
WO2013149021A1 (en) 2012-03-28 2013-10-03 Huawei Technologies Co., Ltd. Transmitter noise injection
US9185429B1 (en) 2012-04-30 2015-11-10 Google Inc. Video encoding and decoding using un-equal error protection
US9781447B1 (en) 2012-06-21 2017-10-03 Google Inc. Correlation based inter-plane prediction encoding and decoding
US9167268B1 (en) 2012-08-09 2015-10-20 Google Inc. Second-order orthogonal spatial intra prediction
US9380298B1 (en) 2012-08-10 2016-06-28 Google Inc. Object-based intra-prediction
US9344742B2 (en) 2012-08-10 2016-05-17 Google Inc. Transform-domain intra prediction
US9456383B2 (en) 2012-08-27 2016-09-27 Qualcomm Incorporated Device and method for adaptive rate multimedia communications on a wireless network
US9247448B2 (en) 2012-08-27 2016-01-26 Qualcomm Incorporated Device and method for adaptive rate multimedia communications on a wireless network
US9369732B2 (en) 2012-10-08 2016-06-14 Google Inc. Lossless intra-prediction video coding
US9699463B2 (en) * 2012-12-26 2017-07-04 Intel Corporation Constant quality video encoding
US9628790B1 (en) 2013-01-03 2017-04-18 Google Inc. Adaptive composite intra prediction for image and video compression
US11553211B2 (en) * 2013-01-03 2023-01-10 Disney Enterprises, Inc. Heuristic detection of potential digital media artifacts and defects in digital media assets
US9172740B1 (en) 2013-01-15 2015-10-27 Google Inc. Adjustable buffer remote access
US9311692B1 (en) 2013-01-25 2016-04-12 Google Inc. Scalable buffer remote access
US9225979B1 (en) 2013-01-30 2015-12-29 Google Inc. Remote access encoding
DE102013205542A1 (de) * 2013-03-28 2014-10-02 Robert Bosch Gmbh Vorrichtung und Verfahren zur Verarbeitung von Daten
US9247251B1 (en) 2013-07-26 2016-01-26 Google Inc. Right-edge extension for quad-tree intra-prediction
CN103400584B (zh) * 2013-07-31 2015-10-28 成都华迈通信技术有限公司 音频压缩性能最大化和流量低消耗的智能处理方法及装置
US20150095450A1 (en) * 2013-09-30 2015-04-02 Qualcomm Incorporated Utilizing multiple switchable adaptation sets for streaming media data
US10356405B2 (en) 2013-11-04 2019-07-16 Integrated Device Technology, Inc. Methods and apparatuses for multi-pass adaptive quantization
US20150181208A1 (en) * 2013-12-20 2015-06-25 Qualcomm Incorporated Thermal and power management with video coding
US20150208069A1 (en) * 2014-01-23 2015-07-23 Magnum Semiconductor, Inc. Methods and apparatuses for content-adaptive quantization parameter modulation to improve video quality in lossy video coding
JP5941939B2 (ja) * 2014-03-14 2016-06-29 ソフトバンク株式会社 動画配信装置、動画符号化装置及びプログラム
US9591316B2 (en) * 2014-03-27 2017-03-07 Intel IP Corporation Scalable video encoding rate adaptation based on perceived quality
DE102014104364A1 (de) * 2014-03-28 2015-10-01 Intel IP Corporation Eine Vorrichtung und ein Verfahren zum Bereitstellen eines Versorgungssteuerungssignals für eine Versorgungseinheit
US10419760B2 (en) * 2014-09-29 2019-09-17 Sony Interactive Entertainment Inc. Picture quality oriented rate control for low-latency streaming applications
JP6274067B2 (ja) * 2014-10-03 2018-02-07 ソニー株式会社 情報処理装置および情報処理方法
US20160353107A1 (en) * 2015-05-26 2016-12-01 Apple Inc. Adaptive quantization parameter modulation for eye sensitive areas
US10827185B2 (en) 2016-04-07 2020-11-03 Netflix, Inc. Techniques for robustly predicting perceptual video quality
EP3328083A1 (en) * 2016-11-23 2018-05-30 Thomson Licensing Method and apparatus for encoding a video applying adaptive quantisation
US10834406B2 (en) 2016-12-12 2020-11-10 Netflix, Inc. Device-consistent techniques for predicting absolute perceptual video quality
EP3560207A1 (en) 2016-12-21 2019-10-30 British Telecommunications Public Limited Company Managing congestion response during content delivery
EP3563575B1 (en) 2016-12-29 2024-04-10 British Telecommunications public limited company Transmission parameter control for segment delivery
US10355998B2 (en) * 2017-02-27 2019-07-16 Cisco Technology, Inc. Adaptive video over multicast
CN108574841B (zh) * 2017-03-07 2020-10-30 北京金山云网络技术有限公司 一种基于自适应量化参数的编码方法及装置
US20200068197A1 (en) * 2018-08-27 2020-02-27 Ati Technologies Ulc Benefit-based bitrate distribution for video encoding
US10778938B2 (en) * 2018-12-20 2020-09-15 Hulu, LLC Video chunk combination optimization
EP3742728B1 (en) 2019-05-24 2022-09-21 Axis AB A method and bitrate controller for controlling output bitrate of a video encoder
US11263103B2 (en) * 2020-07-31 2022-03-01 International Business Machines Corporation Efficient real-time data quality analysis
US11204851B1 (en) * 2020-07-31 2021-12-21 International Business Machines Corporation Real-time data quality analysis
CN112601074B (zh) * 2020-11-30 2022-10-11 北京金山云网络技术有限公司 评价编码器的方法、装置、计算机设备和存储介质
US11622116B2 (en) * 2021-03-31 2023-04-04 Hulu, LLC Cross-validation of video encoding
CN116800967A (zh) * 2022-03-15 2023-09-22 华为技术有限公司 一种图像编码方法、装置及设备

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5506844A (en) 1994-05-20 1996-04-09 Compression Labs, Inc. Method for configuring a statistical multiplexer to dynamically allocate communication channel bandwidth
US5684714A (en) * 1995-05-08 1997-11-04 Kabushiki Kaisha Toshiba Method and system for a user to manually alter the quality of a previously encoded video sequence
US6542546B1 (en) 2000-02-02 2003-04-01 Mitsubishi Electric Research Laboratories, Inc. Adaptable compressed bitstream transcoder
JP2001245303A (ja) * 2000-02-29 2001-09-07 Toshiba Corp 動画像符号化装置および動画像符号化方法
EP1520431B1 (en) * 2002-07-01 2018-12-26 E G Technology Inc. Efficient compression and transport of video over a network
US20040028139A1 (en) * 2002-08-06 2004-02-12 Andre Zaccarin Video encoding
AU2003274558A1 (en) * 2002-11-20 2004-06-15 Koninklijke Philips Electronics N.V. User interface system for presenting to a user the contents of an information carrier
US7352809B2 (en) 2003-02-21 2008-04-01 Polycom, Inc. System and method for optimal transmission of a multitude of video pictures to one or more destinations
US6895410B2 (en) * 2003-05-02 2005-05-17 Nokia Corporation Method and apparatus for providing a multimedia data stream
FR2857198B1 (fr) * 2003-07-03 2005-08-26 Canon Kk Optimisation de qualite de service dans la distribution de flux de donnees numeriques
FR2879387B1 (fr) * 2004-12-15 2007-04-27 Tdf Sa Procede de transmission a debit binaire variable a travers un canal de transmission.
AR052601A1 (es) * 2005-03-10 2007-03-21 Qualcomm Inc Clasificacion de contenido para procesamiento de multimedia
US7974193B2 (en) * 2005-04-08 2011-07-05 Qualcomm Incorporated Methods and systems for resizing multimedia content based on quality and rate information
US8265141B2 (en) * 2005-05-17 2012-09-11 Broadcom Corporation System and method for open loop spatial prediction in a video encoder
US8879857B2 (en) 2005-09-27 2014-11-04 Qualcomm Incorporated Redundant data encoding methods and device
US7555715B2 (en) * 2005-10-25 2009-06-30 Sonic Solutions Methods and systems for use in maintaining media data quality upon conversion to a different data format
US20070201388A1 (en) * 2006-01-31 2007-08-30 Qualcomm Incorporated Methods and systems for resizing multimedia content based on quality and rate information
US8634469B2 (en) * 2006-02-06 2014-01-21 Thomson Licensing Method and apparatus for reusing available motion information as a motion estimation predictor for video encoding
CN101513068B (zh) * 2006-09-28 2013-10-09 汤姆森许可贸易公司 一种冗余编码方法、产生编码的设备和方法及接收编码的方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10659784B2 (en) 2011-10-14 2020-05-19 Advanced Micro Devices, Inc. Region-based image compression
US11503295B2 (en) 2011-10-14 2022-11-15 Advanced Micro Devices, Inc. Region-based image compression and decompression
KR20160061561A (ko) * 2014-11-21 2016-06-01 인하대학교 산학협력단 계층적 비디오 코딩의 품질 확장성을 활용한 전력 관리 방법 및 시스템

Also Published As

Publication number Publication date
US20140177703A1 (en) 2014-06-26
CN101658035A (zh) 2010-02-24
JP2010525739A (ja) 2010-07-22
CN101658035B (zh) 2012-05-30
US20080260042A1 (en) 2008-10-23
JP5113244B2 (ja) 2013-01-09
WO2008133677A1 (en) 2008-11-06
EP2153657B1 (en) 2019-06-19
EP2153657A1 (en) 2010-02-17
KR101104654B1 (ko) 2012-01-13
US8582647B2 (en) 2013-11-12

Similar Documents

Publication Publication Date Title
KR101104654B1 (ko) 품질 제어된 인코딩을 위한 방법 및 시스템
Chen et al. Recent advances in rate control for video coding
JP5384694B2 (ja) 多層ビデオ設計のためのレート制御
EP3001885B1 (en) Region-of-interest aware video coding
US8792555B2 (en) Methods and systems for resizing multimedia content
CN108574841B (zh) 一种基于自适应量化参数的编码方法及装置
KR20070117660A (ko) 컨텐트 적응적 멀티미디어 처리
EP1745653A2 (en) Encoder with adaptive rate control for h.264
US20130251031A1 (en) Method for bit rate control within a scalable video coding system and system therefor
Zupancic et al. Two-pass rate control for improved quality of experience in UHDTV delivery
EP3132603A2 (en) System and method for flatness detection for display stream compression (dsc)
Zhang et al. An adaptive Lagrange multiplier determination method for rate-distortion optimisation in hybrid video codecs
Cai et al. Real-time constant objective quality video coding strategy in high efficiency video coding
Haseeb et al. Rate and distortion modeling for real-time MGS coding and adaptation
JP2017500830A (ja) マルチパス適応量子化のための方法及び装置
Sofke et al. Dynamic quality control for transform domain Wyner-Ziv video coding
Pai et al. MPEG-4 constant-quality constant-bit-rate control algorithms
Chen et al. Accurate rate control method in transcoding
KR20080077537A (ko) 저지연 영상 통신 시스템 및 방법
Chang et al. A two-layer characteristic-based rate control framework for low delay video transmission
Kuo et al. Efficient two-pass rate control scheme based on adjusting distribution of discrete cosine transform coefficients
Kang et al. SNR-based bit allocation in video quality smoothing
Liu et al. Frame layer rate control for dual frame motion compensation
KR20090005943A (ko) 저지연 영상 통신 시스템 및 방법
Pietrasiewicz et al. Rate Control for Multi-Sequence H. 264/AVC Compression

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
FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151230

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171228

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181227

Year of fee payment: 8