KR101149205B1 - 비디오 보간 또는 보외를 위한 기준 선택 - Google Patents

비디오 보간 또는 보외를 위한 기준 선택 Download PDF

Info

Publication number
KR101149205B1
KR101149205B1 KR1020107015390A KR20107015390A KR101149205B1 KR 101149205 B1 KR101149205 B1 KR 101149205B1 KR 1020107015390 A KR1020107015390 A KR 1020107015390A KR 20107015390 A KR20107015390 A KR 20107015390A KR 101149205 B1 KR101149205 B1 KR 101149205B1
Authority
KR
South Korea
Prior art keywords
frame
reference video
interpolation
extrapolation
video units
Prior art date
Application number
KR1020107015390A
Other languages
English (en)
Other versions
KR20100093113A (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 KR20100093113A publication Critical patent/KR20100093113A/ko
Application granted granted Critical
Publication of KR101149205B1 publication Critical patent/KR101149205B1/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/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/103Selection of coding mode or of prediction mode
    • H04N19/112Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0127Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter
    • H04N7/0132Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter the field or frame frequency of the incoming video signal being multiplied by a positive integer, e.g. for flicker reduction
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/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/156Availability of hardware or computational resources, e.g. encoding based on power-saving 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation

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)
  • Television Systems (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)

Abstract

본 명세서는 비디오 프레임과 같은 비디오 유니의 보간 또는 보외를 위해 사용될 기준 비디오 유닛들의 선택을 기술한다. 디코더는 품질 기준들에 기초하여 기준 프레임을 선택하기 위해 품질-중점 모드를 적용할 수 있다. 품질 기준들은 기준 프레임에 의해 생성될 것 같은 품질의 레벨을 나타낼 수 있다. 만약 어떠한 기준 프레임들도 품질 기준들을 만족시키지 못한다면, 보간 또는 보외가 디스에이블될 수 있다. 보간된 또는 보외된 프레임의 디스플레이는 품질 분석에 기초하여 선택적으로 인에이블될 수 있다. 디코더는 전력 및 품질 고려사항들에 기초하여 소정의 프레임들에 대해 프레임 보간 또는 보외를 인에이블 또는 디스에이블하기 위해 자원-중점 프레임 보간 모드를 적용할 수 있다. 하나의 모드에서, 프레임 보간은 기준 프레임들이 만족스러운 품질을 생성할 것 같지 않을 때 전력을 보존하기 위해 디스에이블될 수 있다. 또 다른 모드에서, 임계치는 디코더의 전력 절약 요구조건들의 함수로써 조정가능할 수 있다.

Description

비디오 보간 또는 보외를 위한 기준 선택{REFERENCE SELECTION FOR VIDEO INTERPOLATION OR EXTRAPOLATION}
본원은 2007년 12월 10일자로 출원된 미국 가출원 제61/012,703호에 대한 우선권을 주장하며, 상기 가출원의 전체 내용은 본 명세서에 참조에 의해 편입된다.
본 개시물은 디지털 비디오 코딩에 관한 것이며, 보다 상세하게는 비디오 프레임 보간(interpolation) 또는 보외(extrapolation)에 대한 기술들에 관한 것이다.
다수의 비디오 인코딩 기술들이 디지털 비디오 시퀀스들을 인코딩하기 위해 개발되어 왔다. 예를 들어, 동영상 전문가 그룹(Moving Picture Experts Group; MPEG)은 MPEG-1, MPEG-2 및 MPEG-4를 포함한 여러 기술들을 개발하여 왔다. 다른 예들은 국제 통신 연합(International Telecommunication Union; ITU)-T H.263 표준, 및 ITU-T H.264 표준 및 그것의 대응물, ISO/IEC MPEG-4, 파트 10, 즉, AVC(Advanced Video Coding)를 포함한다. 이러한 비디오 인코딩 표준들은 데이터를 압축된 방식으로 인코딩함으로써 비디오 시퀀스들의 효율적인 송신을 지원한다. 압축은 송신되어야 하는 데이터의 전체 양을 줄인다.
비디오 압축은 비디오 시퀀스들 고유의 리던던시(redundancy)를 줄이기 위해 공간적 그리고/또는 시간적 예측을 수반할 수 있다. 인트라-코딩(intra-coding)은 동일한 비디오 프레임 내의 비디오 블록들 간의 공간적 리던던시를 줄이기 위해 공간적 예측을 사용한다. 인터-코딩(inter-coding)은 연속하는 비디오 프레임들에서의 비디오 블록들 간의 시간적 리던던시를 줄이기 위해 시간적 예측을 사용한다. 인터-코딩에 대하여, 비디오 인코더는 하나 이상의 기준 프레임들에서의 대응 예측 비디오 블록들에 대한 비디오 블록들의 변위를 나타내는 모션 벡터(motion vector)들을 생성하기 위해 모션 추정을 수행한다. 비디오 인코더는 기준 프레임으로부터 예측 비디오 블록을 생성하기 위해 모션 보상을 수행하고, 코딩되고 있는 원래의 비디오 블록으로부터 예측 비디오 블록을 뺌(subtract)으로써 잔여 비디오 블록을 형성한다.
낮은 대역폭 요구조건들을 만족시키기 위하여, 소정의 비디오 애플리케이션들은 감소된 프레임 레이트로 비디오를 인코딩하거나/인코딩하고 소정의 프레임들의 인코딩을 스킵(skip)할 수 있다. 불행히도, 낮은 프레임 레이트 비디오는 모션 떨림(motion jerkiness)의 형태로 시간적인 아티팩트(artifact)를 생성할 수 있다. 프레임 보간 또는 보외는 인코더에 의해 스킵되는 프레임들, 또는 인코더에 의해 생성된 기본 프레임 레이트를 초과하는 프레임들의 컨텐트를 근사화하기 위해 디코더 측에서 채택될 수 있다. 프레임 보간 또는 보외는 일반적으로 프레임 대체(frame substitution)로서 지칭될 수 있다. 프레임 대체는 사실상 더 부드러운 모션의 인식을 제공하기 위해 실제 프레임 레이트를 상향변환(upconvert)하기 위해 사용될 수 있다. 프레임 대체는 종종 프레임 레이트 상향변환(frame rate up conversion; FRUC)로서 지칭되는 프로세스를 지원하기 위해 사용될 수 있다. 비록 FRUC는 프레임들을 대체함으로써, 예를 들어, 보간 또는 보외를 사용함으로써, 시간적인 품질을 향상시킬 수 있지만, 소정 프레임들의 대체는 시각적인 품질을 손상시키는 바람직하지 못한 공간적 아티팩트들을 도입할 수 있다.
본 개시물은 예를 들어, 보간 또는 보외에 의해 비디오 유닛의 대체를 위해 사용될 하나 이상의 기준 비디오 유닛들을 선택하기 위한 기술들에 대한 것이다. 비디오 유닛들은 비디오 프레임들, 슬라이스들, 블록들 또는 다른 유닛들일 수 있다. 비디오 코더는 하나 이상의 품질 기준들의 분석에 기초하여 기준 비디오 유닛을 선택하기 위해 품질-중점 비디오 모드(quality-focused video mode)를 적용할 수 있다. 품질 기준은 예를 들어, 선택된 기준 비디오 유닛에 의해 생성될 것 같은 보간 또는 보외 품질의 레벨을 나타낼 수 있다. 품질 기준들은 공간적인 그리고/또는 시간적인 시각적 품질을 포함할 수 있다. 기준 비디오 유닛들 중 어느 것도 적용가능한 품질 기준들을 만족시키지 못한다면, 부가될 특정 비디오 유닛에 대하여 대체가 디스에이블(disable)될 수 있다.
비디오 코더는 비디오 시퀀스의 모션 레벨에 기초하여 소정의 비디오 유닛들에 대한 대체를 선택적으로 인에이블(enable) 또는 디스에이블하기 위해 자원-중점 비디오 모드를 적용할 수 있다. 하나 이상의 기준 비디오 유닛들이 일반적으로 정적이라면, 비디오 디코더 또는 또 다른 디바이스는 대체를 디스에이블할 수 있고, 그에 의하여 전력, 컴퓨팅 및/또는 메모리 자원들과 같은 자원들을 아낄 수 있다. 모션 레벨은 임계치와 비교될 수 있고, 상기 임계치는 고정되거나, 이용가능한 자원들의 레벨의 함수로써 조정가능할 수 있다. 만약 기준 비디오 유닛들이 상당한 모션을 포함한다면, 비디오 디코더 또는 또 다른 디바이스는 예를 들어, 기준 비디오 유닛들의 선택을 위한 품질 기준들을 사용하여 대체를 인에이블할 수 있다.
영상통화(video telephony)와 같은 지연-민감 비디오 애플리케이션들에 대하여, 비디오 코더 또는 또 다른 디바이스는 프로세싱 및 프리젠테이션 지연을 감소시키도록 비디오 기준 비디오 유닛들을 선택하게 구성될 수 있다. 예를 들어, 미래의 기준 비디오 유닛들을 선택할 때, 비디오 코더는 부가될 비디오 유닛으로부터의 거리(distance)에 기초하여 기준 비디오 유닛들을 선택하도록 구성될 수 있다. 비디오 코더는 또한 보간되거나 보외된 비디오 유닛과 연관된 하나 이상의 품질 특성들을 분석하고, 그러한 분석에 기초하여 비디오 유닛의 디스플레이를 선택적으로 인에이블 또는 디스에이블하도록 구성될 수 있고, 그에 의하여 소정의 경우들에서 부가적인 비디오 유닛을 디스플레이하기 위해 필요한 자원들을 아낀다.
하나의 양상에서, 본 개시물은 하나 이상의 후보 기준 비디오 유닛들의 적어도 하나의 특성을 분석하는 단계, 및 상기 분석에 적어도 부분적으로 기초하여 상기 후보 기준 비디오 유닛들 중 하나 이상을 부가적인 비디오 유닛의 보간 또는 보외를 위한 기준 비디오 유닛으로서 선택하는 단계를 포함하는 방법을 제공한다.
또 다른 양상에서, 본 개시물은 하나 이상의 후보 기준 비디오 유닛들의 적어도 하나의 특성을 분석하는 분석 유닛, 및 상기 분석에 적어도 부분적으로 기초하여 상기 후보 기준 비디오 유닛들 중 하나 이상을 부가적인 비디오 유닛의 보간 또는 보외를 위한 기준 비디오 유닛으로서 선택하는 선택 유닛을 포함하는 디바이스를 제공한다.
부가적인 양상에서, 본 개시물은 부가적인 비디오 유닛의 보간 또는 보외를 위한 하나 이상의 후보 기준 비디오 유닛들의 모션 레벨을 분석하는 단계, 상기 부가적인 비디오 유닛의 보간 또는 보외를 위한 자원 레벨을 결정하는 단계, 및 상기 모션 레벨 및 상기 자원 레벨에 기초하여 상기 부가적인 비디오 유닛의 보간 또는 보외를 선택적으로 디스에이블하는 단계를 포함하는 방법을 제공한다.
추가 양상에서, 본 개시물은 부가적인 비디오 유닛의 보간 또는 보외를 위한 하나 이상의 후보 기준 비디오 유닛들의 모션 레벨을 분석하도록 구성된 모션 분석기, 상기 부가적인 비디오 유닛의 보간 또는 보외를 위한 자원 레벨을 결정하도록 구성된 자원 모니터, 및 상기 모션 레벨 및 상기 자원 레벨에 기초하여 상기 부가적인 비디오 유닛의 보간 또는 보외를 선택적으로 디스에이블하는 선택 유닛을 포함하는 디바이스를 제공한다.
또 다른 양상에서, 본 개시물은 프레임 레이트 상향변환 프로세스에 의해 생성된 보간 또는 보외된 비디오 유닛과 연관된 하나 이상의 특성들을 분석하는 분석 유닛, 및 상기 분석에 기초하여 디스플레이 상의 보간 또는 보외된 비디오 유닛의 프리젠테이션을 선택적으로 디스에이블하는 제어 유닛을 포함하는 비디오 디코딩 디바이스를 제공한다.
부가적인 양상에서, 본 개시물은 프레임 레이트 상향변환 프로세스에 의해 생성된 보간 또는 보외된 비디오 유닛과 연관된 하나 이상의 특성들을 분석하는 단계, 및 상기 분석에 기초하여 디스플레이 상의 보간 또는 보외된 비디오 유닛의 프리젠테이션을 선택적으로 디스에이블하는 단계를 포함하는 방법을 제공한다.
본 명세서에 기재된 기술들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합으로 구현될 수 있다. 만약 소프트웨어로 구현된다면, 소프트웨어는 하나 이상의 프로세서들에 의해 실행될 수 있다. 소프트웨어는 처음에 컴퓨터 판독가능 매체에 저장되어, 실행을 위해 프로세서에 의해 로딩될 수 있다. 따라서, 본 개시물은 하나 이상의 프로세서들로 하여금 본 개시물에 기재된 바와 같은 기술들을 수행하게 하는 명령들을 포함하는 컴퓨터-판독가능 매체를 의도한다.
예를 들어, 일부 양상들에서, 본 개시물은 하나 이상의 프로세서들로 하여금, 하나 이상의 후보 기준 비디오 유닛들의 적어도 하나의 특성을 분석하고 상기 분석에 적어도 부분적으로 기초하여 상기 후보 기준 비디오 유닛들 중 하나 이상을 부가적인 비디오 유닛의 보간 또는 보외를 위한 기준 비디오 유닛으로서 선택하게 하는 명령들을 포함하는 컴퓨터-판독가능 매체를 제공한다.
다른 양상들에서, 본 개시물은 하나 이상의 프로세서들로 하여금, 부가적인 비디오 유닛의 보간 또는 보외를 위한 하나 이상의 후보 기준 비디오 유닛들의 모션 레벨을 분석하고 상기 부가적인 비디오 유닛의 보간 또는 보외를 위한 자원 레벨을 결정하며 상기 모션 레벨 및 상기 자원 레벨에 기초하여 상기 부가적인 비디오 유닛의 보간 또는 보외를 선택적으로 디스에이블하게 하는 명령들을 포함하는 컴퓨터-판독가능 매체를 제공한다.
또 다른 양상에서, 본 개시물은 하나 이상의 프로세서들로 하여금, 프레임 레이트 상향변환 프로세스에 의해 생성된 보간 또는 보외된 비디오 유닛과 연관된 하나 이상의 특성들을 분석하고 상기 분석에 기초하여 디스플레이 상의 보간 또는 보외된 비디오 유닛의 프리젠테이션을 선택적으로 인에이블 및 디스에이블하게 하는 명령들을 포함하는 컴퓨터-판독가능 매체를 제공한다.
개시된 기술들의 하나 이상의 양상들에 대한 세부사항들은 첨부된 도면들 및이하의 설명에서 기술된다. 다른 특징들, 목적들, 및 이점들이 상세한 설명, 도면들 및 청구항들로부터 자명할 것이다.
도 1은 비디오 유닛 대체에 사용하기 위한 기준 비디오 유닛들을 선택하도록 구성된 비디오 인코딩 및 디코딩 시스템을 예시하는 블록 다이어그램이다.
도 2a는 비디오 디코더에서의 비디오 유닛의 보간을 위한 기술의 예시를 도시하는 다이어그램이다.
도 2b는 선택된 기준 비디오 유닛들을 사용하는 비디오 유닛의 보간을 예시하는 다이어그램이다.
도 2c는 비디오 디코더에서의 비디오 유닛의 보외를 위한 기술의 예시를 도시하는 다이어그램이다.
도 2d는 선택된 기준 비디오 유닛들을 사용하는 비디오 유닛의 보외를 예시하는 다이어그램이다.
도 3은 프레임 대체에 사용하기 위한 기준 프레임들을 선택하도록 구성된 비디오 디코더의 예를 도시하는 블록 다이어그램이다.
도 4는 비디오 유닛 대체에 사용하기 위한 기준 프레임들을 선택하도록 구성된 비디오 디코더의 또 다른 예를 도시하는 블록 다이어그램이다.
도 5는 도 3 또는 도 4에 도시된 비디오 디코더와 사용될 수 있는 분석 유닛을 도시하는 블록 다이어그램이다.
도 6은 비디오 디코더가 비디오 유닛 대체를 위한 기준 비디오 유닛들을 선택하는 예시적인 기술을 도시하는 흐름도이다.
도 7은 기준 비디오 유닛 선택을 위한 예시적인 기술을 보다 상세히 도시하는 흐름도이다.
도 8은 비디오 유닛 대체를 위한 기준 비디오 유닛 선택을 지원하기 위한 기준 비디오 유닛들의 품질 분석을 위한 예시적인 기술을 도시하는 흐름도이다.
도 9는 비디오 유닛 대체를 위한 기준 비디오 유닛 선택을 지원하기 위한 기준 비디오 유닛들의 품질 스코어들을 생성하기 위한 예시적인 기술을 도시하는 흐름도이다.
도 10은 자원-중점 모드에서의 모션 분석에 기초한 선택적인 대체를 위한 예시적인 기술을 도시하는 흐름도이다.
도 11은 자원-중점 모드에서의 모션 분석에 기초한 선택적인 대체를 위한 또 다른 예시적인 기술을 도시하는 흐름도이다.
도 12는 대체 프레임들의 디스플레이를 선택적으로 인에이블 또는 디스에이블하도록 구성된 비디오 디코더의 예를 도시하는 블록 다이어그램이다.
도 13은 품질 분석에 기초하여 대체 프레임들의 선택적인 디스플레이를 위한 예시적인 기술을 도시하는 흐름도이다.
도 14a는 도 12에 도시된 바와 같은 비디오 디코더와 함께 사용될 수 있는 분석 유닛을 도시하는 블록 다이어그램이다.
도 14b는 도 12에 도시된 바와 같은 비디오 디코더와 함께 사용될 수 있는 또 다른 분석 유닛을 도시하는 블록 다이어그램이다.
도 15는 대체 프레임들의 선택적인 디스플레이를 지원하기 위해 품질 스코어들을 생성하기 위한 예시적인 기술을 도시하는 흐름도이다.
도 16은 비디오 유닛들이 지연-민감 비디오 애플리케이션을 지원할 때 비디오 유닛 대체를 위한 기준 비디오 유닛 선택을 지원하기 위한 기준 비디오 유닛들의 품질 분석을 위한 예시적인 기술을 도시하는 흐름도이다.
도 1은 비디오 유닛 대체에의 사용을 위해 기준 비디오 유닛들을 선택하도록 구성된 비디오 인코딩 및 디코딩 시스템(10)을 예시하는 블록 다이어그램이다. 여러 양상들에서, 대체된 비디오 유닛들 및 선택된 기준 비디오 유닛들은 예를 들어, 비디오 프레임들, 비디오 슬라이스들 또는 비디오 블록들일 수 있다. 도 1에 도시된 바와 같이, 시스템(10)은 비디오 인코더(12) 및 비디오 디코더(14)를 포함할 수 있고, 비디오 인코더(12) 및 비디오 디코더(14) 각각은 일반적으로 비디오 코더로서 지칭될 수 있다. 도 1의 예에서, 비디오 인코더(12)는 인코딩된 비디오 프레임들(18)을 생성하기 위해 입력 비디오 프레임들(16)을 인코딩한다. 비디오 인코더(12)는 통신 채널(19)을 통해 비디오 디코더(14)로 인코딩된 비디오 프레임들(18)을 송신할 수 있다.
비록 본 명세서에 기재된 기술들은 프레임들, 슬라이스들, 블록들 또는 서브-블록들과 같은 여러 다양한 비디오 유닛들에 적용가능할 수 있지만, 본 개시물은 본 개시물에 광범위하게 기재된 바와 같은 상기 기술들의 양상들의 제한 없이 일반적으로 예시의 목적으로 비디오 프레임들에 대한 기술들의 응용을 기술할 것이다.
인코더(12)와 디코더(14) 사이에서 송신되어야 하는 데이터의 양을 감소시키기 위하여, 그리고 그에 의해 채널(19)에 대한 감소된 대역폭 요구조건들에 충실하기 위하여, 비디오 인코더(12)는 소스 비디오 유닛 코딩 레이트 미만의 기본 비디오 유닛 코딩 레이트로 동작할 수 있다. 예를 들어, 비디오 인코더(12)는 예를 들어, 초 당 15, 30, 60 프레임들(fps)과 같은 감소된 비디오 프레임 레이트로 동작할 수 있다.
대안적으로, 또는 부가적으로, 일부 경우들에서, 비디오 인코더(12)는 주어진 비디오 프레임 레이트로 동작할 수 있으나, 선택적으로 인코더(12)로 하여금 소정의 비디오 유닛들의 인코딩을 스킵하게 하는 스킵 유닛(20)을 포함하거나 상기 스킵 유닛(20)을 선택적으로 활성화시킬 수 있다. 예를 들어, 비디오 유닛 스킵 유닛(20)은 인코더(12)로 하여금 소정의 프레임들의 인코딩을 스킵하게 하도록 구성될 수 있고, 그에 의해 예를 들어, 소스 비디오 프레임 레이트 대비 비디오 인코더(12)의 유효 프레임 레이트를 감소시킨다. 도 1에서, 스킵된 비디오 프레임은 인코딩된 프레임들(18)에서의 음영 있는 프레임에 의해 예시된다.
스킵된 프레임들 또는 상향변환될 수 있는 코딩 레이트의 경우에, 실제 비디오 프레임 레이트를 증가된 비디오 프레임 레이트로 변환하기 위해 디코더 측에서 예를 들어, 보간 또는 보외에 의해 부가적인 비디오 유닛들을 대용하는 것이 바람직할 수 있다. 그러한 프로세스는 때때로 프레임 레이트 상향 변환(FRUC)으로서 지칭된다. 사실상, 디코더(14)는 비디오 인코더(12)에 의해 생성된 실제 프레임 레이트를 상향변환된 프레임 레이트로 증가시킬 수 있다.
일 예로서, 만약 프레임 스킵이 있든 없든 인코더(12)에 의해 생성된 실제 프레임 레이트가 30 fps이면, 디코더(14)는 유효 프레임 레이트를 30 fps로부터 60 fps 또는 120 fps로 증가시키기 위해 예를 들어, 보간 또는 보외에 의해 부가적인 프레임들로 대체하도록 구성될 수 있다. 사실상, 부가적인 프레임들은 스킵된 프레임들 또는 비디오 인코더(12)의 기본 프레임 코딩 레이트가 더 큰 경우 포함되었을 수 있는 프레임들을 대체한다. 전술한 바와 같이, 비디오 인코더(12)에 의해 생성된 프레임 레이트는 소스 비디오 레이트 미만의 기본 프레임 레이트 및/또는 예를 들어, 선택적인 스킵 유닛(12)에 의한 소정 프레임들의 선택적인 스킵으로 인하여 목적하는 것 미만일 수 있다.
전술한 바와 같이, 소정의 프레임들을 스킵하는 것 또는 초당 더 적은 수의 프레임들을 코딩하는 것에 의하여, 비디오 인코더(12)는 감소된 프레임 레이트로 비디오를 인코딩할 수 있다. 그러나, 낮은 프레임 레이트 비디오는 모션 떨림의 형태로 시간적인(temporal) 아티팩트들을 생성할 수 있다. 프레임 대체는 스킵된 프레임들 또는 다른 배제된 프레임들의 컨텐트를 근사화하고 더 부드러운 모션의 인식을 제공하기 위해 사실상 실제 프레임 레이트를 상향변환하기 위하여 디코더(14)에 의해 채택될 수 있다. 예를 들어, 비디오 디코더(14)는 디코딩된 비디오의 유효 프레임 레이트를 증가시키기 위하여 적어도 소정의 부가적인 비디오 프레임들을 보간 또는 보외하는 프레임 레이트 상향 변환(FRUC) 유닛(22)을 포함할 수 있다.
다시, 비록 FRUC 유닛(22)은 프레임들에 대한 유효 코딩 레이트의 상향변환에 대하여 기술되었지만, 본 명세서에 기재된 기술들은 슬라이스들, 블록들 또는 서브-블록들과 같은 다른 비디오 유닛들에도 적용될 수 있다. 비디오 디코더(14)는 수신된 프레임들(24)을 디코딩하고, 출력 비디오 프레임들(26)을 생성하기 위하여 FRUC 유닛(22)을 통해 부가적인 비디오 프레임들을 근사화시킬 수 있다. 디코딩된 출력 비디오 프레임들(26)은 디스플레이 디바이스를 구동하기 위해 사용된다. 도 1에서, 스킵된 프레임의 예는 수신된 비디오 프레임들(24)에서 음영이 있는 비디오 프레임에 의해 도시된다.
도 1의 예에서, FRUC 유닛(22)은 비디오 디코더(14) 내에 도시된다. 다른 구현예들에서, FRUC 유닛(22)은 비디오 포스트-프로세싱 모듈(video post-processing module)의 일부를 형성할 수 있다. 비디오 포스트-프로세싱 모듈은 비디오 디코더(14)의 출력을 프로세싱할 수 있고, FRUC 동작뿐만 아니라, 스무딩(smoothing), 샤프닝(sharpening), 휘도 제어, 및/또는 콘트라스트 개선과 같은 여러 다양한 프로세싱 동작들을 수행할 수 있다. 또 다른 대안예로서, FRUC 유닛(22)은 예를 들어, 이동 멀티미디어 디바이스에 대한 비디오 디스플레이 프로세서 또는 이동 디스플레이 프로세서(mobile display processor; MDP) 디바이스의 일부를 형성할 수 있다. 따라서, 비디오 디코더(14) 내의 FRUC 유닛(22)의 구현이 예시를 목적으로 도 1 및 다른 도면들에 도시되고, 본 명세서에 광범위하게 기재된 기술들을 제한하는 것으로 고려되지 않아야 한다.
모션-보상된(motion-compensated; MC) 비디오 프레임 보간(video frame interpolation; VFI)은 디코더 측에서 FRUC와 같은 응용예들에서 비디오의 시간적 지각 품질을 향상시키기 위해 사용된 기술의 일 예이다. 다른 보간 기술들 및 보외 기술들이 FRUC 프로세스를 지원하기 위해 부가적인 프레임들을 근사화하도록 적용될 수 있다. 비록 FRUC 기술들은 스킵된 프레임들을 근사화시키거나 또는 비디오 인코더(12)의 기본 프레임 레이트를 넘어선 부가적인 프레임들을 생성함으로써 시간적 품질을 향상시킬 수 있지만, 소정 프레임들의 보간 또는 보외는 시각적인 품질을 훼손하는 바람직스럽지 못한 공간적 아티팩트들을 도입할 수 있다.
예를 들어, 대체된 비디오 프레임의 시각적 품질은 보장될 수 없고 보간 또는 보외를 수행하기 위해 사용된 특정 기준 프레임 또는 프레임들에 매우 종속될 수 있다. 부가하여, VFE 방법들은 매우 복잡할 수 있고 다량의 전력 및 다른 자원들을 소비할 수 있으며, 이것은 제한된 전력, 컴퓨팅 및/또는 메모리 자원들을 가진 이동 디바이스들과 같은 소정 디바이스들에서의 비디오 애플리케이션들에 대한 VFI의 사용을 방해할 수 있다. 다른 프레임 대체 기술들은 유사한 품질 및 자원 이슈들을 제시할 수 있다.
FRUC 유닛(22)은 비디오 디코더(14)에 의해 수신된 하나 이상의 기준 비디오 프레임들과 연관된 적어도 하나의 특성을 분석하고, 그러한 분석에 기초하여 비디오 디코더에 의한 비디오 프레임의 대체에 사용하기 위한 기준 비디오 프레임들 중 하나 이상을 선택하도록 구성될 수 있다. 기준 비디오 프레임들은 시간적으로 대체될 프레임 이전 또는 이후에 존재하는 수신된 프레임들(24)로부터 선택될 수 있다. 즉, FRUC 유닛(22)은 대체될 부가적인 프레임을 근사화함에 있어 사용하기 위한 하나 이상의 이전의 또는 미래의 프레임들(24)을 선택할 수 있다.
이전의 비디오 프레임은 대체될 프레임 바로 앞에 선행하는 프레임, 또는 대체될 프레임에 근접한 하나 이상의 선행 프레임들을 포함할 수 있다. 미래의 프레임은 대체될 프레임 바로 다음의 프레임 또는 대체될 프레임에 근접한 하나 이상의 프레임들을 포함할 수 있다. 보간에 의한 대체의 경우에, 하나 이상의 이전의 프레임들 및 하나 이상의 미래의 프레임들은 부가적인 중간 프레임을 보간하기 위해 사용될 수 있다. 보외에 의한 대체의 경우에, 하나 이상의 이전의 프레임들 또는 하나 이상의 미래의 프레임들은 부가적인 이전의 또는 미래의 프레임의 보외를 위해 사용될 수 있다.
일부 양상들에서, FRUC 유닛(22)은 부가적인 비디오 프레임의 대체에 사용하기 위한 하나 이상의 기준 프레임들을 선택하기 위해 기준 비디오 프레임들의 품질을 분석할 수 있다. 이러한 방식으로, FRUC 유닛(22)은 예를 들어, 보간 또는 보외에 의한 비디오 프레임 대체를 위한 기준 프레임들로서 어떤 프레임들을 사용할지 결정한다. 이러한 경우에, FRUC 유닛(22)은 출력 비디오 프레임들(26)의 공간적-시간적 비디오 품질을 향상시키도록 기준 비디오 프레임들을 선택할 수 있다. 다른 양상들에서, FRUC 유닛(22)은 기준 프레임들의 품질 및 비디오 디코더(14)가 존재하는 디바이스의 자원 제약들 양자 모두를 분석할 수 있다. 이러한 경우에, FRUC 유닛(22)은 출력 비디오 프레임들(26)의 공간적-시간적 비디오 품질을 향상시킬 수 있는 반면, 밸런싱은 전력 소비 감소, 컴퓨팅 자원들의 보존 및/또는 메모리 자원들의 보전에 관심이 있다. FRUC 유닛(22)은 보간 또는 보외된 프레임 품질 및 비디오 시퀀스의 시간적 품질을 향상시킬 수 있다. 일반적으로, 컴퓨팅 및 메모리 자원들의 소모는 증가된 전력 소모, 및 일부 경우들에서의 대기시간(latency)에 기여할 수 있다.
부가적으로, 일부 양상들에서, FRUC 유닛(22)은 종단 간(end-to-end) 프로세싱 및/또는 프리젠테이션 지연들을 감소시키는 쪽으로의 성향(bias)을 가진 기준 비디오 프레임들을 선택하도록 구성될 수 있다. 그러한 지연들은 지연-민감성일 수 있는 영상통화와 같은 소정의 실시간 또는 준 실시간(near real-time) 애플리케이션들에서 특히 바람직스럽지 않을 수 있다. 예를 들어, 미래의 기준 비디오 프레임들이 대체된 프레임을 근사화하기 위해 사용될 때, FRUC 유닛(22)은 근사화될 프레임에 시간적으로 비교적 근접한 미래의 기준 비디오 프레임들의 선택을 장려하도록 구성될 수 있다. 대안적으로, FRUC 유닛(22)은 상기 지연-민감 애플리케이션들에 대하여 비디오 프레임 대체를 디스에이블할 수 있다.
일 예로서, 영상통화 애플리케이션에서, 미래의 프레임들에 기초하여 프레임 보외를 선택하는 것이 덜 바람직할 수 있거나, 비디오 프레임 보간의 경우에, 종단 간 지연을 감소시키기 위하여 더 미래에 있는 미래의 프레임들보다는 오히려 더 가까운 미래의 프레임들을 선택하는 것이 바람직할 수 있다. 특히, 더 미래에 존재하는 미래의 기준 프레임들에 대한 의존은 그러한 미래의 프레임들이 디코딩되는 것을 기다려야 할 필요성으로 인해 지연들을 야기할 수 있다. 프레임이 더 미래에 존재할수록, 대기가 더 길어질 수 있고, 이것은 영상통화 프리젠테이션에 있어 당황스러운 지연들을 야기할 수 있다.
일부 양상들에서, 비디오 디코더(14)는 하나 이상의 기준 프레임 품질 기준들의 분석에 기초하여 기준 프레임을 선택하기 위해 제 1 동작 모드로서 품질-중점 프레임 대체 모드를 제공할 수 있다. 부가하여, 비디오 디코더(14)는 자원 및 품질 고려들의 조합에 기초하여 소정의 프레임들에 대한 대체를 선택적으로 인에이블 또는 디스에이블하기 위해 제 2 동작 모드로서 자원-중점 프레임 대체를 제공할 수 있다. 일부 양상들에서, 품질-중점 그리고 자원-중점 모드들은 품질-최적화된 그리고 전력-최적화된 모드들로서 지칭될 수 있다. 그리하여, 일부 양상들에서, 비디오 디코더(14)는 어떤 프레임들을 비디오 프레임 보간 또는 보외를 위한 기준 프레임들로서 사용할지 결정할 수 있고, 또한 전력을 절약하고 보간된 프레임 품질 및 비디오의 시간적인 품질을 향상시키기 위하여 어떤 프레임들을 보간 또는 보외할지 결정할 수 있다. 대안적으로, 또는 부가적으로, 비디오 디코더(14)는 품질 기준들에 기초하여, 보간 또는 보외가 이미 수행된 이후에조차, 비디오 버퍼로부터 디스플레이로의 대체 프레임들의 송신을 디스에이블하도록 구성될 수 있다.
일부 양상들에서, 이러한 자원-중점 모드는 앞서 논의된 바와 같이, 전력-최적화된 모드로 간주될 수 있다. 예를 들어, 비디오 디코더(14)는 시각적 품질 대 전력 보존 및/또는 컴퓨팅 부하를 밸런싱하도록 구성될 수 있다. 소정의 경우들에서, 비디오 디코더(14)는 예를 들어, 대체될 프레임에 대한 FRUC 동작이 적용되는 시점에서 비디오 디코더에 이용가능한 자원들에 따라, 품질-중점 모드와 자원-중점 모드 사이에서 선택적으로 전환가능할 수 있다.
품질-중점 모드 및/또는 자원-중점 모드에서, 품질 기준들은 예를 들어, 선택된 기준 프레임 또는 프레임들을 사용하여 생성될 것 같은 대체된 프레임 품질의 레벨을 나타내는 하나 이상의 특성들을 포함할 수 있다. 즉, 상기 특성들은 기준 프레임을 사용하여 보간되거나 보외된 프레임의 그럴 법한(likely) 품질의 표시로서 선택될 수 있다. 만약 기준 프레임들 중 어느 것도 품질 기준들을 만족시키지 못한다면, 비디오 디코더(14)는 특정 프레임에 대하여 프레임 대체를 디스에이블할 수 있다. 그리하여, 품질-중점 모드에서, 비디오 디코더(14)는 기준 프레임들 중 어느 것도 예를 들어, 임계치를 초과하여 만족스러운 보간 또는 보외 품질을 생성할 것 같지 않을 때 전력을 보존하기 위하여 프레임 보간 또는 보외를 디스에이블할 수 있다.
일부 양상들에서, 품질-중점 기준들은 대체 프레임이 실제로 디코더(14)에 의해 생성되기 이전에 또는 이후에 적용될 수 있다. 예를 들어, 품질 분석은 프레임 보간 또는 보외 이후에 적용될 수 있고, 그러한 경우에 대체 프레임은 결과에 기초하여 디스플레이 디바이스에 선택적으로 적용될 수 있다. 만약 보간된 또는 보외된 프레임의 품질이 임계 품질 레벨을 만족시키지 못한다면, FRUC 유닛(22)은 디스플레이 디바이스를 구동하기 위해 보간된 또는 보외된 프레임을 출력 비디오 프레임 버퍼로부터 전송하기보다 오히려 그러한 보간된 또는 보외된 프레임을 폐기할 수 있다.
이러한 경우에, 비록 보간 또는 보외가 이미 수행되었을지라도, 품질 레벨이 상기 프레임을 디스플레이하기 위해 요구된 부가적인 자원들을 정당화하지 못한다면, 프레임을 폐기하는 것은 여전히 유리할 수 있다. 상당한 양의 전력이 디스플레이를 구동하기 위해 프레임을 비디오 버퍼로부터 디스플레이 버퍼로 전송함에 있어 소비될 수 있다. 따라서, 대체 프레임을 폐기하는 것은 보간 또는 보외가 이미 수행된 이후에조차, 그렇지 않으면 비디오 버퍼와 디스플레이 간의 비디오 데이터 트래픽으로부터 야기되었을 전력 소모를 절약할 수 있다.
자원-중점 모드에서, 만약 하나 이상의 후보 기준 프레임들의 모션 레벨이 임계치 미만이라면, 비디오 디코더(14)는 프레임 대체를 디스에이블할 수 있다. 이러한 경우에, 비디오 장면이 일반적으로 정적일 때, 보간된 또는 보외된 프레임과 반복된 프레임 간의 차이는 무시할 수 있다. 따라서, 보간 또는 보외 대신에 프레임 반복을 사용하는 것이 전력과 같은 자원들을 보존할 수 있다. 모션 레벨 임계치는 고정되거나 비디오 디코더의 자원 레벨 또는 자원 절약 요구조건들의 함수로써 조정가능할 수 있다. 어느 경우에서든, 품질-중점 모드가 활성화되든 아니면 자원-중점 모드가 활성화되든, 만약 프레임 대체가 인에이블된다면, 하나 이상의 품질 기준들이 기준 프레임들을 선택하기 위해 사용될 수 있다.
후보 기준 프레임을 분석하기 위해 사용된 하나 이상의 품질 기준들이 후보 기준 프레임들을 사용함으로써 생성될 것 같은 보간 또는 보외의 품질을 나타내는 특성들로서 선택될 수 있다. 예를 들어, 만약 고려 중인 후보 기준 프레임이 해당하는 부가적인 프레임의 보간 또는 보외에 사용된다면, 품질 기준들은 보간된 또는 보외된 프레임의 그럴 법한 품질을 나타낼 수 있다. 또한, FRUC 유닛(22)은 기준 프레임 품질의 추가 표시로서 모션 벡터 신뢰성을 분석할 수 있다. FRUC 유닛(22)에 의해 분석된 품질 기준들의 예들은 양자화 파라미터(quantization parameter; QP) 값들, 코딩된 블록 패턴(coded block pattern; CBP) 값들 및 기준 비디오 프레임들과 연관된 넌-제로 변환 계수(non-zero transform coefficient)들의 개수를 포함할 수 있다. CBP 값이 제로와 같지 않으면, QP 값들은 기준 프레임들에 의해 제공된 모션 벡터들의 신뢰성을 판단하기 위해 넌-제로 계수들의 개수와 결합될 수 있다.
FRUC 유닛은 또한 보간 또는 보외에서의 사용을 위한 후보 기준 프레임들의 품질을 결정하기 위해 구조적 유사성 메트릭(structural similarity metric; SSIM), 블록화 정도(blockiness), 및/또는 흐릿함 정도(blurriness)과 같은 객관적인(objective) 품질 메트릭들을 고려할 수 있다. 부가하여, 기준 프레임에 대한 인트라(intra) 모드 및 모션 벡터 카운트(count)에 부가하여 인트라 모드의 타입이 고려될 수 있다.
FRUC 유닛(22)은 총체적으로 비디오 유닛 손실로서 지칭될 수 있는, 전체적인 또는 부분적인 비디오 유닛 손실의 증거와 같은 다른 품질 기준들을 분석할 수 있다. 예를 들어, FRUC 유닛(22)은 프레임에 대한 에러 은폐 메커니즘의 이용가능성의 결여와 함께 기준 비디오 프레임에 대한 슬라이스 또는 프레임 손실들을 분석할 수 있다. 예를 들어, FRUC 유닛(22)은 에러의 레벨 및 에러 은폐 메커니즘의 품질을 평가할 수 있다. 다른 품질 기준들이 부가적으로 또는 대안으로서 전술한 품질 기준들의 타입들에 사용될 수 있다.
소정의 경우들에서, FRUC 유닛(22)은 하나 이상의 품질 임계치들을 만족시키는 기준 비디오 프레임들을 선택할 수 있다. 다른 경우들에서, FRUC 유닛(22)은 다수의 기준 비디오 프레임들에 대한 품질을 채점하고 랭킹을 매길 수 있고, 최상의 스코어들을 생성하는 하나 이상의 기준 프레임들을 선택할 수 있다. 만약 2개의 프레임들(예를 들어, 2개의 이전의 프레임들 또는 2개의 미래의 프레임들)이 거의 동일하게 랭킹이 매겨지면, 보간될 스킵된 프레임에 시간적으로 더 가까운 프레임을 선택하는 것이 바람직할 수 있다.
예시를 목적으로, 본 개시물은 일반적으로 부가적인 프레임들의 보간 또는 보외를 위한 기준 프레임들의 선택을 언급한다. 그러나, 소정의 구현예들에서, 본 개시물은 보다 일반적으로 프레임들이 아닌 부가적인 비디오 유닛들의 근사화를 위한 기준 비디오 유닛들의 선택을 의도한다. 예를 들어, 본 개시물에 기재된 기술들은 비디오 프레임들, 비디오 슬라이스들, 또는 매크로블록들과 같은 비디오 블록들과 같은 여러 다양한 기준 비디오 유닛들 중 임의의 것을 분석하고 선택하도록 적응될 수 있다.
프레임, 슬라이스 또는 블록과 같은 비디오 유닛이 비디오 인코더(12)에 의해 스킵될 때, 상기 기술들은 보간 또는 보외를 위해 사용될 수 있는 여러 다양한 후보 기준 프레임들 중에서 대응하는 프레임, 슬라이스 또는 블록을 식별하기 위해 사용될 수 있다. 대안적으로, 프레임, 슬라이스 또는 블록이 스킵되지 않을 때조차, 상기 기술들은 예를 들어, 프레임 레이트 변환 애플리케이션들에 대하여, 인코더(12)의 기본 프레임 코딩 레이트를 증대시키기 위해 부가적인 프레임들을 근사화시키도록 사용될 수 있다.
스킵 또는 낮은 프레임 레이트로 인하여 전체 프레임을 근사화시키는 것이 바람직할 때조차, 근사화될 프레임의 슬라이스들 또는 블록들을 보간하는데 사용하기 위한 개별 슬라이스들 또는 블록들을 선택하는 것이 유리할 수 있다. 이러한 경우에, 상이한 후보 프레임들로부터의 슬라이스들 또는 블록들은 근사화될 프레임에서의 대응하는 슬라이스들 또는 블록들을 보간 또는 보외하도록 선택될 수 있다. 예를 들어, 품질 분석 또는 본 명세서에 기재된 것들과 유사한 분석들은 부가적인 비디오 유닛들의 보간 또는 보외를 위한 기준 비디오 유닛들을 선택하기 위해 슬라이스당(slice-by-slice) 또는 블록당(block-by-block) 기반 상에서 적용될 수 있다. 따라서, 대체될 스킵된 프레임들의 보간 또는 보외를 위한 기준 프레임들의 선택에 초점을 맞춤으로써, 본 개시물은 광범위하게 기술된 바와 같이 상기 양상들을 제한하는 것으로 간주되지 않아야 한다.
도 1을 더 참조하면, 비디오 인코더(12) 및 비디오 디코더(14)는 송신 채널(19)에 의해 연결될 수 있다. 송신 채널(19)은 비트스트림 내에서 비디오 프레임들을 전달할 수 있는 유선 또는 무선 매체, 또는 양자의 조합일 수 있다. 채널(19)은 양방향 또는 단방향 비디오 송신을 지원할 수 있다. 시스템(10)은 영상통화, 비디오 스트리밍, 비디오 브로드캐스팅 또는 이와 유사한 것을 위해 구성될 수 있다. 따라서, 상호적인 인코딩, 디코딩, 멀티플렉싱(MUX) 및 디멀티플렉싱(DEMUX) 컴포넌트들이 채널(19)의 반대 종단들에 제공될 수 있다. 소정의 구현예들에서, 인코더(12) 및 디코더(14)는 소위 무선 비디오 폰 또는 카메라 폰과 같이, 비디오 스트리밍, 비디오 브로드캐스트 수신 및/또는 영상통화를 위해 갖추어진 무선 이동 단말들과 같은 비디오 통신 디바이스들 내에 제공될 수 있다.
그러한 무선 통신 디바이스들은 무선 통신, 오디오 코딩, 비디오 코딩 및 사용자 인터페이스 피쳐들을 지원할 여러 다양한 컴포넌트들을 포함한다. 예를 들어, 무선 통신 디바이스는 하나 이상의 프로세서들, 오디오/비디오 인코더들/디코더들(CODEC들), 메모리, 하나 이상의 모뎀, 증폭기들과 같은 송수신(TX/RX) 회로, 주파수 변환기들, 필터들, 및 이와 유사한 것을 포함할 수 있다. 부가하여, 무선 통신 디바이스는 이미지 및 오디오 포착 디바이스들, 이미지 및 오디오 출력 디바이스들, 연관 드라이버들, 사용자 입력 매체들 및 이와 유사한 것을 포함할 수 있다.
인코더(12), 디코더(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, 또는 MPEG-4, 파트 10과 같은 비디오 압축 표준에 따라 인코딩된 비디오 데이터를 생성할 수 있다. 비록 도 1에는 도시되지 않았지만, 비디오 인코더(12) 및 비디오 디코더(14)는 각각 오디오 인코더 및 디코더와 통합될 수 있고, 데이터 스트림의 오디오 부분 및 비디오 부분 양자 모두를 다루기 위해 적절한 하드웨어 및 소프트웨어 컴포넌트들을 포함할 수 있다.
인코더(12)는 비디오 프레임들(16)을 인코딩하고, 상기 비디오 프레임들(16)은 인트라 프레임들(I 프레임들), 예측 프레임들(P 프레임들), 및 양방향 예측 프레임들(B 프레임들)을 포함할 수 있다. I 프레임들은 공간적인 코딩 기술들을 이용하여 모든 비디오 정보를 완전히 인코딩하는 프레임들이다. 인코딩된 프레임들은 프레임을 형성하는 일련의 비디오 블록들을 기술하는 정보를 포함할 수 있다. 때때로 매크로블록(MB)들로 지칭되는 비디오 블록들은 예를 들어, 휘도(luminance)(Y), 적색 색차(Cr) 및 청색 색차(Cb) 색상 채널들로 픽셀 값들을 정의하는 코딩 비트들을 포함할 수 있다.
전술한 바와 같이, 인코더(12)는 송신 채널(19)을 통해 송신된 데이터의 프레임 레이트를 감소시키기 위해 프레임 스킵을 구현할 수 있다. 특히, 인코더(12)는 예를 들어, 선택된 프레임들을 코딩하지 않음으로써 또는 선택된 코딩된 프레임들을 송신하지 않음으로써, 선택된 프레임들을 의도적으로 스킵하도록 구성될 수 있다. 대안적으로, 인코더(12)는 프레임 스킵을 갖든, 갖지 않든, 목적하는 프레임 레이트 미만의 기본 프레임 코딩 레이트로 프레임들을 생성할 수 있다. 프레임 스킵 또는 감소된 프레임 레이트 코딩은 인코더(12)가 채널(19)의 감소된 송신 레이트 요구조건을 충족시키도록 허용할 수 있다.
프레임 스킵의 경우에, 프레임들은 스킵이 교대하는 프레임들에서 또는 매 n번째 프레임에서 일어나도록 고정된 레이트로 프레임 스킵 유닛(20)에 의해 스킵될 수 있다. 대안적으로, 프레임들은 예를 들어, 지능형(intelligent) 프레임 스킵 기준들에 기초하여, 가변 레이트로 스킵될 수 있다. 또한, 인코더(12)는 고정 기반 상에서 주어진 프레임 레이트로 프레임들을 인코딩하거나, 프레임 레이트가 채널 조건들 또는 다른 요구조건들과 같은 고려 사항들에 따라 가변되도록 하는 적응성 기반 상에서 프레임들을 인코딩할 수 있다. 어느 경우든, 프레임 레이트는 예를 들어, 30 fps에서 60 fps 또는 120 fps로 증가된 프레임 레이트를 생성하도록 디코더(14)에 의해 효과적으로 상향-변환될 수 있다.
FRUC 유닛(22)은 스킵되는 프레임들을 되돌려 놓거나(replace) 프레임 레이트를 증대시키도록 부가적인 프레임들을 생성하기 위해 프레임 대체를 수행하도록 디코더(14)에 의해 사용될 수 있다. 부가하여, 소정의 구현예들에서, FRUC 유닛(22)은 송신 동안에 폐기(drop)되거나 소실된 프레임들을 위해 사용될 수 있다. 인코더(12)에 의해 스킵된 프레임들 및 송신 동안에 폐기되거나 소실된 프레임들은 일반적으로 본 명세서에서 스킵된 프레임들로서 지칭될 수 있다. 각각의 경우에, 유효 프레임 레이트를 증가시키기 위하여, 그리고 그에 의해 시간적인 품질을 개선하기 위하여, 디코더(14)의 FRUC 유닛(22)은 비디오 프레임 보간 또는 보외 및 기준 프레임 선택을 사용하여 대체 프레임들로 스킵된 프레임들 중 적어도 일부를 근사화하기 위해 FRUC 프로세스를 수행할 수 있다.
만약 기준 비디오 프레임들 중 어느 것도 충분한 품질 레벨을 가진 프레임 대체를 지원할 것 같지 않다면, FRUC 유닛(22)은 프레임 대체를 디스에이블할 수 있고 프레임 반복을 적용할 수 있다. 프레임 대체가 디스에이블될 때, 디코더(14)는 이전의 프레임과 미래의 프레임 사이에 프레임을 보간 또는 보외하는 것 대신에, 이전의 또는 미래의 프레임을 단순히 반복할 수 있다. 이러한 경우에, 디코더(14)는 스킵된 프레임의 자리에 또는 프레임 레이트 변환을 위한 부가적인 프레임으로서 이전의 또는 미래의 프레임의 중복(duplicate) 버전을 사용할 수 있다.
프레임 반복을 사용함으로써, 디코더(14)는 보간 또는 보외에 의해 도입될 수 있는 바람직하지 않은 공간적 아티팩트들을 피할 수 있다. 프레임 반복은 비디오의 인식되는 시간적 품질을 감소시킬 수 있기 때문에, 보간 또는 보외에 의한 프레임 대체는 대개 충분한 품질이 달성될 수 있을 때 더 바람직할 것이다. 그러나, 전력, 컴퓨팅 및/또는 메모리 자원들의 과도한 소비는 대체 기술들의 전체적인 가치를 감소시킬 수 있다. 본 명세서에 기재된 바와 같이, 자원-중점 모드는 품질 대 자원 소비를 밸런싱하도록 역할할 수 있다.
도 1의 예에서, 비디오 인코더(12)는 비디오 정보의 입력 프레임들(16)(Ft -2, Ft-1, Ft, Ft +1, Ft +2)을 수신한다. Ft는 선택적인 프레임 스킵 유닛(20)에 의해 스킵하는 프레임으로 인한 것이든, 아니면 인코더(12)에 의해 생성된 기본 프레임 레이트로 인한 것이든, 시간 t에서 코딩되지 않은 프레임을 나타낸다. 따라서, 본 명세서에서 기재된 바와 같은 프레임 대체는 일반적으로, 프레임 스킵으로 인한 것이든, 채널 손실로 인한 것이든, 아니면 인코더(12)의 기본 프레임 레이트로 인한 것이든, 디코더(14)에 의해 수신된 프레임들에 제공되지 않았던 프레임 Ft을 근사화시키는 프레임 Ft'의 부가를 지칭한다.
만약 프레임 스킵 유닛(20)이 적용가능하다면, 프레임들은 전술한 바와 같이, 고정된, 조정가능한 또는 동적인 프레임 스킵 프로세스에 따라 스킵될 수 있다. Ft -2 및 Ft -1은 시간적으로 프레임 Ft 이전에 있는 과거 프레임들을 나타내고, Ft+1 및 Ft +2는 시간적으로 프레임 Ft 이후에 있는 미래의 프레임들이다. 프레임 Ft의 보간 또는 보외를 위해 사용될 수 있는 기준 프레임들은 프레임 Ft 이전 및 이후 양쪽 모두에 있는 무수히 많은 프레임들을 포함할 수 있다. 그러나 예시의 용이성을 위하여, Ft 이전의 2개의 프레임들 및 Ft 이후의 2개의 프레임들만이 도 1에 도시되어 있다.
일반적으로, 비디오 인코더(12)는 인코딩된 프레임들(18)을 생성하기 위해 전술한 I, P, 또는 B 프레임들 중 하나로서 입력 프레임들(16)을 인코딩한다. 다시, 프레임 Ft은 시간적으로 이전의 프레임들 Ft -2, Ft -1 및 미래의 프레임들 Ft +1, Ft+2 사이에 존재한다. 비디오 인코더(12)는 송신 채널(19)을 통해 인코딩된 프레임들(18)을 비디오 디코더(14)로 송신하고, 상기 인코딩된 프레임들(18)은 인코딩된 프레임들 Ft -2, Ft -1, Ft +1, Ft +2는 포함하나 프레임 Ft는 포함하지 않는다. 전형적으로, 인코더(12)는 이러한 프레임들을 IBBPBBPBBPBBI와 같은 사전-정의된 시퀀스로 송신하고, 여기서, I, B, 및 P는 각각 I 프레임들, B 프레임들, 및 P 프레임들을 지칭한다.
인코딩된 프레임들(18)은 인트라-코딩 또는 인터-코딩될 수 있고, 입력 프레임들(16)에 존재하는 비디오 컨텐트를 생성하기 위해 디코딩될 수 있다. 부가하여, 인코딩된 프레임들(18)은 비디오 시퀀스에서의 다른 인터-코딩된 프레임들의 디코딩을 위한 기준 프레임들로서, 즉, 예측된 프레임의 모션 추정 및 모션 보상을 위한 기준으로서 역할할 수 있다. 예측 코딩의 분야에서 주지된 바와 같이, 인코딩된 프레임은 기준 프레임으로서 역할하는 상이한 인코딩된 프레임 내의 유사한 대응하는 블록들에 대한 인코딩된 프레임 내 블록들의 변위를 나타내는 모션 벡터들에 의해 특성화될 수 있다. 부가하여, 인코딩된 프레임은 인코딩된 프레임 내의 비디오 블록들과 기준 프레임 내의 대응하는 비디오 블록들 간의 차이들을 나타내는 잔여 정보에 의해 특성화될 수 있다.
입력 프레임들(16)의 인코딩 및 수신된 프레임들(24)의 디코딩은 예측 코딩에 대하여 전술한 바와 같은 기준 프레임들에 의존할 수 있다. 그러나, 대체될 프레임의 경우에, 본 명세서에 기재된 기준 프레임은 일반적으로 디코더 측에서 부가적인 프레임을 제공하기 위해 보간 또는 보외를 위해 사용되는 프레임을 지칭한다. 그리하여, 주어진 프레임이 소정 경우들에서 보간 및 예측 코딩을 위한 기준 프레임으로서 사용될 수 있을지라도, 보간 또는 보외를 위한 기준 프레임은 예측 코딩을 위한 기준 프레임과 그 취급 면에서 상이함이 주목되어야 한다. 예측 코딩을 위한 기준 프레임들은 인코더 측에서 특정되어 예측 코딩을 위해 사용된다. 반대로, 보간 또는 보외를 위한 기준 프레임들은 디코더 측에서 선택될 수 있고, 예를 들어, 보간 또는 보외에 의한 부가적인 프레임들의 대체를 위해 사용될 수 있다.
도 1의 예에서, 프레임들(16)은 다수의 프레임들을 포함하는 비디오 시퀀스 내 5개의 프레임들을 나타내고, 시간적으로 인코딩된 프레임들(18) 사이에(예를 들어, 이전의 프레임들 Ft -2, Ft -1 및 미래의 프레임들 Ft +1, Ft +2 사이에) 존재하는 프레임 Ft를 근사화하는 부가적인, 즉, 여분의 프레임 Ft'의 보간 또는 보외를 기술하기 위해 사용된다. 일부 양상들에서, 다수의 프레임들이 부가되어야 할 수 있고, 이러한 경우에, 2개의 송신된 프레임들 사이에 존재하는 하나보다 많은 수의 프레임이 보간 또는 보외를 요구할 수 있다. 예시의 용이성을 위하여, 본 명세서는 선택된 기준 프레임들을 사용하여 이전의 프레임 및 미래의 프레임 사이의 단일 프레임 Ft'이 보간되는 예시적인 경우를 참조할 것이다.
비디오 디코더(14)는 송신 채널(19)을 통해 프레임들(24)을 수신한다. 수신된 프레임들(24)은 송신 채널(19)의 특성으로 인하여 슬라이스, 프레임 또는 블록 손실들을 경험하는 비디오 인코더(12)에 의해 송신된 인코딩된 프레임들(18)과 상당히 동일할 수 있다. 비디오 디코더(14)는 예를 들어, MPEG-1, MPEG-2, MPEG-4, H.263, H.264. 또는 MPEG-4, 파트 10 표준들 중 하나에 따라, 수신된 프레임들(24)(Ft -2, Ft -1, Ft +1, Ft +2) 각각을 디코딩하기 위해 표준 디코딩 기술들을 적용할 수 있다. 본 개시물에 따라, 디코더(14)는 FRUC 유닛(22)을 더 포함하고, 그것은 부가적인 프레임 Ft'을 선택적으로 근사화하기 위하여 프레임들(24)에 적용된다. FRUC 유닛(22)을 사용하여, 비디오 디코더(14)는 프레임 Ft를 생성하기 위해 프레임을 보간 또는 보외하고, 디코딩된 프레임들 Ft -2, Ft -1, Ft +1, Ft +2 및 부가될 프레임 Ft의 근사치 Ft'를 포함하는 출력 프레임들(26)을 생성한다.
FRUC 유닛(22)은 비디오 시퀀스로 연속하는 프레임들을 수신한다. 보간될 각각의 부가적인 프레임에 대하여, 보간을 위한 기준 프레임들로서 사용될 수 있는 적어도 하나의 이전의 프레임 및 적어도 하나의 미래의 프레임이 존재한다. 보간될 프레임은 시간적으로 다수의 이전의 프레임들 및 다수의 미래의 프레임들 사이에 존재한다. 만약 보외가 보간 대신에 근사화를 위해 사용된다면, 보외될 프레임은 시간적으로 하나 이상의 기준 프레임들 이후에 또는 시간적으로 하나 이상의 기준 프레임들 이전에 존재할 수 있다. 이전의 그리고 미래의 프레임들 중 일부는 다른 것들보다 더 나은 프레임 대체 결과들을 생성할 수 있다. 보간은 모션-보상된 보간(motion-compensated interpolation; MCI), 선형 보간, 양선형(bilinear) 보간, 바이큐빅(bicubic) 보간, 스플라인(spline) 보간, 최근접 이웃 보간, 비선형 보간, 후보 프레임들의 선형 또는 비선형 필터링, 또는 이와 유사한 것과 같은 여러 다양한 기술들 중 임의의 것에 의해 수행될 수 있다. 보간은 단방향 보간을 위한 단일 기준 프레임 또는 양방향 보간을 위한 2 이상의 프레임들을 사용할 수 있다. 유사하게, 보외는 단일 기준 프레임 또는 양방향 보외를 위한 2 이상의 프레임들을 사용할 수 있다.
FRUC 유닛(22)은 이전의 및/또는 이후의 후보 프레임들을 분석하고, 부가적인 프레임의 보간 또는 보외에서 기준 프레임들로서 사용하기 위하여 상기 프레임들 중 하나 이상을 선택할 수 있다. FRUC 유닛(22)은 보다 유리한 프레임 대체 결과들을 생성할 것 같은 특정 기준 프레임들을 선택하도록 구성될 수 있다. 예를 들어, FRUC 유닛(22)은 후보 기준 프레임들의 세트의 하나 이상의 특성들을 분석할 수 있다. 후보 기준 프레임들은 비디오 시퀀스 내 프레임들의 서브세트로부터 선택될 수 있다. 예를 들어, FRUC 유닛(22)은 N개의 이전 프레임들 및 M개의 미래 프레임들의 서브세트를 분석할 수 있고, 여기서, N 및 M은 똑같거나 똑같지 않다.
만약 분석이 후보 기준 프레임들 중 어느 것도 프레임 대체를 위해 충분한 품질 레벨을 갖지 않음을 보여주면, FRUC 유닛(22)은 프레임 대체를 디스에이블할 수 있다. 이러한 경우에, FRUC 유닛(22)은 프레임 대체 결과의 품질의 관점에서 잠재적인 FRUC 실패를 검출할 수 있다. 낮은 품질의 보간 결과를 생성하기 위해 전력 및 컴퓨팅 자원들을 낭비하는 대신에, FRUC 유닛(22)은 스킵된 프레임의 근사물을 생성하기 위해 프레임 반복을 적용할 수 있다. 프레임 반복의 경우에, 전술한 바와 같이, 디코더(14)는 스킵된 프레임의 자리에 이전의 또는 미래의 프레임들 중 하나의 중복 버전을 사용한다. 그리하여, 품질-중점 모드에서, FRUC 유닛(22)은 보간 또는 보외를 위한 특정 기준 프레임들을 선택하도록 구성될 수 있고, 허용가능한 품질 레벨이 가망이 없을 때 프레임 대체를 디스에이블할 수 있다. FRUC 유닛(22)은 디코더(14)가 자원-중점 모드에서 동작할 때 프레임 대체를 정당화시키기 위해 더 높은 품질 레벨들을 추구할 수 있다.
소정의 구성들에서, 시스템(10)은 하나 이상의 이점들을 제공할 수 있다. 예를 들어, 소정의 구성들에서, 시스템(10)은 유리한 결과들을 생성할 것 같지 않을 때 프레임 대체를 디스에이블시킴으로써 비디오 디코더(14)에서의 전력 소모를 줄일 수 있다. 부가하여, 소정의 구성들에서, 시스템(10)은 프레임 대체에 사용하기 위한 특정 기준 프레임들을 선택함으로써 대체된 프레임들의 품질을 향상시킬 수 있다. 대체된 프레임들의 보간 또는 보외에 사용하기 위한 더 높은 품질의 기준 프레임들의 선택은 가변 비트 레이트(variable bit rate; VBR) 레이트 제어 기술들을 사용하여 인코딩된 비디오가 압축되는 애플리케이션들과 같이 여러 다양한 비디오 애플리케이션들에 유용할 수 있다. VBR의 경우에, 품질은 상이한 프레임들 중에서 가변할 수 있고, 그 결과 소정의 프레임들은 보간 또는 보외를 위한 기준 프레임들로서 사용될 때 다른 프레임들보다 더 양호할 수 있다.
또한, 비디오 디코더(14)는 슬라이스, 프레임 또는 블록 손실들을 겪는 후보 기준 프레임들을 검출하고, 적용된 어떠한 에러 은폐 메커니즘도 존재하지 않을 때, 또는 이용가능한 에러 은폐 메커니즘이 양호한 품질 프레임들을 제공할 것 같지 않은 경우, 고려에서 상기 프레임들을 제거하도록 구성될 수 있다. 불충분한 에러 은폐를 가진 후보 기준 프레임들의 제거는 영상통화 애플리케이션들의 경우에서와 같이 현저한 송신 손실들이 일어날 때 유용할 수 있다. 자원-중점 모드는 예를 들어, 로우-모션 비디오 클립(low-motion video clip)들에서 합리적인 객관적 그리고 주관적 비디오 품질을 유지하면서 전력 소비를 줄이는데 유용할 수 있다.
도 2a는 비디오 디코더(14)에서 FRUC 기술을 지원할 부가적인 프레임의 보간을 위한 단순한 기술의 예를 도시하는 다이어그램이다. 일반적으로, 선택된 이전의 프레임 Ft -N 및 선택된 미래의 프레임 Ft +M 사이의 보간된 프레임 Ft'에서의 매크로블록(MB)(28)을 보간하기 위해, 비디오 디코더(14)는 이전의 프레임 Ft -N 내 MB(30) 및 미래의 프레임 Ft +M 내 대응하는 MB(32) 사이에서 연장되는 모션 벡터 vNM에 의존할 수 있다. 이러한 예에서, 시간 t는 보간될 부가적인 프레임이 비디오 시퀀스에서 나타날 시간적 위치, 즉, 시점을 나타낸다. 프레임들 Ft -N 및 Ft +M은 각각 보간을 요구하는 부가적인 프레임 Ft'을 시간적으로 (t-N) 선행하고 (t+M) 후행하는 프레임들이다. 도 2a의 예에서, 프레임들 Ft -N 및 Ft +M은 부가적인 프레임 Ft'의 보간을 위한 기준 프레임들로서 역할한다.
N 및 M은 시간 t에 대한 시간적 오프셋을 나타내고, 서로 같거나 다를 수 있다. 예를 들어, 만약 N=1이고 M=2라면, 프레임 Ft -N은 보간된 프레임을 바로 선행하는 프레임일 수 있고, 프레임 Ft +M은 보간된 프레임 이후의 두 번째 프레임일 수 있다. N=1이고 M=1인 단순한 예에서, 보간을 위하여, 프레임 Ft -N 및 Ft +M 사이에서 연장되는 벡터 v13은 일반적으로 2로 나누어져(1:2 프레임 레이트 변환에 대하여), 모션 벡터들 vNM /2 및 -vMN /2를 생성하고 보간될 프레임 Ft'에서의 대응하는 MB(28)를 식별한다. 그리하여, 이러한 단순화된 예에서, MB(28)의 위치는 모션 벡터들 vNM /2 및 -vMN /2의 함수이고, 여기서 이러한 예의 목적으로 N=1이고 M=1이다. MB(28)는 MB(30) 또는 MB(32)에 대응하는 픽셀 값들의 세트, 또는 MB(30) 및 MB(32)의 픽셀 값들의 평균을 할당받을 수 있다. 더 높은 또는 더 낮은 프레임 상향변환 예를 들어, 1:X 변환을 위하여, 모션 벡터들은 그에 따라 스케일링될 수 있다. 예를 들어, N 및 M 중 적어도 하나가 1과 같지 않은 다른 경우들에서, 모션 추정 및 모션 벡터 프로세싱을 통해 획득된 상이한 모션 벡터들이 사용될 수 있다.
부가하여, 소정 타입들의 보간에 대하여, FRUC 유닛(22)은 2개 또는 그 이상의 이전 프레임들 및 2개 또는 그 이상의 미래 프레임들과 같이 다수 개의 기준 프레임들에 의존할 수 있다. 일반적으로, 기준 프레임은 단독으로든 또는 하나 이상의 다른 기준 프레임들과 조합해서든, 스킵된 프레임과 같은 프레임을 보간하기 위해 사용된 프레임을 지칭한다. 보간 프로세스에서, 하나 이상의 기준 프레임들에 존재하는 매크로블록들과 연관된 픽셀 값들은 예를 들어, 도 2a에 도시된 바와 같이, 보간될 부가적인 프레임 내 대응하는 매크로블록들에서의 픽셀 값들을 보간하기 위해 사용될 수 있다. 픽셀 값들은 휘도 및/또는 색차 픽셀 값들을 포함할 수 있다.
일 예로서, 보간된 매크로블록은 이전의 프레임 내 매크로블록에서의 픽셀 값들, 미래의 프레임 내 매크로블록에서의 픽셀 값들, 또는 이전의 그리고 미래의 프레임들 내 대응하는 매크로블록들에서의 픽셀 값들의 평균과 동일한 픽셀 값들을 포함할 수 있다. 보간된 프레임에서의 매크로블록들은 도 2a에 도시된 바와 같이, 기준 비디오 프레임들 내 대응하는 블록들에 관하여 보상된 모션일 수 있다. 매크로블록들은 도 2a에 도시된 바와 같이, 이전의 그리고 미래의 프레임들 사이에서 연장되는 모션 벡터들에 의해 식별될 수 있다. 도 2a에 도시된 보간의 예시는 하나의 예일 뿐이고, 본 개시물에 광범위하게 기재된 기술들을 제한하지 않는 것으로 고려되어야 한다. 광범위하게 다양한 상이한 보간 기술들이 본 개시물에 따라 프레임 대체를 위하여 사용될 수 있다.
도 2b는 선택된 기준 프레임들을 사용한 여분의 비디오 프레임의 보간을 예시하는 다이어그램이다. 도 2b의 예에서, FRUC 유닛(22)은 부가적인 프레임 Ft'를 보간하는데 사용하기 위한 기준 프레임들 Ft -1 및 Ft +2를 선택한다. FRUC 유닛(22)은 다수 개의 이전 프레임들 Ft -1, Ft -2, 및 Ft -3, 그리고 다수 개의 미래 프레임들 Ft +1, Ft+2, 및 Ft +3의 하나 이상의 특성들을 분석할 수 있다. 도 2b의 예에서, FRUC 유닛(22)은 예시의 목적으로 3개의 이전의 기준 프레임들 및 3개의 미래의 기준 프레임들을 분석한다. 이러한 예에서, FRUC 유닛(22)은 보간된 프레임 Ft'의 보간에 사용하기 위하여, 이러한 분석에 기초하여 하나의 이전의 기준 프레임 및 하나의 미래의 기준 프레임을 선택할 수 있다. 그러나, 이전의 그리고 미래의 기준 프레임들의 실제 개수는 도 2b의 예와 상이할 수 있다. 부가하여, FRUC 유닛(22)에 의해 분석된 이전 프레임들의 개수는 FRUC 유닛에 의해 분석된 미래 프레임들의 개수와 상이할 수 있다. 일반적으로, FRUC 유닛(22)은 품질 분석에 기초하여 품질의 허용가능한 레벨을 가진 보간 결과들을 생성할 것 같은 이전의 프레임 및 미래의 프레임을 선택할 수 있다. 도 2b의 예에서, 선택된 기준 프레임들 Ft -1 및 Ft +2는 사선에 의해 표시된다.
도 2c는 비디오 디코더(14)에서의 비디오 유닛의 보외를 위한 기술의 일 예를 도시하는 다이어그램이다. 도 2c의 예에서, 2개의 이전의 기준 프레임들 Ft -M 및 Ft -N이 프레임 대체를 지원할 부가적인 프레임 Ft'를 보외하기 위해 사용된다. 일반적으로, 선택된 이전의 프레임 Ft -N 및 선택된 이전의 프레임 Ft -M 다음의 프레임 Ft' 내 MB(31)를 보외하기 위하여, 비디오 디코더(14)는 이전의 프레임 Ft -N 내 대응하는 MB(33) 및 이전의 프레임 Ft -M 내 대응하는 MB(35) 사이에서 연장되는 벡터 υ에 의존할 수 있다. 이러한 예에서, t는 보간될 부가적인 프레임이 비디오 시퀀스에서 나타날 시간적 위치, 즉, 시점을 나타낸다. 프레임들 Ft -N 및 Ft +M은 각각 보외를 요구하는 부가적인 프레임 Ft'을 (t-N) 및 (t+M)만큼 시간적으로 선행하는 프레임들이다. 도 2c의 예에서, 이전의 기준 프레임들 Ft -N 및 Ft +M은 부가적인 프레임 Ft'의 보외를 위한 기준 프레임들로서 역할한다. 그러나, 히나 이상의 이전의 기준 프레임들 또는 하나 이상의 미래의 기준 프레임들은 부가적인 프레임 Ft'를 보외하기 위해 사용될 수 있다. 즉, 부가적인 프레임은 각각 이전의 프레임들 또는 미래의 프레임들을 사용하여 전방으로 또는 후방으로 보외될 수 있다.
도 2a의 예에서와 같이, 도 2c에서의 N 및 M은 시간 t에 대한 시간적 오프셋들을 나타내고, 서로 같거나 다를 수 있다. 예를 들어, N=2이고 M=1이라면, 프레임 Ft-M은 보외된 프레임 바로 앞의 프레임일 수 있고, 프레임 Ft-N은 보외된 프레임 이전의 2개 프레임들일 수 있다. MB(31)는 MB(33) 또는 MB(35)에 대응하는 픽셀 값들의 세트, 또는 MB(33) 및 MB(35)의 픽셀 값들의 평균을 할당받을 수 있다. 보외 프로세스는 모션 보상된 보외를 사용할 수 있다. 보간의 경우에서와 같이, 보외에 대하여, 기준 프레임은 단독으로든 또는 하나 이상의 다른 기준 프레임들과 조합해서든, 디코딩된 비디오 프레임들에 부가될 여분 프레임을 보외하기 위해 사용된 프레임을 지칭한다.
보외는 도 2c에 도시된 바와 같이, 기준 프레임들 내 대응하는 블록들로부터 모션 벡터 v를 보외함으로써 보상된 모션일 수 있다. 보외 프로세스에서, 하나 이상의 기준 프레임들에 존재하는 MB들과 연관된 픽셀 값들은 보외될 부가적인 프레임 내 대응하는 MB들에서의 픽셀 값들을 보외하기 위해 사용될 수 있다. 도 2c에 도시된 보외의 예시는 하나의 예일 뿐이고, 본 개시물에 광범위하게 기재된 기술들을 제한하지 않는 것으로 고려되어야 한다. 광범위하게 다양한 상이한 보외 기술들이 본 개시물에 따라 프레임 대체를 위하여 사용될 수 있다.
도 2d는 선택된 기준 프레임들을 사용한 여분 비디오 프레임의 보외를 예시하는 다이어그램이다. 도 2d의 예에서, FRUC 유닛(22)은 부가적인 프레임 Ft'를 보외하는데 사용하기 위한 기준 프레임들 Ft -1 및 Ft -2를 선택한다. FRUC 유닛(22)은 보외를 위해 이전의 프레임들이 사용되는지 미래의 프레임들이 사용되는지에 따라, 다수 개의 이전 프레임들 Ft -1, Ft -2, 및 Ft -3, 또는 다수 개의 미래 프레임들의 하나 이상의 특성들을 분석할 수 있다. 도 2d의 예에서, FRUC 유닛(22)은 예시의 목적으로 4개의 이전의 기준 프레임들 Ft -1, Ft -2, Ft -3, Ft -4을 분석한다. 이러한 예에서, FRUC 유닛(22)은 이러한 분석에 기초하여 프레임 Ft'의 보외에 사용하기 위한 2개의 이전의 기준 프레임들을 선택할 수 있다. 그러나, 보외를 위해 사용된 기준 프레임들의 실제 개수는 도 2d의 예와 상이할 수 있다. 일반적으로, FRUC 유닛(22)은 품질 분석에 기초하여 품질의 허용가능한 레벨을 가진 보외 결과들을 생성할 것 같은 기준 프레임들을 선택할 수 있다. 도 2d에서, 선택된 기준 프레임들 Ft -1 및 Ft -2는 사선에 의해 표시된다.
도 3은 도 1의 비디오 디코더(14)의 예를 보다 상세히 예시하는 블록 다이어그램이다. 도 3의 예에서, 비디오 디코더(14)는 수신된 프레임 버퍼(34), 디코딩 유닛(36), 프레임 대체 유닛(38), 출력 프레임 버퍼(40), FRUC 분석 유닛(42), 및 선택 유닛(44)을 포함한다. 프레임 대체 유닛(38), FRUC 분석 유닛(42), 및 선택 유닛(44)은 비디오 디코더(14)의 FRUC 유닛(22)의 일부를 형성할 수 있다. 도 3의 예에서, FRUC 유닛(22)은 비디오 디코더(14) 내에 존재한다. 그러나, 전술한 바와 같이, FRUC 유닛(22)은 다른 구현예들에서 비디오 디코더(14) 외부에, 예를 들어, 비디오-포스트(post) 프로세서 모듈 또는 비디오 디스플레이 프로세서 또는 MDP 디바이스 내에 상주할 수 있다. 수신된 프레임 버퍼(34)는 비디오 인코더(12)로부터 채널(19)을 통해 송신된, 인코딩된 프레임들을 수신하고 저장한다. 디코딩 유닛(36)은 적용가능한 코딩 프로세스를 사용하여 수신된 프레임들을 디코딩하고 출력 프레임 버퍼(40)에 디코딩된 프레임들을 둔다.
수신된 프레임들(34)은 보간될 또는 보외될 여러 다양한 프레임들을 배제할 수 있다. 그러한 프레임들은 인코더(12)에 의해 스킵되었던 프레임들, 채널(19)을 가로지른 송신 동안에 소실된 프레임들 또는 프레임들의 부분들, 및 인코더(12)의 기본 프레임 레이트에 의해 지원되지 않았던 프레임들을 포함할 수 있다. 공간적-시간적 품질을 증진하기 위하여, 프레임 대체 유닛(38)은 적용가능한 경우 보간 또는 보외에 사용하기 위한 특정 수신된 프레임들의 분석 및 선택에 기초하여 부가적인 프레임들을 보간하거나 보외하도록 구성될 수 있다.
전술한 바와 같이, 프레임 대체 유닛(38)에 의한 보간은 모션-보상된 보간(MCI), 선형 보간, 양선형 보간, 바이큐빅 보간, 스플라인 보간, 최근접 이웃 보간, 또는 이와 유사한 것과 같은 여러 다양한 보간 기술들 중 임의의 것을 포함할 수 있다. 보간은 단방향 보간을 위한 단일 기준 프레임 또는 양방향 보간을 위한 2 이상의 프레임들을 사용할 수 있다. 마찬가지로, 보외는 하나 이상의 프레임들에 의존할 수 있다. 일부 경우들에서, 프레임 대체 유닛(38)은 프레임 대체를 디스에이블하고 대신에 예를 들어, 부가될 프레임의 자리에 이전의 또는 미래의 프레임을 반복함으로써 프레임 반복을 적용할 수 있다.
프레임 대체 유닛(38)은 비디오 출력 프레임 버퍼(40)에 대체된 또는 반복된 프레임들을 부가한다. 비디오 출력 프레임 버퍼(40)에서의 디코딩된 프레임들 및 대체되거나 반복된 프레임들은 디스플레이와 같은 비디오 출력 디바이스를 구동하기 위해 사용될 수 있다. 일 예로서, 비디오 디코더(14)는 이동 무선 전화, 디지털 미디어 플레이어, 개인용 휴대 단말(PDA), 디지털 텔레비전, 또는 이와 유사한 것과 같은 무선 통신 디바이스를 포함하여, 디지털 비디오 능력들을 포함하는 여러 다양한 디바이스들 중 임의의 것의 일부를 형성할 수 있다. 대안적으로, 출력 프레임 버퍼(40)에서의 프레임들은 보관(archival) 또는 디스플레이를 위하여 하나 이상의 다른 디바이스들로 송신될 수 있다. 각각의 경우에, 프레임 대체 유닛(38)에 의해 생성된 대체된 또는 반복된 프레임들은 예를 들어, 비디오 클립의 시간적인 시각적 품질을 향상시키기 위해, 디코딩 유닛(36)에 의해 디코딩된 프레임들을 보충한다.
도 3에 더 도시된 바와 같이, 프레임 대체 유닛(38)은 프레임들을 보간 또는 보외함에 있어 기준 프레임들로서 사용하기 위하여 디코딩 유닛(36)의 출력으로부터 디코딩된 프레임들을 수신할 수 있다. 디코딩 유닛(36)으로부터 수신된 디코딩된 프레임들은 수신된 프레임 버퍼(34)로부터의 인코딩된 프레임들에 기초하여 디코딩 유닛(36)에 의해 생성된 픽셀 도메인 프레임들일 수 있다. 프레임 대체 유닛(38)은 부가적인 프레임들의 보간 또는 보외를 위한 기준 프레임들로서 디코딩된 기준 프레임들을 사용할 수 있다. 보간 또는 보외를 위하여 사용된 특정 기준 프레임들은 FRUC 분석 유닛(42)에 의한 후보 기준 프레임들의 분석에 기초하여 선택 유닛(44)에 의해 식별될 수 있다.
분석 유닛(42)은 후보 기준 비디오 프레임들을 분석하기 위해 제공될 수 있다. 예를 들어, 분석 유닛(42)은 보간 또는 보외에 사용하기 위한 후보 기준 프레임들의 품질을 결정하기 위해, 예를 들어, 구조적 유사성 메트릭(SSIM), 블록화 정도 및/또는 흐릿함 정도와 같은 객관적인 품질 메트릭들, 및 선택적으로 색 번짐(color bleeding)의 분석을 위하여, 디코딩 유닛(36)의 출력으로부터 픽셀 도메인에서 디코딩된 프레임들을 획득할 수 있다. 대안적으로, 또는 부가적으로, 분석 유닛(42)은 프레임들의 상대적 품질 레벨들의 표시로서, QP 값들 및 후보 프레임들과 연관된 CBP 값들과 같은, 후보 기준 프레임들에 대한 코딩 정보를 분석할 수 있다. QP 값들 및 CBP 값들과 같은 코딩 정보는 예를 들어, 수신된 프레임 버퍼(34) 내 프레임들과 연관된 비트스트림으로부터 디코딩 유닛(36)에 의해 파싱(parse)될 수 있고, 도 2a에서 더 도시된 바와 같이 분석 유닛(42)에 제공될 수 있다. 그리하여, 소정의 구현예들에서, 분석 유닛(42)은 디코딩 유닛(36)의 출력으로부터의 디코딩된 픽셀 도메인 프레임들 및/또는 디코딩 유닛(36)에 의해 후보 프레임들로부터 파싱된 QP 및 CBP 값들과 같은 비트스트림 정보를 수신할 수 있다.
디코딩 유닛(36)으로부터 획득된 비디오 프레임들은 그들이 부가적인 프레임들의 대체를 위한 기준 프레임들로서 대체 유닛(38)에 의해 사용될 수 있다는 견지에서 후보 기준 프레임들로 간주될 수 있다. 부가될 각각의 프레임에 대하여, 분석 유닛(42)은 부가될 프레임에 대하여, 이전의 그리고/또는 미래의 프레임들의 서브세트에 대한 비트스트림 정보 및/또는 픽셀 도메인 정보를 분석할 수 있고, 대체 유닛(38)에 의한 프레임 보간 또는 보외에 사용하기 위해 선택되어야 하는 프레임들을 식별하도록 선택 유닛(44)으로 출력을 제공할 수 있다. 선택 유닛(44)은 분석 유닛(42)에 의한 분석 출력에 기초하여 부가적인 프레임의 보간 또는 보외를 위한 하나 이상의 프레임들을 선택하도록 구성될 수 있다. 부가하여, 소정의 경우들에서, 선택 유닛(44)은 예를 들어, 상기 분석이 후보 기준 프레임들 중 어느 것도 허용가능한 품질 레벨로 프레임 대체에 사용하기에 적합하지 않을 때, 대체 유닛(38)에게 프레임 대체를 인에이블 또는 디스에이블시킬 것을 지시하도록 구성될 수 있다.
도 3에 도시된 바와 같이, 선택 유닛(44)은 프레임 대체 유닛(38)에게 부가될 프레임의 보간 또는 보외에 사용하기 위하여 수신된 프레임 버퍼(34)로부터의 프레임들 중 하나 이상을 선택할 것을 지시하는 프레임 선택 신호 또는 커맨드를 생성할 수 있다. 예를 들어, 부가될 각각의 프레임에 대하여, 선택 유닛(44)은 프레임 대체 유닛(38)에게 보간에 사용하기 위한 하나의 이전 프레임 및 하나의 미래 프레임을 선택할 것을 지시할 수 있다. 그 다음, 프레임 대체 유닛(38)은 스킵된 프레임의 보간을 위한 기준 프레임들로서 선택된 프레임들을 적용할 수 있다. 일 예시로서, 이전의 프레임 및 미래의 프레임은 예를 들어, 도 2a에 도시된 바와 같이, 이전의 그리고 미래의 프레임들 내 대응하는 블록들 사이에서 연장되는 모션 벡터들에 기초하여 부가될 프레임 내 블록들을 보간하기 위해 사용될 수 있다. 또 다른 예로서, 선택 유닛(44)은 프레임 대체 유닛(38)에게 부가적인 프레임의 보외에 사용하기 위한 이전 프레임들의 쌍을 선택할 것을 지시할 수 있다.
선택 유닛(44)은 또한 프레임 대체 인에이블/디스에이블 커맨드를 생성할 수 있다. 분석 유닛(42)에 의한 분석이 후보 기준 프레임들 중 어느 것도 프레임 대체에 사용하기에 적합하지 않음을 나타낼 때, 선택 유닛(44)은 프레임 대체 유닛(38)에 의한 보간 또는 보외를 디스에이블할 수 있다. 또한, 선택 유닛(44)은 프레임 대체와 프레임 반복 사이의 시각적 차이가 비교적 인식될 수 없을 때, 자원-중점 모드에서 보간을 디스에이블할 수 있다. 어느 경우든, 프레임 대체 유닛(48)은 대체 프레임을 생성하기 위해 보간 또는 보외를 수행하는 대신에, 부가적인 프레임의 자리에 이전의 또는 미래의 프레임을 반복할 수 있다. 프레임 반복은 보간 또는 보외보다 상당히 더 적은 전력 및 컴퓨팅 자원들을 소비할 수 있다. 분석 유닛(42)이 수신된 프레임 버퍼(34)가 적합한 기준 프레임들을 포함함을 나타낼 때, 선택 유닛(44)은 프레임 대체를 인에이블할 수 있고 프레임 대체에 사용하기 위한 선택된 프레임들을 식별할 수 있다.
프레임 대체를 위해 선택된 기준 프레임들은 부가될 프레임에 최근접의 프레임들 또는 부가될 프레임으로부터 더 떨어져 있는 프레임들일 수 있다. 일부 경우들에서, 비록 그것들이 전형적으로 보통의 FRUC 프로세스를 위해 선택되었을지라도, 최근접의 프레임들(즉, 가장 가까운 이전의 프레임 및 가장 가까운 미래의 프레임)은 실제로, 그것들을 다른 기준 프레임들보다 보간 또는 보외에 사용하기에 덜 적합하게 만드는, VBR 코딩 또는 다른 요소들로 인한 특성들을 가질 수 있다. 분석 유닛(42)은 프레임 대체에 사용하기 위한 그러한 프레임들의 적합성의 표시를 제공하기 위해 후보 기준 프레임들을 분석한다. 단순히 디폴트로 스킵된 프레임에 인접한 프레임들을 사용하는 것 대신에, 분석 유닛(42) 및 선택 유닛(44)은 프레임 대체 유닛(38)이 보다 최적의 결과들을 제공하는 기준 프레임들을 사용할 수 있게 한다.
도 4는 도 1의 비디오 디코더(14)의 또 다른 예를 보다 상세히 도시하는 블록 다이어그램이다. 도 4의 예에서, 비디오 디코더(14)는 실질적으로 도 3a의 비디오 디코더에 대응한다. 그러나, 도 4의 비디오 디코더(14)의 FRUC 유닛(22)은 모드 선택 유닛(46) 및 자원 모니터(48)를 더 포함한다. 부가하여, FRUC 유닛(22)은 선택적으로 지연 검출 유닛(51)을 포함할 수 있다. 모드 선택 유닛(46)은 FRUC 유닛(22)의 2개 이상의 모드들을 지원할 수 있다. 예를 들어, FRUC 유닛(22)은 제 1 동작 모드로서 품질-중점 모드로 또는 제 2 동작 모드로서 자원-중점 모드로 동작하도록 구성될 수 있다. 도 4의 예에서, FRUC 유닛(22)은 비디오 디코더(14) 내에 상주한다. 다른 구현예들에서, FRUC 유닛(22)은 비디오 디코더(14) 외부에, 예를 들어, 비디오 포스트-프로세서 모듈 또는 비디오 디스플레이 프로세서 또는 이동 디스플레이 프로세서 내에 상주할 수 있다.
자원 모니터(48)는 비디오 디코더(14)가 제공되는 디바이스 내에서 이용가능한 전력, 컴퓨팅 및/또는 메모리 자원들을 모니터링, 검출, 추정, 또는 그렇지 않으면 결정하도록 구성될 수 있다. 소정의 경우들에서, 자원 모니터(48)는 프레임들의 프로세싱에 적용가능한 자원 예산(budget)들을 모니터링하도록 구성될 수 있다. 그리하여, 자원 모니터(48)는 프레임이 비디오 디코더(14) 내에서 프로세싱되는 주어진 시간에 이용가능한 실제 자원들을 모니터링하거나, 프레임의 프로세싱에 적용가능한 자원 예산에 대하여 추정된 자원 소비를 모니터링하도록 구성될 수 있다. 상이한 자원 레벨들에 응답하여, 자원 모니터(48)는 FRUC 유닛(22)의 동작을 위한 상이한 모드(예를 들어, 품질-중점 또는 자원-중점)를 선택하도록 모드 선택 유닛(46)을 트리거할 수 있다. 모드 선택 유닛(46)은 기준 프레임 선택을 위한 후보 프레임들의 분석을 수정하기 위하여 FRUC 분석 유닛(42)으로 모드 선택을 전송할 수 있다. 대안적으로, 모드 선택 유닛(46)은 이하에 기재되는 바와 같이, 대체(예를 들어, 보간 또는 보외)를 인에이블 또는 디스에이블하기 위해 모드 선택을 전송할 수 있다.
일 예로서, 자원 모니터(48)는 프로세싱 자원들의 소비에 대한 예산에 대하여 디코더(14)에서의 프로세싱 자원들의 소비를 모니터링 또는 추정함으로써 전력레벨을 결정하도록 구성될 수 있다. 일반적으로, 디지털 신호 프로세서(DSP)와 같은 프로세서에서 소비된 MIPS(초 당 백만 개의 명령들; million instructions per second)와 DSP 동작들을 위해 소비된 전력 간의 대응관계가 존재한다. 또한, 외부 메모리로부터 페치(fetch)된 데이터의 양과 그러한 데이터를 페치하기 위해 소비된 전력 간의 대응관계가 존재한다. 부가하여, 디스플레이에 전송된 프레임 데이터의 양과 이러한 동작에 소비된 전력 간의 대응관계가 존재한다. 이러한 대응관계는 공지된 디바이스 또는 칩셋에 대해 신뢰성있게 확립될 수 있고, 그 다음 룩업 테이블 내 엔트리들에 의해 표현될 수 있다. 예를 들어, MIPS, 데이터 페칭 양들, 디스플레이 양들이 룩업 테이블 내의 전력 소비 값 엔트리들로 맵핑되는 인덱스들로서 사용될 수 있다.
주어진 칩셋에서의 FRUC 애플리케이션에 대하여, 각각의 동작이 MIPS의 관점에서 얼마나 많이 요구하는지, 얼마나 많은 데이터가 외부 메모리로부터 페치되는지, 및 얼마나 많은 데이터가 디스플레이로 전송되는지를 결정하는 것이 가능하다. 하나의 시나리오에서, 자원 모니터(48)는 각각의 보간된 또는 보외된 프레임의 생성 및 디스플레이를 위해 소비된 전력을 계산하고, 소비된 전력의 레벨을 프레임 또는 프레임들의 세트에 할당된 전력 예산과 비교하도록 구성될 수 있다. 전력 예산은 이동 무선 핸드셋 또는 다른 디바이스에서의 비디오 디코더(또는 전체 CODEC)와 같은, 디바이스의 기능 유닛에 대한 설계 요구조건으로서 특정된 전력의 사전결정된, 고정된 또는 조정가능한 레벨일 수 있다.
전력 예산은 픽처(picture)들의 그룹(group of pictures; GOP) 또는 다른 비디오 시퀀스와 같은, 일련의 프레임들에 할당될 수 있다. 프레임들이 프로세싱되고 전력이 소비됨에 따라, 전력 예산의 이용가능한 전력이 감소된다. 자원 모니터(48)는 예를 들어, 룩업 테이블에 저장될 수 있는, MIPS, 데이터 페칭, 및 보간된 또는 보외된 프레임의 디스플레이 사이의 알려진 대응관계에 기초하여, 얼마나 많은 전력이 새로운 FRUC 프레임을 보간 또는 보외하기 위해 요구될지를 추정하도록 구성될 수 있다. 전술한 바와 같이, 전력 예산은 고정(즉, 상기 디바이스로부터의 피드백 루프에 의해 조정되지 않음)될 수 있거나, 또는 그것은 상기 디바이스로부터의 피드백 루프에 기초하여 조정될 수 있다.
주어진 프레임에 대하여, 만약 보간을 위해 전력 예산에 남아있는 충분한 전력이 존재한다면, 보간 프로세스가 인에이블될 수 있다. 대안적으로, 보간 프로세스는 전력 예산에 불충분한 전력이 남아있는 경우 디스에이블될 수 있다. 본 개시물의 양상에 따라, 보간을 인에이블하고 디스에이블하는 것 대신에, 자원 모니터(48) 및 모드 선택 유닛(46)은 상이한 보간/보외 모드들을 선택하도록 구성될 수 있다. 특히, 자원 모니터(48)에 의해 결정된 이용가능한 자원 레벨에 기초하여, 모드 선택 유닛(46)은 품질-중점 모드나 자원-중점 모드를 선택할 수 있다.
예를 들어, 만약 MIPS, 데이터 페칭 및/또는 비디오 시퀀스 내 이전 프레임들의 디스플레이가 제 1 사전결정된 임계치 미만의 레벨로 이용가능한 전력 예산을 감소시켰다면, 자원 모니터(48)는 자원-중점 모드가 선택되어야 함을 모드 선택 유닛(46)에 표시할 수 있다. 대안적으로, 만약 이용가능한 전력 예산이 제 1 사전결정된 임계치를 초과하면, 자원 모니터(48)는 품질-중점 모드가 선택되어야 함을 모드 선택 유닛(46)에 표시할 수 있다. 일부 양상들에서, 만약 이용가능한 전력 예산이 상기 제 1 사전결정된 임계치 미만인 제 2 사전결정된 임계치 미만이라면, 자원 모니터(48)는 상기 디바이스 내 전력을 아끼기 위하여, 보간-보외가 프레임 반복을 위하여 디스에이블될 수 있거나, 가능하게는 보간, 보외도 프레임 반복도 인에이블되지 않아야 함을 나타낼 수 있다.
전력 예산 내 이용가능한 전력을 모니터링함에 있어, 자원 모니터(48)는 주어진 비디오 시퀀스에 대하여 프레임당 소비된 MIPS, 프레임당 페치된 데이터, 및 디스플레이를 위해 전송된 프레임 데이터의 양을 추적할 수 있다. 예를 들어, 자원 모니터(48)는 특정 GOP 또는 다른 비디오 시퀀스에 대하여 MIPS, 페치된 데이터 및 디스플레이된 데이터의 임시 누적 총합(running, cumulative total)을 유지할 수 있고, 그러한 값들을 대응하는 전력 소비 값들에 맵핑할 수 있다. 특히, 자원 모니터(48)는 상기 값들 각각을 예를 들어, 하나 이상의 룩업 테이블들 내의 대응하는 전력 소비 값에 맵핑할 수 있고, 그 다음 전체 전력 소비 값을 생성하기 위해 상기 값들을 합할 수 있다. 대안예로서, 자원 모니터(48)는 MIPS, 페치된 데이터 및 디스플레이된 데이터에 관한 인덱스들의 조합을 프레임 또는 다른 비디오 유닛에 대한 전체 전력 소비 값에 맵핑하는 다차원 룩업 테이블을 액세스할 수 있다.
추가 대안예로서, 자원 모니터(48)는 그러한 값들을 프레임당 기반(frame-by-frame basis) 상에서 전력 소비 값들에 맵핑할 수 있고, 비디오 시퀀스에 대한 전력 소비의 임시 총합을 생성하기 위해 전력 소비 값들을 누적하여 합할 수 있다. 예시로서, 만약 비디오 시퀀스(예를 들어, 30개의 프레임들의 시퀀스)가 X의 전력 예산을 갖고, 상기 시퀀스 내 n번째 프레임에서, MIPS, 페치된 데이터 및 디스플레이된 데이터가 전력 Y의 양을 소비했다고 추정되어, 그 결과 이용가능한 전력 예산이 X-Y=Z이라면, 자원 모니터(48)는 품질-중점 모드나 전력-중점 모드를 선택하기 위해 이용가능한 전력 예산을 사전결정된 제 1 임계치와 비교할 수 있다.
상기 시퀀스에 대한 전력 예산은 상기 시퀀스 내 프레임들의 개수로 나누어질 수 있고, 부가적인 전력 예산을 정당화할 수 있는 전체 시퀀스 또는 상기 시퀀스 내 프레임들에 걸쳐 보다 고른 할당을 제공할 여러 다양한 방법들로 상기 시퀀스의 진행(course)에 걸쳐 업데이트될 수 있고, 그 결과 전력 예산은 비디오 시퀀스에서 조기에 불규칙하게 소비되지 않는다. 여러 다양한 대안예들이 품질-중점 모드 또는 전력-중점 모드의 선택을 지원하기 위하여 전력 예산 대비 전력 소비를 추정하기 위해 이용가능하다. 따라서, 상기 예들은 예시를 목적으로 제공되고, 본 개시물에 광범위하게 기재된 기술들을 제한하는 것으로 고려되지 않아야 한다.
품질-중점 모드에서, FRUC 유닛(22)은 배타적으로, 주로 또는 실질적으로 하나 이상의 기준 프레임 품질 기준들에 기초하여 기준 프레임 선택을 수행할 수 있다. 품질 기준들은 예를 들어, 선택된 기준 프레임에 의해 생성될 것 같은 보간 또는 보외 품질의 레벨을 나타낼 수 있다. 기준 프레임들 중 어느 것도 품질 기준들을 만족시키지 못한다면, 프레임 대체는 부가될 특정 프레임에 대하여 선택 유닛(44)에 의해 디스에이블될 수 있다. 이러한 경우에, 프레임 대체 유닛(38)은 부가될 프레임을 근사화할 프레임 보간 대신에 프레임 대체를 적용할 수 있다.
자원-중점 모드에서, FRUC 유닛(22)은 자원 및 품질 고려사항들 양쪽 모두의 조합에 기초하여 소정 프레임들에 대한 프레임 대체를 선택적으로 인에이블 또는 디스에이블할 수 있다. 예를 들어, 선택 유닛(44)은 FRUC 분석 유닛(42)이 비디오 시퀀스가 대체될 프레임의 근처에서 대체로 정적임을 결정할 때 프레임 대체를 디스에이블할 수 있다. 만약 비디오 시퀀스가 낮은 레벨의 모션을 포함한다면, 대체를 수행함에 있어 거의 이점이 없거나 아무런 이점이 없을 수 있는데, 그 이유는 보간 또는 보외와 프레임 반복 사이의 시각적 차이들이 작거나 심지어 인식될 수 없기 때문이다. 이러한 경우, 대체를 디스에이블시킴으로써, 디코더(14)는 시각적 품질에 거의 영향을 주지 않으면서 보간 또는 보외를 위한 전력 및 자원들의 소비를 회피할 수 있다.
자원-중점 모드에서 대체를 정당화할 충분한 모션이 존재할 때, 분석 유닛(42)은 품질-중점 모드에서 사용된 것과 동일하거나 유사한 품질 분석을 수행할 수 있다. 그리하여, 자원-중점 및 품질-중점 모드들은 완전히 별개의 모드들이 아닐 수 있다. 오히려, 자원-중점 모드가 활성화될 때, 품질-중점 모드는 적용가능한 경우 모션 레벨이 보간 또는 보외를 정당화하기에 충분한 경우에만 진행될 수 있다. 품질-중점 모드는 단독으로 활성화될 수 있거나, 자원-중점 모드는 프레임 대체를 디스에이블하도록 동작함으로써 품질-중점 모드를 비활성화시키거나 대체를 인에이블시켜 품질-중점 모드를 활성화시킬 수 있다. 현저하게, 품질-중점 모드에서조차, 대체는 후보 기준 프레임들 중 어느 것도 품질 기준들을 만족시키지 못하는 경우 디스에이블될 수 있다.
옵션으로서, 자원-중점 모드에서, 대체가 인에이블될 때, 품질 분석을 위해 사용된 품질 임계치들은 예를 들어, 비디오 디코더(14)의 자원 절약 요구조건들의 함수로써 조정가능할 수 있다. 예를 들어, 상기 임계치는 이용가능한 전력, 컴퓨팅 자원들 및/또는 메모리 자원들과 같은 비디오 디코더(14)의 이용가능한 보간 자원들에 기초하여 조정될 수 있다. 소정의 구현예들에서, 품질 임계치는 비디오 디코더(14), 비디오 포스트-프로세서, 및/또는 이동 디스플레이 프로세서(MDP)와 같은 비디오 디스플레이 프로세서와 연관된 이용가능한 전력 자원들의 레벨와 같은, 이용가능한 전력 자원들의 레벨에 기초하여 조정될 수 있다. 어느 경우든, 임계치들이 고정되든, 아니면 조정가능하든, 대체가 인에이블된다면, 분석 유닛(42)은 기준 프레임들을 선택할 하나 이상의 품질 기준들을 적용하거나 대체를 디스에이블할 수 있다.
일 예로서, 부가될 프레임의 근처의 비디오 시퀀스가 매우 낮은 모션 비디오 컨텐트에 특징이 있다면, 비디오 프레임 보간 또는 보외의 이점은 매우 눈에 띄지 않을 수 있다. 그리하여, FRUC 유닛(22)은 어떤 프레임들을 비디오 프레임 대체를 위한 기준 프레임들로서 사용할지 뿐만 아니라, 어떤 프레임들을 프레임 대체에 의해 부가할지, 즉, 어떤 프레임들을 보간 또는 보외할지를 결정할 수 있다. 소정의 프레임들에 대하여, 보간 또는 보외의 비용은 시간적인 시각적 품질의 충분한 향상에 의해 정당화되지 않을 수 있다. 예를 들어, 소정의 스킵된 프레임들에 대한 보간을 회피함으로써, 자원-중점 모드에서, FRUC 유닛(22)은 컴퓨팅 자원들 및 연관된 전력 소비에서의 절약들을 비디오 시퀀스의 보간된 프레임 품질 및 시간적인 시각적 품질에서의 향상과 밸런싱할 수 있다. 제로 모션 벡터 카운트 및/또는 작은 모션 벡터 카운트는 모션 컨텐트에 기초하여 특정 프레임을 보간할지 또는 보외할지 여부를 결정하기 위한 결정 기준들로서 사용될 수 있다. 카운트 임계치들은 상이한 방법들로 도출될 수 있다. 예를 들어, 상기 임계치들은 모션 액티비티(activity)를 판단하는 제로 모션 벡터 카운트 및 작은 모션 벡터 카운트 중 하나 또는 양자 모두에 대하여 고정될 수 있다. 대안적으로, 상기 임계치들 중 하나 또는 양자 모두는 예를 들어, 디코더(14)의 자원 레벨들에 기초하여 조정될 수 있다.
도 3 및 도 4의 예들에서, 대체를 위한 기준 프레임들의 품질-중점 선택을 위하여, 비디오 디코더(14)는 여러 다양한 품질-관련 기준들에 의존할 수 있다. 예를 들어, FRUC 유닛(22)은 기준 프레임들을 재구성하기 위해 제공된 에러 은폐 방법의 신뢰성 및 타입과 조합하여 기준 프레임들의 슬라이스 및/또는 프레임 손실 정보에 기초하여 비디오 프레임 대체에 사용하기 위한 기준 프레임들을 선택할 수 있다. FRUC 유닛(22)은 손실로 인한 에러의 레벨, 및 에러를 교정하기 위해 이용가능한 에러 은폐 메커니즘의 품질을 분석하도록 구성될 수 있다. 대안적으로, 또는 부가적으로, FRUC 유닛(22)은 프레임들의 상대적 품질 레벨들의 표시로서 후보 프레임들과 연관된 QP 값들 및 CBP 값들을 분석할 수 있다. 예를 들어, QP 값은 기준 프레임의 품질을 판단하기 위해 CBP 값과 결합될 수 있다.
FRUC 유닛(22)은 또한 객관적인 시각적 품질 메트릭들을 적용할 수 있다. 객관적인 시각적 공간적인 품질 메트릭들은 구조적 유사성 메트릭(SSIM), 블록화 정도, 및/또는 흐릿함 정도와 같은 비-참조(non-reference) 메트릭들일 수 있다. 객관적인 품질 메트릭들은 대안적으로 또는 부가적으로 색 번짐을 포함할 수 있다. 객관적인 품질 메트릭들은 후보 기준 프레임들에 대한 품질 스코어들을 생성하기 위해 사용될 수 있다. 품질 기준들의 다른 예들은 후보 기준 프레임들에서 사용된 인트라 모드들의 타입들, 또는 후보 기준 프레임들 각각에 대한 인트라 모드 및 모션 벡터 카운트를 포함할 수 있다. 필요에 따라 부가적인 기준들이 또한 이용될 수 있다.
일부 양상들에서, 전술한 바와 같이, FRUC 유닛(22)은 주어진 비디오 애플리케이션들이 종단간 프로세싱에서 더 짧은 지연들을 요구할 때 프레임 대체를 디스에이블하거나 또는 미래의 프레임들 대신에 이전의 프레임들 쪽으로 기준 비디오 프레임들의 선택을 치우치게 하도록 구성될 수 있다. 예를 들어, 영상통화 애플리케이션들에서, 사용자들은 비디오의 프로세싱 및 프리젠테이션에서의 지연들의 감소 또는 제거를 요구할 수 있는 실시간 또는 준 실시간 비디오 컨퍼런스에 관여할 수 있다. 만약 프레임 대체 기술이 예를 들어, 보간 또는 보외를 위한 미래의 프레임들에 의존한다면, 부가적인 프레임을 생성하기 위하여 그러한 미래의 프레임들을 디코딩하고 프로세싱함에 있어서의 지연은 허용가능하지 않을 수 있다. 이러한 경우, 비디오 애플리케이션이 지연 요구조건을 부과할 때, FRUC 유닛(22)은 프레임 대체를 디스에이블하거나, 미래의 후보 기준 프레임들의 선택을 금지하거나, 또는 부가될 프레임의 프레임들의 사전결정된 개수 내에 있지 않은 미래의 후보 기준 프레임들의 선택을 금지하도록 구성될 수 있다.
예를 들어, 도 4에 도시된 바와 같이, FRUC 유닛(22)은 선택적으로 지연 검출 유닛(51)을 포함하고, 상기 지연 검출 유닛(51)은 주어진 비디오 애플리케이션에 의해 부과된 서비스 요구조건의 최대 지연 또는 다른 품질을 검출하고, 선택 유닛(44)에게 프레임 대체를 디스에이블하거나 보간 또는 보외를 위한 기준 프레임들로서 과거의 프레임들 또는 가까운 미래의 프레임들의 선택을 요구할 것을 지시한다. 만약 지연 검출 유닛(51)이 영상통화 애플리케이션 또는 다른 지연-민감 비디오 애플리케이션이 최소 지연을 요구함을 검출한다면, 지연 검출 유닛(51)은 선택 유닛(44)에게 프레임 대체를 디스에이블시킬 것을 지시할 수 있다. 지연-민감 애플리케이션 또는 지연-민감일 수 있는 애플리케이션의 타입은 디코더(14)가 임베딩되어 있는 디바이스로부터의 특정 신호의 수신, 디코더(14)에 의해 수신된 비디오 데이터와 연관된 주변 정보(side information)에 제공된 특정 신호의 수신에 기초하여, 또는 여러 다양한 다른 방식들 중 임의의 방식으로 지연 검출 유닛(51)에 의해 검출될 수 있다. 지연-민감 애플리케이션의 검출의 경우에, 대체 유닛(38)은 사용자들에 대한 비디오 컨퍼런스의 품질을 훼손할 수 있는 당황스러운 지연들을 회피하기 위하여 프레임 반복을 적용하거나 또는 FRUC을 완전히 비활성화시킬 수 있다.
대안적으로, 지연 검출 유닛(51)은 선택 유닛(44)(및/또는 분석 유닛(42))에게 프레임 대체를 인에이블하면서 예를 들어, 시간적인 거리 요구조건에 기초하여, 보간 또는 보외를 위한 과거 기준 프레임들 또는 가까운 미래의 기준 프레임들의 사용을 요구할 것을 지시할 수 있다. 그리하여, 지연 검출 유닛(51)은 충분한 품질을 갖지만 부가될 프레임으로부터 과도한 시간적 거리를 갖는 것으로서 표시된 특정 미래의 기준 프레임들의 선택을 회피할 선택 유닛(44)에 대한 제약들을 부과할 수 있다.
예를 들어, 부가될 프레임에 대하여, 하나 또는 2개의 프레임들만큼 미래에 있는 프레임들은 프레임 대체를 위한 기준 프레임들로서 사용하기에 허용가능할 수 있다. 그러나, 만약 미래의 프레임이 부가될 프레임으로부터 여러 개의 프레임들만큼 떨어져 있는 시간적 거리에 있다면, 디코딩되고 분석될 프레임을 대기하는 것으로부터 야기될 수 있는 프로세싱 및 프리젠테이션 지연은 허용가능하지 않을 수 있다. 거리 분석은 품질 분석 이후에 또는 품질 분석 이전에 후보 기준 프레임들에 적용될 수 있다. 만약 거리 분석이 품질 분석 이전에 적용된다면, 지연 검출 유닛(51)은 후보 기준 프레임이 미래의 프레임이고 부가될 프레임으로부터 그 프레임의 거리가 너무 크다면 분석 유닛(42)에게 특정 후보 기준 프레임에 대한 품질 분석을 보류할 것을 지시할 수 있다.
대안예로서, 지연 검출 유닛(51)은 지연이 중요할 때 분석 유닛(42)에게, 부가될 프레임으로부터의 과도한 거리에 놓인 미래의 기준 프레임들이 주어진 낮은 품질 스코어들이거나 품질 분석에서의 고려로부터 배체되도록 그것의 품질 분석을 조정할 것을 지시할 수 있다. 어느 경우에서든, 그 효과는 소정의 미래의 기준 프레임들이 기준 프레임들로서의 선택으로부터 배제되고, 그 결과 프레임 대체가 영상통화와 같은 지연-민감 비디오 애플리케이션의 지연 특성들에 악영향을 주지 않으면서 진행될 수 있는 것일 수 있다. 일부 경우들에, 영상통화 또는 다른 지연-민감 비디오 애플리케이션들에 대하여, 지연 요구조건들은 예를 들어, 영상통화 애플리케이션의 실시간 또는 준 실시간 서비스 요구조건들로 인하여 프레임 대체를 배제할 수 있다. 그러나, 비디오 스트리밍 및 재생(playback)에 대하여, 지연 이슈들은 보통 덜 중요할 수 있다.
전술한 바와 같이, 소정의 구현예들에서, 부가적인 비디오 유닛의 보간 또는 보외에 사용하기 위한 후보 기준 비디오 유닛들 중 하나 이상은 부가적인 비디오 프레임으로부터의 후보 기준 비디오 유닛들 중 하나 이상의 시간적 거리에 적어도 부분적으로 기초하여 선택될 수 있다. 후보 기준 비디오 유닛들은 지연-민감 애플리케이션이 검출될 때 시간적 거리에 기초하여 선택될 수 있다. 대안적으로, 후보 기준 비디오 유닛들은 정기적으로 시간적 거리에 기초하여, 또는 소정의 다른 트리거링 이벤트에 응답하여 선택될 수 있다. 그리하여, 일부 양상들에서, 시간적 거리는 보간 또는 보외에 사용하기 위한 기준 프레임들의 선택을 위해 적용된 품질 분석의 일부를 형성할 수 있다.
도 5는 도 3 또는 도 4의 비디오 디코더(14)와 사용하기 위한 기준 프레임 분석 유닛(42)을 예시하는 블록 다이어그램이다. 전술한 바와 같이, 비록 기준 비디오 프레임들의 분석 및 선택이 예시를 목적으로 기술되었지만, 분석 유닛(42)의 구조 및 기능은 슬라이스들 또는 블록들(예를 들어, 매크로블록들 또는 더 작은 블록들)과 같은 다른 기준 비디오 유닛들의 분석 및 선택을 위해 적응될 수 있다. 도 5의 예에서, 분석 유닛(42)은 객관적인 메트릭 체크기(objective metric checker)(50), 에러 은폐(error concealment; EC) 체크기(52), 양자화 파라미터(QP) 체크기(54), 코딩된 블록 패턴(CBP) 체크기(56), 품질 스코어 계산기(58), 비교 유닛(59), 및 모션 벡터(MV) 신뢰성 체크기(60)를 포함한다.
도 5에 도시된 여러 다양한 유닛들은 보간이 인에이블될 때 동작의 품질-중점 모드, 및 동작의 자원-중점 모드에 사용될 수 있다. 동작의 자원-중점 모드가 예를 들어, 모드 선택 유닛(46)에 의해 선택될 때, 분석 유닛(42)은 모션 분석기(64)를 활성화시킬 수 있다. 부가하여, 선택적으로, 분석 유닛(42)은 자원-중점 모드로 모드 조정 유닛(62)을 활성화시킬 수 있다. 선택 유닛(44)은 부가될 프레임에 대한 프레임 대체를 수행할지 여부, 프레임 대체가 수행된다면, 프레임을 부가할 프레임 대체에 사용하기 위한 기준 프레임으로서 분석되고 있는 프레임을 선택할지 여부를 결정하기 위해 MV 신뢰성 체크기(60) 및 모션 분석기(64)의 출력들을 고려할 수 있다.
객관적인 메트릭 체크기(50)는 그러한 프레임들과 연관된 SSIM 값들 및/또는 블록화, 흐릿함 또는 색 번짐의 정도를 결정하고, 그러한 결정에 기초하여 품질 스코어를 생성하기 위해 후보 기준 프레임들을 분석하도록 구성될 수 있다. 특정 후보 기준 프레임에 대한 객관적인 메트릭 체크기(50)에 의해 생성된 품질 스코어는 상당한 블록화, 흐릿함, 및/또는 색 번짐이 검출될 때 로우(low)이고, 거의 블록화, 흐릿함, 및/또는 색 번짐이 없을 때 하이(high)일 수 있다. 상이한 후보 기준 블록들에 대한 품질 스코어는 그러한 객관적인 시각적 품질 메트릭 특성들의 함수로써 하이와 로우 사이에서 가변될 수 있다. 대안적으로, 품질 스코어는 사전결정된 임계치와의 비교에 기초하여 하이 또는 로우로 표현될 수 있다.
분석 유닛(42)이 객관적인 메트릭 체크기(50)를 사용할 때, 객관적인 메트릭 체크기는 디코딩 유닛(36)에 의해 재구성된 디코딩된 프레임들에 적용될 수 있다. 그리하여, 분석 유닛(42)은 수신된 프레임 버퍼(34)로부터 획득된 인코딩된 프레임들을 분석할 수 있고, 객관적인 메트릭 체크기(50)를 통해, 디코딩 유닛(36)을 통해 수신된 프레임 버퍼(34)로부터의 프레임들을 디코딩함으로써 획득된 재구성된 프레임들을 수신 및 분석할 수 있다. 객관적인 메트릭 체크기(50)는 품질 스코어를생성하기 위해 SSIM 값, 블록화 정도, 흐릿함 정도, 색 번짐 정도 또는 다른 객관적인 품질 메트릭들에 대하여 재구성된 후보 기준 프레임들을 분석할 수 있다.
EC 체크기(52)는 각각의 프레임이 슬라이스 및/또는 프레임 손실을 경험하였는지 여부, 그리고 각각의 프레임이 슬라이스 및/또는 프레임 손실을 경험하였다면, 신뢰성 있는 에러 은폐 메커니즘이 수신된 프레임 버퍼(34)로부터 획득된 인코딩된 프레임을 재구성하기 위해 이용가능한지 여부를 결정하기 위해 후보 기준 프레임들을 분석한다. 이러한 견지에서, EC 체크기(52)는 EC 신뢰성 체크기로서 동작할 수 있다. 만약 손실이 사전결정된 레벨을 초과하는 에러를 야기한다면, EC 체크기(52)는 그러한 에러를 교정하기 위해 이용가능한 에러 은폐 메커니즘의 품질을 평가할 수 있다. 아무런 슬라이스 또는 프레임 손실도 존재하지 않거나, 슬라이스 또는 프레임 손실을 보상할 충분한 에러 은폐 메커니즘이 존재할 때, EC 체크기(52)는 특정 후보 기준 프레임에 대하여 비교적 높은 스코어를 생성할 수 있다. 에러 은폐가 슬라이스 또는 프레임 손실을 보상하기에 불충분할 때, EC 체크기(52)는 낮은 스코어를 생성할 수 있다. EC 체크기(52)에 의해 생성된 스코어는 슬라이스 또는 프레임 손실의 양에 따라, 또는 단순히 사전결정된 임계치와의 비교에 기초한 하이 또는 로우 스코어에 따라 가변할 수 있다.
EC 체크기(52)는 여러 다양한 방식들로 이용가능한, 충분한 에러 은폐 메커니즘이 존재하는지 여부를 결정할 수 있다. 일 예로서, EC 체크기(52)는 비디오 코딩의 타입, 예를 들어, H.264(공동-위치한(co-locate) 매크로블록으로부터의 모션 벡터를 사용), 또는 디코더(14)가 구현된 칩 또는 칩셋에서 수행될 공지된 비디오 코딩의 타입에 사용된 에러 은폐의 사전결정된 지식에 기초하여 에러 은폐의 타입을 식별할 수 있다. EC 체크기(52)는 상이한 슬라이스 또는 프레임 손실 시나리오들에 대한 특정 에러 은폐 메커니즘들의 유효성에 대한 이전의 오프-라인 분석에 의존할 수 있다.
예를 들어, 각각의 에러 은폐 메커니즘은 손실들의 상이한 개수들, 손실들의 상이한 위치들, 영향받은 블록들 또는 유닛들의 개수들, 에러 검출 시간, 및 이와 유사한 것을 다룸에 있어서의 유효성에 대해 평가될 수 있다. EC 체크기(52)는 특정 슬라이스 또는 프레임 손실과 연관된 전술한 특성들(즉, 손실들의 개수, 위치들, 에러 검출 시간) 중 하나 이상을 결정할 수 있고, 그 다음, 그러한 특성들이 주어지고, 유사한 조건들 하에서 그러한 에러 은폐 메커니즘의 성능에 대한 사전 지식이 주어진 경우, 이용가능한 에러 은폐 메커니즘이 효과적일 것인지 여부를 결정할 수 있다.
예시로서, 만약 에러 은폐 메커니즘 X가 디코더(14)에 사용되고, 메커니즘 X가 Y1 미만의 손실들의 개수, 손실들의 위치, 특히 지역들, 및 Y2 미만의 영향받은 블록들/유닛들의 개수에 특징이 있는 손실들에 대해 유효하다면, 에러 검출 프로세싱에 시간 Z보다 더 많은 시간이 주어지는 경우, 전술한 특성들에 부합하는 손실은 메커니즘 X를 사용하여 은폐할 수 있어야 하고, 이러한 경우 EC 체크기(52)는 하이 EC 스코어를 생성할 수 있다.
여러 다양한 시나리오들에서, 상기 특성들 중 어느 하나가 만족되지 않는 경우, 또는 특성들 중 하나 이상의 조합들이 슬라이스 또는 프레임 손실에 존재하는 경우, 에러 은폐가 실패할 수 있다. 만약 손실이 전술한 특성들에 부합되지 않는다면, EC 체크기(52)는 로우 EC 스코어를 생성할 수 있다. 그리하여, EC 체크기(52)는 에러 은폐 메커니즘의 타입에 대한 지식, 및 상이한 특성들을 갖는 슬라이스 또는 프레임 손실들을 은폐하는데 있어서의 그것의 유효성에 의존할 수 있다.
QP 체크기(54)는 각각의 후보 기준 프레임과 연관된 양자화 파라미터(QP) 값들을 분석한다. 일반적으로, QP 값은 인코딩된 비디오 프레임의 각각의 블록 내 변환 계수들의 양자화 단계 크기를 나타낸다. QP 값은 일 프레임 내 모든 블록들에 대해 동일하거나, 상이한 블록들에 대해 변화할 수 있다. 일 예로서, QP 체크기(54)는 기준 프레임을 형성하는 블록들의 평균 QP 값을 분석할 수 있다. 대안적으로, QP 체크기(54)는 일 프레임에 대한 최대 또는 최소 QP 값을 분석할 수 있다. QP 체크기(54)는 일 프레임에 대한 평균 QP 값이 하이인 경우 H.264 코딩의 경우에 비디오 데이터의 개략적인 양자화(coarse quantization)를 나타내는 비교적 낮은 스코어를 생성할 수 있다. 더 작은 QP 값들은 H.264 코딩에서 더 미세한 양자화 단계 크기, 및 일반적으로 더 높은 비디오 품질을 나타낸다. 그리하여, H.264 코딩에 대하여, 만약 평균 QP 값이 더 낮다면, QP 체크기(54)는 더 높은 품질 스코어를 생성할 수 있다.
CBP 체크기(56)는 각각의 후보 기준 프레임에 대하여 CBP 값을 분석한다. CBP 값은 상기 프레임을 형성하는 블록들에 대한 평균 CBP 값일 수 있다. 일반적으로, CBP 값은 일 블록에 아무런 넌제로 변환 계수들을 존재하지 않음 또는 일 블록에 적어도 하나의 넌제로 계수들을 존재함을 나타낸다. 변환 계수들은 이산 코사인 변환(DCT), 웨이블릿(wavelet) 변환, 또는 다른 압축 변환 도메인과 같은 압축 도메인에 존재할 수 있다. CBP 체크기(56)에 의해 분석된 CBP 값은 루마(luma) 또는 크로마(chroma) CBP 값, 또는 양자 모두일 수 있다. 주어진 프레임에 대하여, CBP 체크기(56)는 CBP 값이 적어도 하나의 넌제로 변환 계수 값을 나타내는 대상이 되는 블록들의 개수를 결정할 수 있다. 일부 양상들에서, QP 체크기(54) 및 CBP 체크기(56)는 결합될 수 있다. 이러한 경우에, 결합된 스코어는 평균 QP 값 및 CBP 값에 기초하여 생성될 수 있다.
만약 QP 값이 사전결정된 QP 임계치 미만이고, 블록들 중 실질적으로 어느 것도 넌제로 계수들을 갖지 않음을 나타내면서, CBP 값이 대체로 제로라면, 상기 프레임의 품질은 하이 스코어에 의해 표시될 수 있다. 대체로 제로로서 간주되는 CBP 값은 CBP 값이 적어도 하나의 넌제로 계수를 나타내는 대상이 되는 블록들의 개수가 CBP 임계치 미만일 때 결정될 수 있다. 대안적으로, 만약 QP 값이 QP 임계치를 초과할 때, 상기 스코어는 로우일 수 있다. 매우 높은 QP 및 제로 또는 미디엄(medium) CBP 값이 로우 스코어를 나타낼 수 있다. 만약 CBP가 제로이고 QP 값이 임계치 미만이라면, 일 블록에 대한 모션 추정은 매우 정확하고, 이것은 하이 품질 스코어를 야기하여야 한다.
품질 스코어 계산기(58)는 객관적인 메트릭 체크기(50), EC 체크기(52), QP 체크기(54), 및 CBP 체크기(56) 중 하나 이상의 출력들에 기초하여 후보 기준 프레임에 대한 전체적인 품질 스코어를 생성하도록 구성될 수 있다. 객관적인 메트릭 체크기(50), EC 체크기(52), QP 체크기(54), 및 CBP 체크기(56)에 의해 생성된 개별적인 스코어들은 단순히 하이 또는 로우 품질 값들, 또는 하이, 미디엄 또는 로우 품질 값들로서 구성될 수 있다. 대안적으로, 상기 스코어들은 다양한 등급들에 따라 또는 거의 연속적인 스케일에 따라 계산될 수 있다. 품질 스코어 계산기(58)는 객관적인 메트릭 체크기(50), EC 체크기(52), QP 체크기(54), 및 CBP 체크기(56)에 의해 생성된 스코어들 각각에 균등한 가중을 용인할 수 있다. 대안적으로, 품질 스코어 계산기(58)는 총 품질 스코어가 상기 스코어들 전부의 가중된 합계가 되도록 상기 스코어들에 사전결정된 불균일한 가중을 적용할 수 있다.
일 예시로서, 소정의 구현예들에서, 품질 스코어 계산기(58)는 EC 체크기(52) 및 객관적인 메트릭 체크기(50)에 의해 출력된 스코어들에 대해서보다 QP 체크기(54) 및 CBP 체크기(56)에 의해 출력된 스코어들에 더 많은 가중이 있다고 고려(attribute)할 수 있다. 다른 구현예들에서, EC 체크기(52)의 출력은 보다 중요할 수 있다. 전술한 바와 같이, 품질 스코어 계산기(58)는 상기 출력들을 가중할 수 있다. 대안예로서, 체크기들(50, 52, 54, 56) 각각은 사전 할당된 가중들로 개별적으로 가중된 스코어를 생성하도록 구성될 수 있다. 품질 스코어 계산기(58)는 스킵된 프레임의 보간에 사용하기 위한 후보 기준 프레임의 품질을 나타내는 총 스코어를 출력한다.
상기 스코어를 계산하기 위해 사용된 품질 특성들, 예를 들어, 객관적인 메트릭들, EC 특성들, QP 및 CBP 특성들을 가정하면, 총 스코어는 후보 기준 프레임이 허용가능한 품질의 레벨을 가진 프레임 대체 결과를 생성할 것 같은지 여부를 나타낼 수 있다. 비교 유닛(59)은 총 스코어를 품질 임계값과 비교할 수 있다. 만약 총 스코어가 만족스럽다면, 예를 들어, 품질 임계값을 초과한다면, 비교 유닛(59)은 후보 기준 프레임이 적용가능한 경우, 부가적인, 즉, 여분의 프레임의 보간 또는 보외를 위한 기준 프레임으로서의 선택에 대해 허용가능한 품질의 레벨을 가짐을 나타낸다. 만약 총 스코어가 품질 임계값 미만이라면, 비교 유닛(59)은 후보 기준 프레임이 적용가능한 경우 보간 또는 보외를 위한 기준 프레임으로서의 선택을 위해 허용가능하지 않음을 결정한다. 각각의 경우에, 분석 유닛(42)은 현재 고려 하에 있는 부가적인 프레임에 대한 다음의 후보 기준 프레임을 분석하도록 진행하거나, 부가될 다음 프레임에 대한 기준 프레임들을 분석하도록 진행할 수 있다. 특정 대체 프레임을 위해 고려되는 후보 기준 프레임들의 개수는 설계 고려사항들에 따라 가변될 수 있다.
만약 총 스코어가 만족스럽다면, 예를 들어, 품질 임계값을 만족시키거나 품질 임계값을 초과한다면, 비교 유닛(59)은 고려 하에 있는 후보 기준 프레임이 품질 기반 상에서 기준 프레임으로서의 선택에 적합함을 나타낼 수 있다. 대안적으로, 비교 유닛(59)은 전술한 바와 같이, 가장 높게 랭크된 기준 프레임들을 선택할 수 있다. 어느 경우든, 소정의 구현예들에서, 선택을 위한 기준 프레임을 승인하기 위하여, 분석 유닛(42)은 모션 벡터(MV) 신뢰성 체크기(60)를 더 포함할 수 있다. MV 신뢰성 체크기(60)는 비디오 프레임 대체가 보간 또는 보외를 위한 모션-보상된 예측 방법을 사용하는 경우, 선택된 기준 프레임들이 품질 프레임 대체 결과들을 생성할 것임을 보장하기 위해 후보 기준 프레임에서의 모션 벡터들의 신뢰성을 분석할 수 있다.
만약 모션 벡터들이 신뢰성이 있다면, MV 신뢰성 체크기(60)는 분석 중인 후보 기준 프레임이 프레임 대체를 위한 기준 프레임으로서 선택될 수 있음을 선택 유닛(44)에 나타낼 수 있다. `그러나, 만약 모션 벡터들이 신뢰성이 없다면, MV 신뢰성 체크기(60)는 비록 후보 기준 프레임이 비교 유닛(59)의 품질 요구조건들을 만족시켰을지라도 그러한 후보 기준 프레임을 거절할 수 있다. 이러한 경우에, MV 신뢰성 체크기(60)는 분석 중인 후보 기준 프레임이 프레임 대체를 위한 기준 프레임으로서 선택될 수 없음을 선택 유닛(44)에 나타낼 수 있다.
소정의 구현예들에서, 비교 유닛(59)은 그것들이 고려되는 한 기준 프레임들로서의 선택을 위한 적절한 프레임들을 나타낼 수 있다. 즉, 분석 유닛(42)이 각각의 후보 기준 프레임을 분석할 때, 만약 그것이 적합한 후보 기준 프레임을 식별한다면, 그것은 후보 기준 프레임이 선택되어야 함을 나타낼 수 있다. 상기 프로세스는 분석 유닛(42)이 후보 기준 프레임들의 충분한 개수 및 타입을 식별할 때까지 계속될 수 있고, 분석 유닛(42)이 후보 기준 프레임들의 충분한 개수 및 타입을 식별하는 지점에서 분석 유닛(42)은 현재의 프레임의 보간 또는 보외를 위한 후보 기준 프레임들의 분석을 중단하고 비디오 시퀀스에서 부가될 다음 프레임의 보간을 위한 후보 기준 프레임들의 분석으로 진행할 수 있다.
단순한 예로서, 분석 유닛(42)은 시간적으로 이전의 프레임과 미래의 프레임 사이에 존재하는 프레임의 보간을 위하여 단일의 이전의 기준 프레임 및 단일의 미래의 기준 프레임을 식별할 수 있다. 대안적으로, 보다 복잡한 타입들의 보간을 위하여, 분석 유닛(42)은 부가될 프레임의 보간을 위해 선택될 수 있는 다수의 이전의 그리고 미래의 기준 프레임들을 식별할 수 있다. 각각의 경우에서, 분석 유닛(42)은 충분한 개수 및 타입(예를 들어, 필요한 경우, 이전 및 미래)이 선택을 위해 식별될 때까지 부가될 프레임에 인접한 이전의 그리고 미래의 프레임들의 서브세트를 분석할 수 있다. 유한 개수의 프레임들이 분석될 수 있다. 만약 분석된 프레임들 중 어느 것도 충분한 품질 스코어를 생성하지 못한다면, 분석 유닛(42)은 아무런 프레임들도 선택되지 않음을, 그리고 프레임 대체 유닛(38)이 프레임 대체 대신에 프레임 반복을 적용하여야 함을 나타낼 수 있다.
소정의 구현예들에서, 분석 유닛(42)은 후보 기준 프레임들에 사용된 인트라-코딩 모드들 및/또는 인트라 모드의 타입들 및 후보 기준 프레임들에 대한 모션 벡터 카운트들과 같은 품질 기준들의 다른 타입들을 사용할 수 있다. 일 예로서, 만약 특정 후보 기준 프레임에서의 인트라-코딩된 블록들(예를 들어, 매크로블록들)의 개수가 모드 결정 임계치를 초과한다면, 분석 유닛(42)은 예를 들어, 후보 기준 프레임이 부가적인 프레임의 보간을 위해 사용되지 않아야 하도록 기준 프레임에 대한 낮은 보간 품질을 나타낼 수 있다. 모드 결정 임계치는 정적이거나, 예를 들어, 후보 기준 프레임에서의 임계치를 초과하는 다수의 코딩 비트들을 갖는 다수의 블록들에 기초하여 동적으로 조정될 수 있다. 광범위하게 다양한 다른 품질 기준들이 사용될 수 있다. 품질 분석을 위해 사용된 그러한 정보는 객관적인 품질 메트릭들, QP 및 CBP 특성들, 및 EC 특성들과 같이, 본 명세서에 기재된 다른 정보에 대한 대안물로서, 또는 이에 부가하여 고려될 수 있다.
소정의 부가적인 프레임들은 보간 또는 보외될 다른 근처의 프레임들과 동일한 기준 프레임들 중 일부를 사용하여 보간 또는 보외될 수 있다. 이러한 이유로, 일부 경우들에서, 일단 일 후보 기준 프레임이 품질에 대해 분석된다면, 후보 기준 프레임에 대한 품질에 관한 정보를 저장하는 것이 바람직할 수 있다. 이러한 방식으로, 만약 특정 후보 기준 프레임이 후보 기준 프레임으로서 이후에 고려된다면, 그것의 품질은 다시 분석을 수행하여야 할 필요없이 신속히 결정될 수 있다. 후보 기준 프레임은 비디오 시퀀스의 일 부분에서의 보간 또는 보외될 소수 개의 프레임들에 대한 잠재적인 기준 프레임으로서 관련될 수 있다.
비디오 시퀀스가 진행함에 따라, 저장된 정보는 보간 또는 보외될 프레임들에 대한 후보 기준 프레임의 증가하는 시간적 원격성으로 인하여 못쓰게 되거나 적어도 관련성이 낮아질 수 있다. 따라서 상기 정보는 소정의 시점에서, 예를 들어, 비디오 시퀀스가 후보 기준 프레임으로부터 사전결정된 개수의 프레임보다 더 많이 떨어져 있는 지점으로 진행한 이후에, 폐기될 수 있다. 품질 정보를 저장함으로써, 각각의 후보 기준 프레임에 대하여 단 한 번 분석 유닛(42)에서 품질 분석을 수행하여야 할 수 있다. 대안적으로, 품질 분석은 프레임이 부가될 프레임을 위한 후보 기준 프레임으로서 식별될 때마다 수행될 수 있다.
소정의 구현예들에서, 분석 유닛(42)은 적절한 품질 레벨들의 관점에서 분석되는 후보 기준 프레임들의 랭킹을 매기도록 구성될 수 있다. 예를 들어, 분석 유닛(42)은 후보 기준 프레임들의 랭킹을 매기는 랭킹 유닛(67A 또는 67B)을 포함할 수 있다. 이러한 경우에, 품질 임계값을 만족시키는 품질 스코어들을 갖는 충분한 개수 및 타입의 프레임들이 발견되었을 때 중지하는 대신에, 분석 유닛(42)은 최상의 품질 스코어들을 생성하는 프레임들을 식별하기 위해 후보 기준 프레임들의 랭킹을 매길 수 있다. 예를 들어, 분석 유닛(42)은 총 품질 스코어의 순서로, 비교 유닛(59)에 의해 표시되는 바와 같이, 품질 레벨을 만족시키는, 예를 들어, 품질 임계값을 만족시키거나 품질 임계값을 초과하는 후보 기준 프레임들의 랭킹을 매기고, 가장 높게 랭킹이 매겨진 후보 기준 프레임들을 선택할 수 있다.
일 옵션으로서, 도 5를 참조하면, 분석 유닛(42)은 비교 유닛(59)에 의해 만족스러운 것으로서, 즉, 품질 임계값을 만족시키거나 품질 임계값을 초과하는 것으로서 식별된 후보 기준 프레임들을 평가하고 랭킹을 매기는 랭킹 유닛(67A)을 포함할 수 있다. 랭킹 유닛(67)은 프레임 대체 유닛(38)에 의해 적용되는 프레임 대체의 타입에 요구되는 기준 프레임들의 개수와 일치하는, 다수의 가장 높게 랭킹이 매겨진 기준 프레임들을 선택할 수 있다. 그 다음, 선택된, 즉, 가장 높게 랭킹이 매겨진 후보 기준 프레임들은 그것들이 신뢰성 있는 MV 컨텐트를 갖는지 여부를 결정하기 위해 랭킹 유닛(67A)으로부터 MV 신뢰성 체크기(60)로 전달될 수 있다. 그러하다면, MV 신뢰성 체크기(60)는 상기 프레임들이 프레임 대체에 사용하기 위해 선택되어야 함을 선택 유닛(44)에 나타낼 수 있다. 만약 가장 높게 랭킹이 매겨진 후보 기준 프레임들이 신뢰성 있는 MV 컨텐트를 갖지 않는다면, MV 신뢰성 체크기(60)는 프레임 대체 유닛(38)이 프레임 대체 대신에 프레임 반복을 적용하여야 함을 선택 유닛(44)에 나타낼 수 있다.
또 다른 옵션으로서, 랭킹은 신뢰성 없는 MV 컨텐트에 의해 영향을 받을 수 있기 때문에, 분석 유닛(42)은 만족스러운, 예를 들어, 품질 임계값을 만족시키거나 품질 임계값을 초과하는 품질 스코어들을 갖는 모든 랭킹이 매겨진 후보 기준 프레임들을 MV 신뢰성 체크기(60)로 전달할 수 있다. 특히, 비교 유닛(59)은 통과하는 스코어들을 갖는 모든 후보 기준 프레임들을 MV 신뢰성 체크기(60)로 제공할 수 있다. MV 신뢰성 체크기(60)는 예를 들어, 비교 유닛(59)에 의해 표시된 바와 같이, 둘 다 모두 만족스러운 품질 스코어를 갖는, 예를 들어, 품질 임계값을 만족시키거나 품질 임계값을 초과하는 후보 기준 프레임들, 및 신뢰성 있는 MV 컨텐트를 식별한다. 분석 유닛(42)은 선택적으로 랭킹 유닛(67B)을 포함할 수 있고, 상기 랭킹 유닛(67B)은 MV 신뢰성 체크기(60)의 출력을 수신하고 품질 스코어의 관점에서 후보 기준 프레임들의 랭킹을 매긴다. 그 다음 랭킹 유닛(67B)은 가장 높게 랭킹이 매겨진 다수의 후보 기준 프레임들을 선택할 수 있고, 선택된 기준 프레임들을 선택 유닛(44)으로 전달할 수 있다. 선택 유닛(44)은 비디오 프레임을 부가하기 위해 프레임 대체에 사용하기 위해 선택된 기준 프레임들을 프레임 대체 유닛(38)에 통보할 수 있다.
MV 신뢰성 체크기(60)는 랭킹 유닛(67B)에 의한 랭킹 및 기준 프레임들로서의 선택을 위해 나머지 후보 기준 프레임들을 남겨두면서, 신뢰성 있는 MV 컨텐트를 갖지 않는 후보 기준 프레임들을 생략할 수 있다. 특히, 랭킹 유닛(67B)은 보간 시 기준 프레임들로서의 선택을 위해 랭킹이 매겨진 후보 기준 프레임들을 선택 유닛(44)에게 신뢰성 있는 MV 컨텐트를 갖는 가장 높게 랭킹이 매겨진 후보 기준 프레임들을 식별해줄 수 있다. 다시, 선택된 기준 프레임들의 개수는 프레임 대체 유닛(38)에 의해 사용된 프레임 대체의 타입, 즉, 보간 또는 보외의 타입, 및 프레임 대체 프로세스를 지원하기 위해 필요한 기준 프레임들의 개수의 함수일 수 있다.
MV 신뢰성 체크기(60)는 여러 다양한 상이한 기술들 중 임의의 것을 사용하여 모션 벡터 신뢰성을 분석할 수 있다. 일 예로서, MV 신뢰성 체크기(60)는 모션 차이 기반 접근법을 적용하도록 구성될 수 있다. MV 신뢰성 체크기(60)는 비디오 프레임의 X(수평)방향 및 Y(수직) 방향 양자 모두에서의 모션 벡터 정보를 분석하도록 동작할 수 있다. 이러한 경우에, MV 신뢰성 체크기(60)는 후보 기준 프레임의 블록들(예를 들어, 매크로블록들)의 X 방향으로의 모션 벡터들과 이전의 프레임 내에 공존하는 블록들의 X 방향으로의 모션 벡터들 간의 차이들이 임계치를 초과하는지 여부를 결정할 수 있다. 이러한 경우에, MV 신뢰성 체크기(60)는 후보 기준 프레임 내의 모션 벡터들이 신뢰성이 없음을 결정할 수 있다. 예를 들어, MV 신뢰성 체크기(60)는 후보 기준 프레임 내의 신뢰성 없는 모션 벡터들의 개수를 카운트할 수 있거나, 후보 기준 프레임 및 이전의 기준 프레임에서의 모션 벡터들 간의 전체적인 평균 차이를 결정할 수 있다.
X(예를 들어, 수평) 방향으로의 모션 벡터 신뢰성의 결정에 부가하여, MV 신뢰성 체크기(60)는 유사한 방식으로 Y(예를 들어, 수직) 방향으로의 모션 벡터 신뢰성을 결정할 수 있다. 만약 MV 신뢰성 체크기(60)가 X 방향 MV 비신뢰성 또는 Y 방향 MV 비신뢰성을 검출한다면, MV 신뢰성 체크기는 고려 중인 현재의 후보 기준 프레임을 거절하고 선택 유닛(44)에, 후보 기준 프레임이 스킵된 프레임의 보간을 위한 기준 프레임으로서 선택되지 않아야 함을 나타낼 수 있다. 대안예로서, 소정의 구현예들에서, 각 정보는 모션 벡터 크기 및 방향 모두를 평가하기 위해 사용될 수 있다. 그러나, 만약 후보 기준 프레임에 대한 MV들이 신뢰성이 있다면, MV 신뢰성 체크기(60)는 선택 유닛(44)에 후보 프레임이 여분 프레임의 보간 또는 보외를 위한 기준 프레임으로서 선택될 수 있음을 나타낼 수 있다.
대안으로서, MV 신뢰성 체크기(60)는 프레임-대-프레임 모션 변화 검출 기술을 사용하여 MV 신뢰성을 분석할 수 있다. 이러한 기술에 따라, MV 신뢰성 체크기(60)는 현재의 후보 기준 프레임에서의 모션이 이전의 또는 미래의 프레임같이 또 다른 인접한 프레임에서의 모션으로부터 상당히 변화되었을 때를 검출하도록 구성될 수 있다. 만약 변화의 크기가 임계값보다 크다면, MV 신뢰성 체크기(60)는 후보 기준 프레임의 MV들이 신뢰성이 없고 프레임 대체를 위한 기준 프레임으로서 선택되지 않아야 함을 결정한다.
프레임-대-프레임 모션 변화 검출 기술에 대하여, 후보 기준 프레임 및 인접한 프레임에서의 모션이 연속적인지 여부를 검출하기 위하여 이하의 두 가지 방법들이 사용될 수 있다. 첫째, 모션 변화 검출은 모션 통계치들에 기초할 수 있다. 이러한 경우, 모션 벡터 통계치들은 양쪽의 프레임들, 즉, 후보 기준 프레임 및 인접한 프레임에 대해 계산될 수 있다. 상기 통계치들은 모션 벡터(크기 및 각) 평균(mean) 및 표준편차를 포함할 수 있다. 둘째, 모션 변화 검출은 모션 벡터 라벨링에 기초할 수 있다. 이러한 경우, 통계치들에 기초한 모션 변화 검출은 결정할 프레임 레벨 상의 모션의 범위에 의존할 수 있다. 상기 2개의 프레임들에서의 각각의 공존하는 매크로블록들에 대한 모션의 차이는 검출되지 않을 수 있다. 그러나, 이러한 문제를 해결하기 위하여, 모션 벡터 라벨링에 기초한 모션 변화 검출이 사용될 수 있다.
추가의 대안예로서, MV 신뢰성 체크기(60)는 모션 궤적(motion trajectory) 기반 기술을 사용하여 MV 신뢰성을 분석할 수 있다. 이러한 경우에, 모션 궤적 기반 접근법은, 만약 후보 프레임이 인접한 프레임과 동일한 모션 궤적을 따랐다면, 매크로블록이 후보 프레임 내에 있었을 곳을 살펴봄으로써 인접한 프레임으로부터의 모션 벡터가 사용되어야 하는지 여부를 결정한다. 만약 매크로블록에 의해 전달된 객체가 후보 프레임에서의 관심 영역(즉, 손실된 매크로블록의 위치)과 현저한 중첩을 갖는다면, 그것의 MV는 신뢰성 있는 것으로 간주될 수 있고, 상기 후보 프레임이 프레임 대체를 위해 사용되어야 한다. 그렇지 않으면, 그것이 관심 영역으로부터 떨어져 이동한다면, 그것의 MV는 신뢰성이 없고 후보 프레임은 프레임 대체에 사용되지 않아야 한다.
비교 유닛(59)에 의해 사용된 품질 임계값은 허용가능한 프레임 대체 결과들과 상관하도록 여겨지는 품질 레벨을 표현하기 위해 사전결정되고 선택될 수 있다. 품질 임계값은 고정되거나 조정가능할 수 있다. 소정의 구현예들에서, 예를 들어, 품질값 임계값은 디코더(14)가 동작하는 모드의 함수로써 조정가능할 수 있다. 동작 시, 분석 유닛(42)은 먼저 자원-중점 모드가 온인지 오프인지를 체크할 수 있다. 만약 모드 선택 유닛(46)이 품질-중점 모드를 나타낸다면, 모드 조정 유닛(62)은 기존의 품질 임계값을 조정할 수 없다. 그러나, 모드 선택 유닛(46)이 자원-중점 모드를 나타낸다면, 모드 조정 유닛(62)은 품질 임계값을 조정할 수 있다. 예를 들어, 소정의 구현예들에서, 모드 조정 유닛(62)은 프레임의 보간 또는 보외를 위한 기준 프레임들로서 더 높은 품질 프레임들의 선택을 요구하도록 품질 임계값을 증가시킬 수 있다.
소정의 구현예들에서, 자원-중점 모드가 선택될 때, 품질 임계값은 제 1 값에서 증가된 제 2 값으로 증가될 수 있다. 다른 구현예들에서, 자원-중점 모드가 선택될 때, 품질 임계값은 이용가능한 자원 레벨의 함수로써 계산된 값으로 증가될 수 있다. 이용가능한 전력 또는 이용가능한 컴퓨팅 자원들과 같은 자원들이 더 낮아짐에 따라, 예를 들어, 품질 임계값은 더 높을 수 있다. 이러한 방식으로, 자원 레벨들이 더 낮을 때, 프레임 대체의 비용, 즉, 프레임 보간 또는 보외의 비용을 정당화하기 위해 더 높은 품질이 요구되도록, 품질 임계값은 이용가능한 자원 레벨에 역비례할 수 있다. 그리하여, 소정의 예들에서, 자원-중점 모드에서, 분석 유닛(42)은 프레임 대체를 인에이블할지, 아니면 디스에이블할지를 결정하기 위해 모션 액티비티 임계치를 적용하고, 프레임 대체가 인에이블될 때, 고정된 품질 임계값이나 이용가능한 자원 레벨들의 함수로써 조정된 품질 임계값을 사용할 수 있다.
만약 특정 프레임의 보간 또는 보외를 위한 후보 기준 프레임들 중 어느 것도 자원-중점 모드에서 증가된 품질 임계값을 만족시키는 품질 스코어를 생성하지 못한다면, 어떠한 프레임들도 상기 프레임의 보간 또는 보외를 위해 선택되지 못한다. 이러한 경우에, 선택 유닛(44)은 보간을 디스에이블하고, 이러한 경우에, 프레임 대체 유닛(38)은 프레임 대체를 보류하고 대신 프레임 반복을 적용할 수 있다. 자원-중점 모드에서 증가된 품질 임계값을 요구함으로써, 더 높은 품질 기준 프레임들이 프레임 대체에 이용가능하지 않다면, 모드 조정 유닛(62)은 사실상, 프레임 대체 유닛(38)에게 프레임 대체를 디스에이블할 것을 강요한다.
모드 선택 유닛(46)은 자원들이 제한될 때, 예를 들어, 전력, 컴퓨팅 및/또는 메모리 자원들이 더 희귀할 때, 자원-중점 모드를 선택할 수 있다. 자원-중점 모드는 매우 낮은 모션 비디오 컨텐트의 경우에서와 같이, 비디오 프레임 보간의 이점이 매우 두드러지지 않을 때 비디오 프레임 보간을 디스에이블할 수 있다. 이러한 방식으로, 모드 선택 유닛(46) 및 모드 조정 유닛(62)은 자원들이 제한될 때 프레임 보간 또는 보외에 대해 더 높은 품질 정당화를 부과한다. 즉, 자원 소비의 관점에서 프레임 대체의 비용을 정당화하기 위하여, 프레임 대체의 실제 결과들은 비교적 높은 시각적 품질로 이루어져야 한다. 자원들이 덜 희귀할 때, 모드 선택 유닛(46)이 품질-중점 모드를 선택하도록, 모드 조정 유닛(62)은 품질 임계값을 감소시킬 수 있다. 더 많은 후보 프레임들이 감소된 품질 임계값을 만족시킬 것 같을 수 있기 때문에, 감소된 품질 임계값은 프레임 대체가 더 빈번한 기반 상에서 진행할 것을 허용한다.
자원-중점 모드에서, 모드 선택 유닛(46)은 또한 모션 분석기(64)를 활성화시킬 수 있다. 품질 임계값을 조정하기 위해 소정의 구현예들에서 모드 조정 유닛(62)을 활성화시키는 것에 부가하여, 모션 분석기(64)는 적절한 비디오 장면이 비교적 정적인지 그렇지 않은지를 결정하기 위해 하나 이상의 후보 기준 프레임들의 모션 액티비티를 분석할 수 있다. 모션 분석기(64)는 상기 비디오 장면이 거의 없는 모션 또는 현저한 모션에 특징이 있는지 여부를 결정하기 위해 후보 기준 프레임들로부터의 모션 벡터 데이터를 분석할 수 있다. 예를 들어, 모션 분석기(64)는 비디오 프레임 대체를 인에이블하는지 디스에이블하는지를 결정하기 위해 현재의 앵커(anchor) 프레임의 모션 벡터들을 분석할 수 있다. 앵커 프레임은 스킵된 프레임에 인접한, 예를 들어, 스킵된 프레임의 이전 또는 이후의 프레임일 수 있다.
만약 상기 장면이 비교적 정적이도록, 앵커 프레임에 의해 표시된 모션이 거의 존재하지 않는다면, 모션 분석기(64)는 프레임 대체를 디스에이블할 출력을 생성할 수 있다. 만약 상기 장면이 비교적 정적이라면, 선택된 기준 프레임들이 높은 품질의 프레임 대체 결과를 생성할지라도, 시간적인 스킵된 프레임의 보간은 보통 프레임 반복에 비해 정당화될 수 없을 것이다. 일 예로서, 상기 장면이 비교적 정적일 때, 프레임 보간 및 프레임 반복에 의해 생성된 시각적인 품질 차이들은 비교적 미세할 수 있다. 이러한 이유로, 보간 및 비디오 버퍼와 디스플레이 사이의 비디오 데이터 트래픽에 의해 소비된 전력의 비용은 품질에서의 어떠한 현저한 이득들에 의해서도 정당화되지 않고, 디스에이블되어야 한다. 이러한 경우에, 프레임 반복이 품질 및 자원 보존 견지에서 더 바람직할 수 있다. 모션 분석기(64)가 프레임 대체가 디스에이블되어야 함을 나타낼 때, 현재 고려되는 기준 프레임에 대한 품질-중점 분석이 마찬가지로 디스에이블될 수 있다.
소정의 구현예들에서, 모션 분석기(64)는 모션 액티비티를 임계값과 비교할 수 있다. 모션 임계값은 고정되거나 조정될 수 있다. 예를 들어, 모션 분석기(64)는 이용가능한 전력, 컴퓨팅 및/또는 메모리 자원들의 레벨에 기초하여 모션 임계값을 조정할 수 있다. 조정가능한 경우에, 만약 전력 자원들이 비교적 높은 레벨에 있다면, 예를 들어, 모션 액티비티 임계값은 비교적 낮을 수 있다. 만약 전력 자원들이 예를 들어, 비교적 낮은 레벨에 있다면, 모션 임계값은 비교적 높을 수 있다. 어느 경우에서든, 임계값에 있거나 임계값을 초과하는 모션 액티비티는 품질-중점 모드의 동작과 일치하여, 프레임 대체에 사용하기 위한 하나 이상의 기준 프레임들의 선택을 경험하는 보간을 트리거할 수 있다. 더 높은 전력 레벨들에 대하여, 더 낮은 임계값은 프레임 대체를 트리거하기 위해 더 적은 모션이 요구될 수 있음을 의미한다. 그러나, 더 낮은 전력 레벨들에 대하여, 더 높은 임계값은 프레임 대체를 트리거하기 위하여 더 높은 모션이 요구될 수 있음을 의미한다.
모션 분석기(64), 및 선택적으로 모드 조정 유닛(62)은 모드 선택 유닛(46)이 자원-중점 모드를 선택할 때 활성화될 수 있고, 모드 선택 유닛(46)이 품질-중점 모드를 선택할 때 비활성화될 수 있다. 품질-중점 모드에서, 디코더(14)는 목적하는 시각적 품질을 생성하도록 동작할 수 있다. 그러나, 자원-중점 모드에서, 디코더(14)는 품질 및 자원 보존 목표 양자 모두를 조합할 수 있다. 모드 선택 유닛(46)은 예를 들어, 이용가능한 자원들을 하나 이상의 자원 임계치들과 비교함으로써, 제한된 자원들의 검출에 응답하여 자원-중점 모드를 선택할 수 있다. 그리하여, 소정의 구현예들에서, 모드 선택 유닛(46)은 품질-중점 모드를 디폴트로 선택하고, 이용가능한 자원들의 레벨에 기초하여 자원-중점 모드를 선택할 수 있다. 대안적으로, 자원-기반 모드가 디폴트 모드일 수 있고, 이 경우, 모드 선택 유닛(46)은 이용가능한 자원들이 하나 이상의 자원 임계치들을 초과할 때 품질-중점 모드를 선택한다.
사실상, 모드 선택 유닛(46)은 선택 유닛(44)에게 자원-중점 모드에서 부가적인 비디오 유닛의 보간 또는 보외를 선택적으로 인에이블 또는 디스에이블시킬 것을 지시할 수 있고, 선택 유닛에게 품질-중점 모드에서 부가적인 비디오 유닛의 보간 또는 보외를 인에이블시킬 것을 지시할 수 있다. 특히, 모드 선택 유닛(46)은 선택 유닛(44)에게 모션 분석기(64)를 트리거링함으로써 자원-중점 모드에서의 보간 또는 보외를 선택적으로 인에이블 또는 디스에이블시킬 것을 지시할 수 있다. 그 다음 선택 유닛(44)은 모션 분석기(64)의 출력에 기초하여 보간 또는 보외를 선택적으로 인에이블 또는 디스에이블할 수 있다. 대안적으로, 선택 유닛(44)은 선택 유닛(44)에게 예를 들어, 모션 분석기(64)를 트리거링하지 않음으로써, 보간 또는 보외를 인에이블시킬 것을 지시할 수 있다. 선택 유닛(44)에 의한 보간의 인에이블은 여전히 기준 프레임들을 선택하기 위해 또는 어떠한 적절한 기준 프레임들도 이용가능하지 않다면 보간 또는 보외를 디스에이블하기 위해 분석 유닛(42)에 의한 품질 분석의 대상이 될 수 있다.
부가적이고 선택적인 특징으로서, 일부 양상들에서, 분석 유닛(42)은 거리 유닛(63)을 포함할 수 있다. 도 4를 참조하여 전술한 바와 같이, 지연 검출 유닛(51)은 영상통화 애플리케이션과 같은 지연-민감 비디오 애플리케이션의 동작을 검출할 수 있다. 지연 검출 유닛(51)은 영상통화의 시각적 품질을 방해할 수 있는 프로세싱 및 프리젠테이션에서의 지연들을 회피하기 위하여, 선택 유닛(44)에게 부가될 프레임 대비 더 미래에 있는 미래의 기준 프레임들의 선택을 회피할 것을 지시할 수 있다. 따라서, 비록 분석 유닛(42)이 소정의 후보 기준 프레임들에 대해 비교적 높은 품질을 나타낼 수 있을지라도, 선택 유닛(44)은 부가될 프레임으로부터 상기 후보 기준 프레임들의 시간적 거리의 분석에 적어도 부분적으로 기초하여 그러한 후보 기준 프레임들을 거절할 수 있다. 비록 시간적 거리에 기초한 기준 프레임들의 선택이 지연-민감 애플리케이션의 검출에 기초하여 트리거링될 수 있지만, 소정의 구현예들에서, 시간적 거리는 정기적으로, 즉, 지연-민감 애플리케이션의 검출이 있든 없든, 기준 프레임 선택을 위해 사용될 수 있다.
도 5에 도시된 바와 같이, 지연 특징부는 분석 유닛(42) 안으로 구축될 수 있다. 특히, 선택 유닛(44)을 통하여, 부가될 프레임에 비해 너무 멀리 미래에 존재하는(즉, 과도한 시간적 거리에 기초하여) 미래의 후보 기준 프레임들을 거절하는 것 대신에, 분석 유닛(42)은 그러한 프레임들에 비교적 낮은 품질 스코어들을 할당하도록 구성될 수 있다. 선택 유닛(44)은 직접적으로 시간적 거리에 기초하여 상기 프레임들을 거절하지 않을 수 있으나, 간접적으로, 시간적 거리로부터 야기되는 낮은 품질 스코어에 기초하여 상기 프레임들을 거절할 수 있다. 어느 경우에서든, 선택 유닛(44)은 프레임 대체 프로세스 내로 과도한 대기시간을 도입할 수 있는 시간적으로 떨어져 있는 기준 프레임들의 선택을 회피할 수 있다. 다시, 시간적 거리는 영상통화와 같은 지연-민감 애플리케이션의 동작이 검출될 때 선택적 기반 상에서, 또는 예를 들어, 지연-민감 애플리케이션이 검출되든 아니든 정기적으로 기준 프레임들의 선택을 위해 사용될 수 있다. 일부 경우들에서, 기준 프레임들은 지연-민감 애플리케이션의 검출을 수반하는 동작 없이 정기적으로 시간적 거리에 적어도 부분적으로 기초하여 선택될 수 있다.
거리 유닛(63)은 여러 다양한 프레임 특성들 중 하나로서, 부가될 프레임으로부터 미래의 후보 기준 프레임의 거리를 결정할 수 있다. 거리 유닛(63)은 부가될 프레임으로부터 더 떨어져 있는 미래의 후보 기준 프레임들에 대하여 점진적으로 더 낮은 스코어들을 생성하도록 구성될 수 있다. 일부 경우들에서, 거리 유닛(63)은 후보 기준 프레임이 부가될 프레임에 비해 미래에 있는 프레임들의 최대 개수보다 많다면 제로의 스코어를 생성할 수 있다.
거리 유닛(63)은 지연-민감 비디오 애플리케이션이 검출될 때 지연 검출 유닛(51)에 의해 활성화될 수 있다. 대안적으로, 지연 검출 유닛(51)은 거리 유닛(63)의 출력으로 하여금 지연-민감 애플리케이션이 검출될 때 증가된 가중을 수반하게 할 수 있다. 비디오 재생과 같은 애플리케이션이 현저히 지연-민감성이 아닐 때, 거리 유닛(63)은 디스에이블될 수 있거나, 그것의 출력 스코어는 전체적인 품질 스코어에서 감소된 가중을 수반할 수 있다.
도 1-도 5의 시스템(10), 인코더(12) 및 디코더(14)에 포함된 여러 다양한 컴포넌트들, 유닛들 또는 모듈들, 및 본 명세서를 통해 기재된 다른 컴포넌트들은 하드웨어 및/또는 소프트웨어의 임의의 적합한 조합에 의해 구현될 수 있다. 도 1-도 5에서, 여러 다양한 컴포넌트들은 별개의 컴포넌트들, 유닛들 또는 모듈들로서 도시된다. 그러나, 도 1-도 5를 참조하여 기재된 여러 다양한 컴포넌트들의 전부 또는 그 중 몇 개는 공통의 하드웨어 및/또는 소프트웨어 내에 결합된 유닛들 또는 모듈들로 통합될 수 있다. 따라서, 컴포넌트들, 유닛들 또는 모듈들로서 특징부들의 표현은 예시의 용이성을 위하여 특정 기능적인 특징들을 하이라이트하기 위해 의도되고, 그러한 특징부들이 반드시 별개의 하드웨어 또는 소프트웨어 컴포넌트들에 의해 구현되어야 함을 요구하지는 않는다. 일부 경우들에서, 여러 다양한 유닛들은 하나 이상의 프로세서들에 의해 수행된 프로그래밍 가능 프로세스들로서 구현될 수 있다. 예를 들어, 여러 다양한 양상들에서, 모션 분석기, 자원 모니터, 및 선택 유닛은 별개의 하드웨어 및/또는 소프트웨어 유닛들, 또는 동일한 하드웨어 및/또는 소프트웨어 유닛들 또는 이들의 조합들에 의해 구현될 수 있다.
도 6은 비디오 디코더(14)가 비디오 프레임 대체를 위한 기준 프레임들을 선택하는 예시적인 기술을 도시하는 흐름도이다. 도 6에 도시된 프로세스는 프레임 대체가 인에이블될 때 품질-중점 모드로, 또는 자원-중점 모드로 수행될 수 있다. 도 6에 도시된 바와 같이, 비디오 디코더(14)는 입력 비디오 프레임들을 수신한다(68). 디코더(14)의 경우에, 입력 비디오 프레임들은 유입 비트스트림에서 인코딩된 프레임들로서 수신될 수 있고, 이 경우, 프레임들 중 일부는 프레임 스킵 또는 인코더(12)의 기본 프레임 레이트로 인하여 소실되고 있다. 인코더(12)의 경우에, 입력 비디오 프레임들은 인코더에 의해 인코딩될 소스 비디오 프레임들일 수 있다. 시간적인 배제된 프레임들은 비디오 인코더(12)에 의해 의도적으로 스킵된 프레임들, 또는 채널(19)을 가로지른 송신에서 손실된 프레임들, 또는 인코더(12)의 기본 프레임 레이트에 의해 지원되지 않았으나 프레임 레이트 변환을 위해 부가적으로 형성되어야 하는 프레임들일 수 있다. 도 6의 예에서, 분석 유닛(42)은 프레임 대체에 사용하기 위한 후보 기준 프레임들의 세트의 하나 이상의 특성들을 분석한다(70).
후보 기준 프레임들은 부가될 프레임에 대해 N개의 이전 프레임들 및 M개의 미래 프레임들로부터 선택될 수 있고, 여기서 N 및 M은 같거나 같지 않을 수 있다. 비록 특정 개수의 프레임들은 예시를 위한 것일 뿐 제한으로 간주되지 않아야 하나, 일 예시로서, 3개의 이전 프레임들 및 3개의 미래 프레임들이 고려될 수 있다. 이전의 그리고 미래의 프레임들은 양방향 보간을 위해 고려될 수 있다. 단방향 보간 또는 보외에 대해서는 일부 양상들에서, 단지 이전의 프레임들만 또는 단지 미래의 프레임들만이 고려될 수 있다.
프레임들의 하나 이상의 특성들은 프레임들의 품질에 관련될 수 있고, 픽셀 도메인 값들, 변환 도메인 값들, 비트스트림 데이터를 사용하여, 또는 다른 방식으로 분석될 수 있다. 상기 분석에 기초하여, 분석 유닛(42)은 기준 프레임들로서 후보 프레임들 중 하나 이상을 선택한다(72). 기준 프레임들로서 선택된 후보 프레임들을 사용하여, 프레임 대체 유닛(38)은 부가될 프레임의 보간(또는 적용가능한 경우, 보외)에 의한 프레임 대체를 수행한다(74). 도 6에서 개괄된 프로세스는 수신된 비트스트림에서의 부가적인 비디오 프레임들의 보간(또는 보외)을 위해 디코더(14)에 의해 실질적으로 연속적인 기반 상에서 반복될 수 있다.
도 7은 기준 프레임 선택에 대한 예시적인 기술을 보다 상세히 도시하는 흐름도이다. 일반적으로, 분석 유닛(42)은 전력-절약 모드와 같은 자원-중점 모드가 ON인지 OFF인지를 결정할 수 있다. 자원-중점 모드가 ON이라면, 모션 분석기(64)는 후보 기준 프레임의 모션 액티비티를 분석한다. 예를 들어, 후보 기준 프레임에 대한 수신된 모션 벡터들이 분석된다. 모션 벡터 분석에 기초하여, 부가될 프레임을 보간(또는 보외)할지 여부가 결정된다. 상기 결정이 보간하는 것이라면, 기준 프레임들의 품질이 품질-중점 모드와 일치하여 다음에 분석된다. 이러한 분석에 기초하여, 보간할지 아니면 보외할지에 대한 또 다른 결정이 이루어진다. 보간 또는 보외가 선택되면, 기준 프레임(또는 프레임들)이 품질 분석에 기초하여 선택된다. 그 다음, 적어도 선택된 기준 프레임 및 가능하게는 다수의 기준 프레임들을 사용하여 비디오 프레임 보간 또는 보외가 수행된다.
도 7에 개괄된 프로세스는 비디오 디코더(14)에 의해 수신된 비디오 시퀀스에서, 부가될 각각의 프레임, 또는 부가될 선택된 프레임들에 대하여 실질적으로 연속적인 기반 상에서 반복될 수 있다. 도 7의 예에서, 디코더(14)는 비디오 시퀀스의 인코딩된 입력 비디오 프레임들을 포함하고 소정의 프레임들을 배제하는 유입 비트스트림을 수신한다(76). 소실 프레임들의 보간 또는 보외를 위하여, 비디오 디코더(14)는 자원-중점 모드가 ON인지 OFF인지를 결정할 수 있다(78). 예를 들어, 모드 선택 유닛(46)은 디코더(14)의 프레임 대체 프로세스가 자원-중점 모드로 동작하는지 아니면 품질-중점 모드로 동작하는지를 나타낼 수 있다.
만약 자원-중점 모드가 활성화되면(78), 분석 유닛(42)은 후보 기준 프레임들 각각에 대해 표시된 모션을 분석하기 위해 모션 분석기(64)를 활성화시킬 수 있다(80). 예를 들어, 모션 분석기(64)가 비디오 장면이 비교적 정적인지 아니면 현저한 이동을 포함하는지를 결정하기 위해 후보 기준 프레임들로부터 모션 벡터 데이터를 분석할 수 있다. 모션 분석기(64)는 비디오 프레임 대체를 인에이블할지 아니면 디스에이블할지를 결정하기 위해 부가될 대체 프레임에 시간적으로 인접한 프레임과 같은 앵커 프레임의 모션 벡터들을 분석할 수 있다.
앵커 프레임에 의해 표시된 모션 레벨이 임계 모션 레벨보다 더 크거나 임계 모션 레벨과 같다면(82), 모션 분석기(64)는 선택 유닛(44)에게, 모션의 레벨이 부가될 프레임의 보간(또는 보외)에 의한 프레임 대체를 정당화하기에 충분함을 나타낼 수 있다. 이러한 경우에, 분석 유닛(42)은 후보 기준 프레임 또는 프레임들의 품질을 분석하도록 진행할 수 있다(84). 그러나, 모션 레벨이 임계 모션 레벨 미만이라면, 모션 분석기(64)는 선택 유닛(44)에게 프레임 대체가 사용되지 않아야 함을 나타내고, 이러한 경우 디코더(14)는 프레임을 보간하는 대신에 배제된 프레임의 자리에 기준 프레임을 반복할 수 있다(92). 이러한 경우에, 이전 또는 미래 프레임이 비디오 시퀀스의 프레임 레이트를 효과적으로 상향변환하기 위해 반복될 수 있다.
소정의 구현예들에서, 프레임 반복을 위하여, 분석 유닛(42)은 단순히 이전의 프레임 또는 미래의 프레임을 선택할 수 있고, 부가될 프레임의 자리에 해당 프레임을 반복할 수 있다. 프레임 반복이 선택되기 때문에, 현재 프레임에 대한 품질-중점 모드의 여러 다양한 품질 분석 동작들을 수행할 필요성이 존재하지 않는다. 그러나, 대안으로서, 분석 유닛(42)은 복수 개의 후보 기준 프레임들 중 하나로부터 기준 프레임을 선택하기 위해 품질 분석을 적용할 수 있고, 그 다음 선택된 기준 프레임을 반복된 프레임으로서 사용할 수 있다. 특히, 분석 유닛(42)은 품질 임계치를 만족시키는, 예를 들어, 품질 임계치를 충족시키거나 품질 임계치를 초과하는 총 품질 스코어를 갖는 기준 프레임을 선택할 수 있고, 그러한 선택된 프레임을 프레임 반복에 사용할 수 있다. 그리하여, 일부 경우들에서, 품질-중점 모드와 일치하는 기준 프레임들의 품질-기반 선택은 프레임 보간 또는 보외를 위해서뿐만 아니라, 프레임 반복을 위해서도 사용될 수 있다.
만약 모션 레벨이 임계 레벨에 있거나 임계 레벨을 초과한다면(82), 전술한 바와 같이, 분석 유닛(42)은 후보 기준 프레임 또는 프레임들의 품질을 분석하고 결과적인 품질 스코어를 품질 임계값과 비교하기 위해 품질-중점 모드의 동작으로 진행할 수 있다(86). 도 5를 참조하여 설명한 바와 같이, 예를 들어, 품질 스코어 계산기(58)는 객관적인 메트릭 체크기(50), EC 체크기(52), QP 체크기(54), 및 CBP 체크기(56) 중 하나 이상에 의해 생성된 품질 스코어들에 기초하여 총 품질 스코어를 계산할 수 있다. 그 다음 비교 유닛(59)은 총 품질 스코어를 품질 임계값과 비교할 수 있다(86).
만약 품질 스코어가 만족스럽다면, 예를 들어, 임계치보다 크거나 같다면(86), 분석 유닛(42)은 프레임 대체 유닛(38)에 기준 프레임 또는 프레임들의 선택을 나타낼 수 있다. 예를 들어, 선택 유닛(44)은 부가될 프레임의 보간(또는 보외)에 사용하기 위해 프레임 대체 유닛(38)에 의한 선택을 위한 기준 프레임 또는 프레임들을 식별할 수 있다. 그 다음, 프레임 대체 유닛(38)은 예를 들어, 선택된 기준 프레임 또는 프레임들을 사용하여 프레임을 보간 또는 보외함으로써 프레임 대체를 수행하도록 진행할 수 있다(90). 후보 기준 프레임들 중 어느 것도 만족스러운, 예를 들어, 품질 임계값을 만족시키거나 초과하는 총 품질 스코어를 갖지 않는다면(86), 비교 유닛(59)은 선택 유닛(44)에 아무런 기준 프레임들도 선택되어야 하지 않음을 나타낼 수 있다. 이러한 경우에, 선택 유닛(44)은 프레임 대체 유닛(38)에게 프레임 대체가 디스에이블되어야 하고 프레임 대체 대신에 프레임 반복이 적용되어야 함(92)을 나타낼 수 있다.
도 7에 도시된 바와 같이, 분석 유닛(42)은 선택적으로 품질 임계치를 만족시키는 총 품질 스코어들을 갖는 후보 기준 프레임들의 랭킹을 매기도록 구성될 수 있다(93). 예를 들어, 양방향 보간에 대하여, 분석 유닛(42)은 품질 레벨의 순서로 이전의 후보 기준 프레임들의 랭킹을 매길 수 있고, 품질 레벨의 순서로 미래의 후보 기준 프레임들의 랭킹을 매길 수 있으며, 여기서, 이전의 프레임들은 시간적으로 부가될 프레임에 선행하고, 미래의 프레임들은 시간적으로 부가될 프레임 이후에 있으며, 그 다음 프레임 대체에 사용하기 위해 가장 높게 랭킹이 매겨진 이전의 프레임 및 가장 높게 랭킹이 매겨진 미래의 프레임을 선택할 수 있다. 랭킹들에서 실질적인 동점의 경우에, 분석 유닛(42)은 부가될 프레임에 시간적으로 가장 근접한 프레임을 선택할 수 있다. 단방향 보간에 대하여, 분석 유닛(42)은 이전의 또는 미래의 프레임이 기준 프레임으로서 사용될 것인지 여부에 따라, 가장 높게 랭킹이 매겨진 이전 프레임 또는 가장 높게 랭킹이 매겨진 미래 프레임을 선택할 수 있다. 추가 예로서, 일부 양상들에서, 랭킹은 프레임 대체뿐만 아니라, 프레임 반복에 대해서도 가장 높게 랭킹이 매겨진 프레임을 선택하기 위해 사용될 수 있다.
소정의 구현예들에서, 프레임들의 선택은 도 5를 참조하여 기술된 바와 같이, MV 신뢰성 체크기(60)에 의한 MV 신뢰성 분석의 대상이 될 수 있다. 부가하여, 소정의 구현예들에서, 품질 임계값 및/또는 다른 기준들 또는 동작들은 품질-중점 모드와 자원-중점 모드 사이에서 변화할 수 있다. 예를 들어, 모드 조정 유닛(62)은 자원들이 제한될 때 보간을 정당화하기 위해 더 높은 보간 품질을 요구하도록 자원-중점 모드에서 품질 임계값을 증가시킬 수 있다.
도 8은 품질-중점 모드에 따라 비디오 프레임 보간을 위한 기준 프레임 선택을 지원할 기준 프레임들의 품질 분석에 대한 예시적인 기술을 도시하는 흐름도이다. 일반적으로, 후보 기준 프레임들의 품질이 추정되거나 분석된다. 품질 스코어는 각각의 후보 기준 프레임에 대해 주어질 수 있다. 후보 기준 프레임은 스킵된 프레임에 대해 이전의 또는 미래의 프레임일 수 있다. 만약 특정 기준 프레임의 품질 스코어가 임계치 이상이 아니라면, 그것은 비디오 프레임 대체에 사용되도록 선택되지 않는다. 기준 프레임의 품질 스코어가 적절하다면, 기준 프레임은 비디오 프레임 보간 또는 보외에 사용되도록 선택될 수 있다. 소정의 구현예들에서, 분석 유닛(42)은 후보 기준 프레임과 연관된 모션 벡터들이 신뢰성이 있을 것을 요구할 수 있다. 예를 들어, 비디오 프레임 대체가 보간 또는 보외를 위한 모션-보상된 예측 방법을 사용한다면, 모션 벡터들이 체크될 수 있다.
도 8의 예에서 도시된 바와 같이, 분석 유닛(42)은 프레임의 보간 또는 보외를 위하여, 이전의 프레임들 및 미래의 프레임들을 포함한, 기준 프레임들을 식별하기 위하여 다수의 후보 기준 프레임들을 잇따라 분석할 수 있다. 수신된 프레임 버퍼(34)로부터 다음의 후보 기준 프레임을 리트리브(retrieve)할 때(94), 분석 유닛(42)은 후보 기준 프레임의 품질을 추정하고(96), 예를 들어, 도 5를 참조하여 기술된 바와 같이, 품질 스코어를 계산한다(98). 상기 스코어가 만족스럽다면, 예를 들어, 품질 임계값보다 크거나 같다면(100), 비교 유닛(59)은 프레임의 MV 컨텐트가 신뢰성이 있는지 여부를 결정하기 위해(102) 후보 기준 프레임을 MV 신뢰성 체크기(60)로 전달한다.
총 품질 스코어가 품질 임계값 이상이 아니라면(100), 분석 유닛(42)은 프레임 대체를 위한 선택을 목적으로 후보 기준 프레임을 "OFF"로 설정할 수 있다(104). 이러한 경우에, 선택 유닛(44)은 프레임 대체 유닛(38)에 의한 대체 프레임의 보간 또는 보외를 위하여 상기 "OFF" 프레임을 선택하지 않는다. 만약 총 품질 스코어가 품질 임계값 이상이고(100), MV 신뢰성 체크기(60)가 MV 컨텐트가 신뢰성이 있음을 결정한다면(106), 분석 유닛(42)은 프레임 대체를 위한 선택의 목적으로 후보 기준 프레임을 "ON"으로 설정할 수 있다(106).
만약 분석 유닛(42)이 모든 후보 기준 프레임들을 고려하지 않았다면, 즉, 그것이 사전정의된 범위의 후보 기준 프레임들 내 후보 기준 프레임들의 끝에 도달되지 않았다면, 분석 유닛(42)은 분석을 위해 다음의 후보 기준 프레임을 리트리브한다. 분석 유닛(42)에 의해 분석된 후보 기준 프레임들의 개수는 사전선택될 수 있고, 예를 들어, 도 2a-도 2d를 참조하여 기술된 바와 같이, 보간될 또는 보외될 프레임에 대해 하나 이상의 이전 프레임들 및 하나 이상의 미래 프레임들을 포함할 수 있다. 후보 기준 프레임들의 끝에 도달할 때(108), 선택 유닛(44)은 "ON"으로 설정된 후보 기준 프레임들을 선택할 수 있고(110), 선택된 프레임들을 프레임 대체 유닛(38)으로 통신할 수 있다. 그 다음 프레임 대체 유닛(38)은 선택된 기준 프레임 또는 프레임들을 사용하여 프레임 대체를 수행하기 위해 부가될 프레임을 보간 또는 보외할 수 있다.
만약 "ON"으로 설정된 기준 프레임들이 존재하지 않거나, 불충분한 개수의 "ON" 프레임들이 존재한다면, 선택 유닛(44)은 프레임 대체가 디스에이블되어야 함, 그리고 대신에 프레임 대체 유닛(38)이 부가될 프레임에 대해 프레임 반복을 적용하여야 함을 나타낼 수 있다. 소정의 구현예들에서, FRUC 유닛(22) 내 FRUC 프로세스는 선택 기반 상에서 인에이블 및 디스에이블될 수 있다. FRUC가 인에이블되면, 도 8에 개괄된 프로세스는 비디오 디코더(14)에 의해 수신된 비디오 시퀀스에서, 부가될 각각의 프레임, 또는 선택된 프레임들에 대해 실질적으로 연속적인 기반상에서 반복될 수 있다.
다시, 도 7을 참조하여 기술된 바와 같이, 도 8에 도시된 프로세스는 품질 임계값을 만족시키는 후보 기준 프레임들의 랭킹이 매겨지는 랭킹 동작을 포함할 수 있다. 이러한 경우에, 가장 높게 랭킹이 매겨진 프레임들은 프레임 대체를 위한 기준 프레임들로서 선택될 수 있다.
도 9는 비디오 프레임 보간을 위한 기준 프레임 선택을 지원하기 위해 기준 프레임들에 대한 품질 스코어들을 생성하기 위한 예시적인 기술을 도시하는 흐름도이다. 품질 스코어들은 예를 들어, 도 5를 참조하여 기술된 바와 같이, 총 품질 스코어를 생성하기 위해 사용될 수 있다. 일반적으로, 처음 단계로서, 각각의 기준 프레임(스킵된 프레임에 대해 미래의 또는 이전의 기준 프레임)의 평균 QP 값들, 및 CBP 값들이 체크될 수 있다. 만약 QP 값이 임계값보다 더 작다면(예를 들어, H.264 코딩에서의 더 작은 QP 값이 더 미세한 양자화 단계 크기에 대응함), 하이 품질 스코어가 기준 프레임에 주어질 수 있다. 더 작은 QP 값이 더 개략적인 양자화 단계 크기에 대응하는 H.264 외의 소정의 코딩 프로세스들에 대해서는 그 역이 적용될 수 있다.
부가하여, 슬라이스 손실 또는 다수의 슬라이스 손실이 후보 기준 프레임에 존재하는지 여부에 관하여 결정이 이루어질 수 있다. 만약에 손실이 존재한다면, 그리고 아무런 에러 은폐가 적용되지 않는다면, 기준 프레임의 품질 스코어는 감소할 수 있다. 만약 손실이 존재하고 에러가 은폐된다면, 더 높은 품질 스코어가 기준 프레임에 대해 설정될 수 있다. 소정의 구현예들에서, 객관적인, 비-참조 시각적 품질 메트릭들(예컨대, 블록화 정도, 흐릿함 정도 및/또는 색 번짐 정도)이 재구성된 후보 기준 프레임들에 적용될 수 있다. 메트릭들이 높은 결과치들을 제공한다면, 기준의 총 품질 스코어는 증가될 수 있다. 만약 기준 프레임이 높은 총 품질 스코어를 갖는다면, 그것은 시간적인 스킵된 프레임을 보간하는데 사용될 수 있다.
도 9에 도시된 바와 같이, 분석 유닛(42)은 수신된 프레임 버퍼(34)로부터 다음의 후보 기준 프레임을 리트리브하고(114), 그 프레임에 대해 QP 및 CBP 값들을 분석한다. 도 9의 예에서, 분석 유닛(42)은 QP 및 CBP 값들에 기초하여 조합된 QP-기반 스코어를 생성한다. 만약 QP 값이 적용가능한 QP 임계값(QP_th)보다 작고 CBP 값이 제로와 같지 않다면(116), 분석 유닛(42)은 상기 프레임에 대한 QP-기반 스코어를 "HIGH"로 설정한다(118). 만약 QP 값이 QP 임계값(QP_th) 이상이거나 CBP 값이 제로와 거의 같다면(116), 분석 유닛(42)은 상기 프레임에 대한 QP-기반 스코어를 "LOW"로 설정한다(120).
도 9에 더 도시된 바와 같이, 분석 유닛(42)은 또한 슬라이스 손실에 대해 후보 기준 프레임을 체크하도록 구성될 수 있다(122). 도 5를 참조하여, 슬라이스 손실 체킹은 EC 체크기(52)에 의해 수행될 수 있다. 슬라이스 손실은 채널(19)을 가로지른 손실 또는 소정의 다른 손실 또는 데이터의 훼손으로부터 야기될 수 있다. 만약 슬라이스 손실이 존재한다면, 분석 유닛(42)은 적절한 에러 은폐(EC) 메커니즘이 슬라이스 손실을 교정하기 위해 이용가능한지 여부를 결정할 수 있다(124). 만약 그렇지 않다면, 분석 유닛(42)은 후보 기준 프레임에 대한 EC-기반 스코어를 "LOW"로 설정한다(126). 만약 적절한 EC 메커니즘이 이용가능하면(124), 분석 유닛(42)은 EC-기반 스코어를 "HIGH"로 설정한다(128). 이러한 경우에, 만약 손실된 슬라이스가 EC 메커니즘을 이용하여 재생성될 수 있다면, 후보 기준 프레임의 품질은 프레임 대체를 위한 기준 프레임으로서 사용하기에 적합할 수 있다. 그러나, 슬라이스가 재생성될 수 없다면, 후보 기준 프레임은 프레임 대체에 사용되지 않아야 한다.
분석 유닛(42)은 또한 객관적인 품질 메트릭들을 후보 기준프레임에 적용할 수 있다(130). 예를 들어, 분석 유닛(42)은 블록화 정도, 흐릿함 정도, 색 번짐 정도 또는 이와 유사한 것과 같은 여러 다양한 객관적인 메트릭들 중 임의의 것을 분석하기 위해 후보 기준 프레임의 디코딩되고 재구성된 버전을 분석할 수 있다. 그리하여, 객관적인 메트릭들이 시각적인 품질을 평가하기 위해 픽셀 도메인에서 적용될 수 있다. 분석 유닛(42)이 품질 메트릭 스코어(QM)을 공식화하기 위해 객관적인 메트릭들 각각을 정량화할 수 있다. 만약 품질 메트릭 스코어(QM)가 적용가능한 품질 메트릭 임계치(QM_th)보다 크다면(132), 분석 유닛(42)은 후보 기준 프레임에 대한 QM-기반 스코어를 "HIGH"로 설정한다(134). 만약 품질 메트릭 스코어(QM)가 품질 메트릭 임계치(QM_th)보다 작거나 같다면, 분석 유닛(42)은 QM-기반 스코어를 "LOW"로 설정한다(136).
분석 유닛(42)은 QP-기반 스코어, EC-기반 스코어 및 QM-기반 스코어의 조합에 기초하여 후보 기준 프레임에 대한 총 품질 스코어를 설정할 수 있다(138). 총 품질 스코어는 프레임 대체에 사용하기 위한 후보 프레임을 선택할지 여부를 결정하기 위해 임계치와 비교될 수 있다. 도 5를 참조하여 기술된 바와 같이, 총 품질 스코어는 QP-기반 스코어, EC-기반 스코어 및 QM-기반 스코어의 가중된 합계에 따라 공식화될 수 있고, 여기서, 분석 유닛(42)은 개별적인 스코어들 각각에 상이한 가중들이 있다고 간주할 수 있다. 개별적인 QP-기반 스코어, EC-기반 스코어 및 QM-기반 스코어가 획득되는 순서는 도 9에 도시된 순서와 상이할 수 있다. 부가하여, 도 9에 도시된 특정 타입들의 스코어들은 변화할 수 있다. 일반적으로, 분석 유닛(42)은 후보 기준 프레임이 허용가능한 레벨의 품질을 가진 보간 결과에 기여할 가능성을 나타내는 품질 스코어들을 획득하도록 구성될 수 있다.
도 10 및 도 11은 자원-중점 모드에서의 선택적인 프레임 대체를 위한 예시적인 기술들을 도시하는 흐름도들이다. 자원-중점 모드에서, 분석 유닛(42)은 기준 프레임에 의해 표현되는 비디오 장면이 정적인지 아닌지 여부를 결정할 수단으로서 모션 액티비티를 사용할 수 있다. 제로 모션 벡터 카운트 및/또는 작은 모션 벡터 카운트가 결정 기준들로서 사용될 수 있다. 일반적으로, 임계치들은 2가지 방식들로 유도될 수 있다. 비적응성 경우에서, 예를 들어, 제로 모션 벡터 카운트에 대한 고정된 임계치 및 작은 모션 벡터 카운트에 대한 고정된 임계치가 모션 액티비티를 판단하기 위해 사용될 수 있다. 적응성 경우에서, 상기 임계치들 중 하나 또는 양자 모두는 예를 들어, 이용가능한 전력, 컴퓨팅 자원들 또는 메모리의 레벨들과 같은 디코더(14)의 자원 레벨들에 기초하여 조정될 수 있다.
일반적으로, 프레임 대체 및 프레임 반복의 결과들 간에 상당한 인지가능한 차이가 존재하지 않을 때, 예를 들어, 보간과 프레임 반복 간의 차이가 예를 들어, 디코더(14)와 연관된 디바이스 내 전력, 컴퓨팅 또는 메모리 제약들의 관점에서 보간의 사용을 정당화하기에 충분하지 않을 때, 자원-중점 모드는 보간 또는 보외가 턴오프되는, 즉, 디스에이블되는 선택적인 프레임 대체의 선택적 모드일 수 있다. 그러나, 모션 액티비티가 현저할 때, 디코더(14)는 사실상 프레임 대체를 위한 기준 프레임들을 선택하기 위해 품질-중점 모드로 복귀할 수 있다.
소정의 구현예들에서, 자원-중점 모드는 전력-절약 모드 또는 전력-최적화된 선택적 FRUC 모드로서 특성화될 수 있다. 자원-중점 모드에서, 모션 액티비티는 비디오 장면이 정적인지 아닌지를 결정하기 위한 수단으로서 사용될 수 있다. 만약 알고리즘이 상기 장면이 정적임을 결정한다면, 일반적으로 계산상 더 고도하고 더 많은 전력을 소모하는 비디오 프레임 대체 대신에 단순한 프레임 반복 기술이 FRUC에 대해 사용될 수 있다. 그러나, 만약 비디오 장면이 대체로 정적이지 않다면, 프레임 대체가 프레임 반복보다 더 바람직할 수 있다.
장면이 정적인지 여부를 결정하기 위하여, 현재의 앵커 프레임의 모션 벡터들이 비디오 프레임 보간 또는 보외를 인에이블하는지 아니면 디스에이블하는지를 결정하기 위해 분석될 수 있다. 모션 벡터들은 디코더(14)에서 비트스트림 모션 벡터들의 프로세싱 이후에 획득되거나 디코더(14)의 모션 추정 모듈로부터 획득된, 비트스트림으로부터 직접 사용될 수 있다. 소정의 경우들에서, 모션 분석에 사용된 모션 벡터들 중 일부는 보간 또는 보외에 사용된 동일한 모션 벡터들일 수 있다. 앵커 프레임은 부가될 프레임에 바로 인접하거나 근처에 있는 이전의 또는 미래의 프레임과 같이, 부가될 프레임에 인접한 프레임일 수 있다. 이러한 분석에 기초하여, 분석 유닛(42)은 현재 고려 중인 프레임에 대하여 비디오 프레임 보간을 인에이블할지 디스에이블할지에 대해 결정할 수 있다. 일 예에서, 상기 프레임에 존재하는 제로 모션 벡터들의 개수는 결정 기준들로서 사용될 수 있다.
제로 모션 벡터는 제로, 또는 거의 제로인 값을 가진 모션 벡터이다. 예를 들어, 소정의 구현예들에서, 임계값 미만의 값들을 갖는 모션 벡터들은 제로 모션 벡터들인 것으로 간주될 수 있다. 소정의 구현예들에서, 모션 벡터들은 비트스트림 임베딩된 모션 벡터들로부터 프로세싱된 값들일 수 있다. 만약 제로 모션 벡터 카운트, 즉, 제로 값의 모션 벡터들의 개수가 임계값보다 더 크면, 상기 장면은 정적인 것으로 결정될 수 있고, 이러한 경우 비디오 프레임 보간은 디스에이블된다. 정적인 장면들에 대하여, 프레임 반복이 사용될 수 있다. 모드 결정 정보, 예를 들어, 인트라 또는 인터 코딩 모드 결정 정보를 사용함으로써 추가 개선이 부가될 수 있다. 예를 들어, 더 정확한 제로 모션 벡터 카운트를 획득하기 위해 제로 모션 벡터들의 개수가 넌-인트라 매크로블록들에 대해 카운팅될 수 있다.
또 다른 예에서, 작은 모션 벡터 카운트가 제로 모션 벡터 카운트에 부가하여 결정 기준들로서 사용될 수 있다. 작은 모션 벡터는 사전결정된 임계치 미만의 값을 가진 넌제로 모션 벡터일 수 있다. 작은 모션 벡터 카운트를 부가하기 위한 한 가지 이유는 소정의 장면들이 제로 모션 벡터들에 의해 표시된 다수의 정적인 매크로블록들을 가질 수 있을지라도, 그러한 장면들이 던져진 공, 날아가는 새, 또는 지나가는 차량과 같이, 비교적 적은 개수의 빨리 이동하는 객체들을 또한 포함할 수도 있기 때문이다. 일련의 비디오 프레임들에 걸쳐 재빨리 비디오 장면을 진입하거나 나오는 새로운 객체는 상기 프레임들에서 현저한 모션 액티비티를 생성할 수 있다.
비록 빨리-이동하는 객체들이 전체 프레임의 작은 부분을 차지할 수 있지만, 시간적인 품질을 보존하기 위해 FRUC-생성된 프레임에서 그들을 보간하는 것이 중요할 수 있다. 그리하여, 작은 모션 벡터 카운트에 의존하는 제 2 기준, 예를 들어, 작은 모션 벡터 카운트 임계치가 프레임 보간이 디스에이블될 때 장면들이 절대적으로 정적임을 보장하도록 부가될 수 있다. 부가하여, 이러한 기준은 빨리-이동하는 작은 객체 문제를 암시적으로 규명할 수 있다.
도 10의 예에서, 모션 분석기(64)는 제로 모션 벡터 카운트(Zmv_c)를 생성하기 위해 프레임에서의 제로 값 모션 벡터들의 개수를 카운팅한다(140). 일반적으로, 프레임 내 각각의 매크로블록은 모션 벡터를 갖는다. 만약 매크로블록에 대한 모션 벡터가 이동이 없음을 나타내는 제로의 값을 갖는다면, 모션 벡터는 제로 모션 벡터로서 카운팅된다. 다시, 소정의 경우들에서, 모션 벡터는 만약 그것이 임계치 미만의 작은 넌제로 값을 갖는다면 제로 값 모션 벡터로서 카운팅될 수 있다. 어느 경우든, 일단 제로 모션 벡터들의 개수가 카운팅되면, 모션 분석기(64)는 제로 모션 벡터들의 개수, 즉, 제로 MV 카운트(Zmv_c)가 적용가능한 임계치(Th) 이상인지 여부를 결정한다(142). 그러하다면, 비디오 장면은 상대적으로 정적이다. 이러한 경우에, 모션 분석기(64)는 보간 또는 보외가 디스에이블되어야 함 및 대신에 프레임 대체 유닛(38)이 부가될 프레임에 대해 프레임 반복을 적용하여야 함(144)을 선택 유닛(44)에 통신한다. 전술한 바와 같이, 프레임 반복은 최근접의 이전 또는 미래 프레임을 선택하는 단순한 방식을 사용하거나, 반복된 프레임으로서 더 높은 품질 기준 프레임을 선택하기 위해 품질-기반 방식을 사용할 수 있다.
만약 제로 MV 카운트(Zmv_c)가 임계치 미만이라면(142), 모션 분석기(64)는 프레임 대체가 수행되어야 함을 선택 유닛(44)에 통신한다(146). 이러한 경우에, 분석 유닛(42)에 의해 수행된 품질 분석의 결과로서 하나 이상의 적합한 기준 프레임들의 선택의 대상이 되는 보간(또는 보외)이 수행되거나 수행되지 않을 수 있다. 사실상, 장면이 정적이 아닐 때, 보간에 충분한 품질을 갖는 프레임들이 이용가능하다면, 분석 유닛(42)은 하나 이상의 기준 프레임들을 선택하기 위해 품질-중점 모드로 복귀할 수 있다. 만약 품질 분석이 하나 이상의 적합한 기준 프레임들을 생성한다면, 선택 유닛(44)은 부가될 프레임의 보간에 사용하기 위해 선택된 프레임(들)을 프레임 대체 유닛(38)에 통신할 수 있다.
임계치(Th)(142)는 고정될 수 있다. 대안적으로, 임계치(Th)는 전력 레벨, 컴퓨팅 자원 레벨 및/또는 메모리 자원 레벨과 같이 비디오 디코더(14)의 이용가능한 프레임 대체 자원들에 기초하여 조정될 수 있다. 도 10에 도시된 바와 같이, 자원-중점 모드에서, 분석 유닛(42)은 선택적으로 자원 레벨을 검출하고(143), 검출된 자원 레벨에 기초하여 임계치(Th)를 조정한다(145). 예를 들어, 분석 유닛(42)은 배터리 레벨, 및/또는 이용가능한 컴퓨팅 자원들, 초당 이용가능한 명령들의 개수, 및/또는 이용가능한 메모리 자원들과 같은 이용가능한 전력 자원들을 결정할 수 있다. 자원 레벨들은 직접 검출되거나, 예를 들어, 컴퓨팅 동작들과 자원 소모 사이의 공지된 관계들에 기초하여 추정될 수 있다. 이동 디바이스의 경우에, 배터리 자원들이 낮다면, 분석 유닛(42)은 상당한 양들의 모션이 존재할 때 프레임 대체가 인에이블되도록 임계치(Th)를 감소시킬 수 있다. 어느 경우든, 임계치들이 고정되든 조정가능하든, 프레임 대체가 인에이블되면, 분석 유닛(42)은 기준 프레임들을 선택하거나 프레임 대체를 디스에이블하기 위해 하나 이상의 품질 기준들을 적용할 수 있다.
도 11의 예에서, 모션 분석기(64)는 제로 MV 카운트 및 작은 MV 카운트 양쪽 모두에 기초하여 모션을 분석한다. 도 11에 도시된 바와 같이, 모션 분석기(64)는 제로 모션 벡터 카운트(Zmv_c)를 생성하기 위해 프레임에서의 제로 값의 모션 벡터들을 카운팅하고(148) 작은 모션 벡터 카운트(Smv_c)를 생성하기 위해 상기 프레임 내 작은 모션 벡터들의 개수를 카운팅한다(150). 작은 모션 벡터들은 임계값 미만인 넌제로 값들을 가진 모션 벡터들일 수 있다. 제로 모션 벡터들의 우세가 존재할 때조차, 임계값 미만의 값들을 갖는다는 점에서 작은 넌제로 모션 벡터들(본 명세서에서 작은 모션 벡터들로 지칭됨)을 포함하여, 다수의 넌제로 모션 벡터들이 존재할 수 있다. 작은 모션 벡터들은 공, 새, 차, 또는 이와 유사한 것과 같이 하나 이상의 작은 이동하는 객체들과 연관될 수 있다. 모션 분석기(64)는 제로 MV 카운트(Zmv_c) 및 작은 MV 카운트(Smv_c)를 각각 각각의 임계치들(Th1 및 Th2)과 비교한다(152).
만약 제로 MV 카운트(Zmv_c)가 임계치(Th1) 이상이고 작은 MV 카운트(Smv_c)가 임계치(Th2) 미만이라면, 모션 분석기(64)는 선택 유닛(44)에게 프레임 대체 대신에 프레임 반복이 적용되어야 함을 나타낼 것을 지시한다. 이러한 경우에, 임계치(Th1)를 초과하는 제로 MV 카운트는 프레임에 의해 제시(present)된 비디오 장면이 일반적으로 정적임을 나타낸다. 동시에, 임계치(Th2) 미만의 작은 MV 카운트는 프레임에 의해 제시된 비디오 장면 내에서 이동하는 현저한 작은 객체들이 존재하지 않음을 나타낸다. 프레임의 대체로 정적인 컨텐트의 관점에서, 프레임 반복이 적절하다.
만약 제로 MV 카운트(Zmv_c)가 임계치(Th1) 미만이거나 작은 MV 카운트(Smv_c)가 임계치(Th2) 이상이라면, 모션 분석기(64)는 분석 유닛(42)에 의해 수행된 품질 분석의 일부로서 기준 프레임들의 선택의 대상이 되는 프레임 대체가 수행되어야 함(156)을 나타낸다. 이러한 경우에, 임계치(Th1) 미만의 제로 MV 카운트는 비디오 장면이 현저한 모션을 포함함을 나타낸다.
제로 MV 카운트가 임계치(Th1) 미만이 아닐지라도, 프레임은 보간에 의해 더 잘 제시될 하나 이상의 비교적 작은 이동 객체들을 포함할 수 있다. 따라서, 모션 분석기(64)는 작은 MV 카운트가 하나 이상의 작은, 빨리-이동하는 객체들의 존재를 나타내면서, 임계치(Th2) 이상일 때 보간이 수행되어야 함을 나타낼 수 있다. 그러한 객체들은 일반적으로 작고 일 프레임 내 다른 객체들보다 더 빨리 이동하고 있을 수 있다. 프레임 컨텐트가 대체로 정적이 아니거나 대체로 정적인 프레임이 작은 이동 객체를 포함할 때, 예를 들어, 프레임의 보간 또는 보외에 의한 프레임 대체가 적절할 수 있다.
도 10의 예에서와 같이, 도 11에서의 임계치들(Th1, Th2)은 고정되거나 이용가능한 보간 자원들에 기초하여 조정될 수 있다. 특히, 임계치들(Th1, Th2) 중 하나 또는 양쪽 모두는 결정된 자원 레벨에 기초하여 조정될 수 있다. 도 11에 도시된 바와 같이, 자원-중점 모드에서, 분석 유닛(42)은 선택적으로 자원 레벨을 검출하고(143) 검출된 자원 레벨에 기초하여 임계치를 조정할 수 있다(145). 다시, 분석 유닛(42)은 이동 디바이스에서의 배터리 레벨, 및/또는 이용가능한 컴퓨팅 자원들, 초당 이용가능한 명령들의 개수, 및/또는 이용가능한 메모리 자원들과 같은 이용가능한 전력 자원들을 검출하거나 추정할 수 있다. 만약 배터리 자원들이 낮다면, 예를 들어, 분석 유닛(42)은 상당한 양들의 모션이 존재할 때 보간이 인에이블되도록 임계치(Th1)를 감소시키고 임계치(Th2)를 증가시킨다.
일부 경우들에서, 모션 벡터를 작은 모션 벡터로 분류하기 위해 사용된 임계치는 고정되거나, 포맷 크기에 기초하여 조정가능할 수 있다. 앞서 논의한 바와 같이, 작은 모션 벡터는 특정 임계치 미만의 값을 갖는 넌제로 모션 벡터일 수 있다. 소정의 구현예들에서, 넌제로 모션 벡터가 작은지 아닌지를 결정하기 위해 사용된 임계치는 디코딩 및 보간 또는 보외되고 있는 비디오 유닛들의 포맷 크기에 기초하여 조정될 수 있다. 예를 들어, 작은 모션 벡터는 QCIF, CIF, QVGA 및 VGA 프레임들에 대해 상이한 임계치들에 의해 분류될 수 있고, QCIF, CIF, QVGA 및 VGA 프레임들은 점진적으로 더 큰 포맷 크기들을 갖는다. CIF 프레임에 대한 작은 모션 벡터 임계치의 값은 VGA 프레임에 대한 작은 모션 벡터 임계치의 값보다 더 작을 수 있다. 특히, 모션 벡터 크기는 더 작은 포맷 프레임에서 큰 것으로 간주될 수 있으나, 더 큰 포맷 프레임에서는 더 큰 포맷 프레임의 더 큰 전체 크기를 고려하여 작은 것으로 간주될 수 있다. 그리하여, 소정의 구현예들에서, 모션 분석기(64)는 보간 또는 보외되고 있는 비디오 유닛의 포맷 크기에 기초하여 작은 모션 벡터 임계값을 조정할 수 있다. 예를 들어, 더 작은 포맷 프레임들에 대해 사용된 작은 모션 벡터 임계값은 더 큰 포맷 프레임들에 대해 사용된 작은 모션 벡터 임계값보다 더 작을 수 있다.
도 12는 예를 들어, 하나 이상의 품질 특성들의 분석에 기초하여, 대체 프레임들의 디스플레이를 선택적으로 인에이블 또는 디스에이블하도록 구성된 비디오 디코더(158)의 일 예를 도시하는 블록 다이어그램이다. 예를 들어, 이하에 기술하는 바와 같이, 비디오 디코더(158)는 비디오 디코더에서의 프레임 레이트 상향변환 프로세스에 의해 생성된 보간 또는 보외된 비디오 프레임과 연관된 하나 이상의 특성들을 분석하고, 그러한 분석에 기초하여 디스플레이 상에서의 보간된 또는 보외된 비디오 유닛의 프리젠테이션을 선택적으로 인에이블 및 디스에이블하도록 구성될 수 있다.
상기 분석은 광범위하게 다양한 품질 특성들 중 임의의 것의 분석을 수반할 수 있다. 품질 특성들은 픽셀 도메인 특성, 변환 도메인 특성, 및/또는 모션 벡터 신뢰성 중 적어도 하나를 포함할 수 있다. 하나 이상의 특성들이 공간적인 품질 메트릭들, 시간적인 품질 메트릭들, 또는 다른 메트릭들을 포함한 품질 메트릭들을 공식화하기 위해 사용될 수 있다. 그러한 품질 메트릭들은 디스플레이에 의해 사용자에게 제시될 때 비디오 시퀀스의 시각적인 공간적 그리고/또는 시간적 품질에 대한 보간 또는 보외된 프레임의 영향을 예측하는데 유용할 수 있다. 디코더(158)는 대체 프레임과 연관된 품질 레벨이 품질 임계치를 만족시키지 않는 경우, 대체 프레임이 이미 보간 또는 보외되었을지라도, 대체 프레임의 디스플레이를 선택적으로 디스에이블하도록 구성될 수 있다.
대체 프레임과 연관된 품질 레벨은 대체 프레임 그 자체의 품질 레벨에 기초할 수 있다. 소정의 구현예들에서, 품질 레벨은 대체 프레임을 보간 또는 보외하기 위해 사용된 하나 이상의 기준 프레임들의 품질 레벨에 기초할 수 있다. 다른 구현예들에서, 품질 레벨은 대체 프레임 및 대체 프레임을 생성하기 위해 사용되는 하나 이상의 기준 프레임들의 품질 레벨에 기초할 수 있다. 각각의 경우에, 품질 레벨은 대체로 프레임을 디스플레이함으로써 달성될 수 있는 시각적 품질의 향상 정도를 나타낼 수 있다.
대체 프레임이 이미 보간 또는 보외되었을 때조차, 비디오 디코더 내에서 대체 프레임의 전송 및 디스플레이을 선택적으로 디스에이블하는 것이 여전히 바람직할 수 있다. 예를 들어, 비록 보간 또는 보외가 이미 수행되었지만, 대체 프레임을 디스플레이함으로써 생성된 시각적 품질은 대체 프레임의 전송 및 디스플레이를 위한 추가 자원들의 소비를 정당화하기에 불충분할 수 있다. 대신, 예를 들어, 새로운 프레임을 전송하는 대신에, 더 긴 시간 기간 동안 디스플레이 내의 프레임을 유지함으로써, 대체 프레임을 폐기하고 인접 프레임을 반복하여, 대체 프레임을 디스플레이하기 위해 필요할 전력 또는 다른 자원들을 아끼는 것이 더 바람직할 수 있다. 소정의 구현예들에서, 소정의 프레임들의 전송 및 디스플레이를 선택적으로 디스에이블하는 것에 부가하여, 비디오 디코더(158)는 또한 부가적인 자원들을 아끼기 위해 대체 프레임들에 대하여 스무딩(smoothing), 샤프닝(sharpening), 휘도 조절 및/또는 콘트라스트 향상과 같은 하나 이상의 포스트-프로세싱 동작들을 디스에이블할 수 있다.
도 12의 예에서, 비디오 디코더(158)는 예를 들어, 인코더(12)로부터 인코딩된 프레임들(24)을 수신하는 수신된 프레임 버퍼(160), 수신된 프레임들을 디코딩하는 디코딩 유닛(162), 디코딩된 프레임들을 저장하는 출력 프레임 버퍼(164), 출력 프레임 버퍼(164)로 프레임들을 부가하고, 그에 의해 FRUC 프로세스를 지원하기 위해 보간 또는 보외에 의한 프레임 대체를 수행하는 대체 유닛(166), 및 선택적인 디스플레이 분석 유닛(168)을 포함한다. 분석 유닛(168)은 신호 또는 커맨드를 생성하도록 구성될 수 있다. 분석 유닛(168)으로부터의 신호 또는 커맨드에 응답하여, 제어 유닛(172)은 사용자로의 시각적인 프리젠테이션을 위하여 출력 프레임 버퍼(164)와 같은 비디오 버퍼로부터 디스플레이(170)로의 대체 프레임들의 전송을 선택적으로 인에이블 또는 디스에이블할 수 있다. 일부 양상들에서, 분석 유닛(168)은 예를 들어, 도 4, 도 5 및 도 7을 참조하여 기술된 바와 같이, 디코더(158)가 자원-중점 모드에 있을 때 선택적으로 활성화될 수 있다. 대안적으로, 다른 구현예들에서, 선택적인 디스플레이 분석 유닛(168)은 선택적인 활성화를 갖거나 갖지 않은 대체 유닛(166)에 의해 생성된 대체 프레임들의 디스플레이를 선택적으로 인에이블 또는 디스에이블하기 위해 정기적으로 동작할 수 있다.
대체 유닛(166)은 출력 프레임 버퍼(164)에 저장된 출력 프레임들에 프레임들을 부가하고 그에 의해 FRUC 프로세스를 지원하기 위해 프레임 보간 또는 보외와 같은 프레임 대체를 수행한다. 비디오 디코더(158)는 대체 유닛(166)에 의해 대체 프레임의 보간 또는 보외에 사용하기 위한 특정 기준 프레임들을 선택할, 본 명세서의 어딘가에 기재된 바와 같은, 기준 프레임 선택 기술들을 적용하거나 적용하지않을 수 있다. 일부 양상들에서, 대체 유닛(166)은 대체 프레임들을 생성하기 위하여, 해당 프레임들의 분석에 기초하여 하나 이상의 기준 프레임들을 선택하거나 단순히 하나 이상의 인접 프레임들을 사용할 수 있다. 그러나, 어느 경우든, 분석 유닛(168)은 대체 프레임을 디스플레이할지 여부를 결정하기 위해 대체 프레임과 연관된 품질 레벨을 분석하도록 더 구성될 수 있다. 대체 프레임과 연관된 품질은 대체 프레임 그 자체와 연관된 하나 이상의 품질 특성들, 대체 프레임을 보간 또는 보외하기 위해 사용된 기준 프레임들 중 하나 이상과 연관된 하나 이상의 품질 특성들, 또는 이들 양자의 조합을 포함할 수 있다. 품질을 분석하기 위해, 분석 유닛(168)은 대체(예를 들어, 보간된 또는 보외된) 프레임 및/또는 대체 프레임을 보간 또는 보외하기 위해 사용된 기준 프레임들에 객관적인 품질 메트릭들을 적용할 수 있다.
분석 유닛(168)은 제어 유닛(172)에게 품질 분석에 기초하여 디스플레이(170)를 통해 출력 프레임 버퍼(164)로부터의 대체 프레임의 디스플레이를 선택적으로 인에이블 또는 디스에이블시킬 것을 지시할 수 있다. 예를 들어, 대체 프레임을 생성하기 위해 사용된 하나 이상의 기준 프레임들의 품질 및/또는 대체 프레임 그 자체의 품질이 적용가능한 품질 임계치를 만족시키지 못한다면, 분석 유닛(168)은 제어 유닛(172)에게 디스플레이(170) 상의 프리젠테이션을 위한 출력 프레임 버퍼(164)로부터의 보간된 프레임의 전송을 디스에이블시킬 것을 지시할 수 있다. 그러나, 만약 품질이 허용가능하다면, 선택적인 디스플레이 분석 유닛(168)은 제어 유닛(172)에게 디스플레이(170)를 통한 사용자에게로의 프리젠테이션을 위한 디스플레이(170)로의 보간 또는 보외된 프레임의 전송을 인에이블시킬 것을 지시할 수 있다. 이러한 방식으로, 비디오 디코더(158)는 대체 프레임의 품질이 만족스럽지 않을 때 대체 프레임을 디스플레이할 부가적인 자원들의 소비를 회피할 수 있다.
대체 프레임이 디스플레이(170)로 전송되지 않을 때, 그것은 예를 들어, 그 프레임을 후속적으로 디코딩, 보간 또는 보외된 프레임으로 오버라이팅(overwrite)함으로써 출력 프레임 버퍼(164)로부터 폐기될 수 있다. 이러한 경우에, 디스플레이(170)는 단순히 출력 프레임 버퍼(164)로부터 디스플레이로 전송되었던 이전의 프레임을 반복하거나(예를 들어, 더 오랜 시간 기간 동안 디스플레이에 이전 프레임을 유지함으로써), 대체 프레임 이후의 다른 프레임을 전송 및 반복(예를 들어, 유지)할 수 있다. 이러한 경우에, 디스플레이(170)는 부가적인 시간 기간 동안 대체 프레임을 디스플레이하기보다 오히려, 상기 부가적인 시간 기간 동안 이전의 프레임을 디스플레이할 수 있다. 프레임 반복을 사용함으로써, 비디오 디코더(158)는 대체 프레임을 전송하고 디스플레이할 필요성을 회피할 수 있고, 그에 의해 전력 및/또는 다른 자원들을 보존한다. 전술한 바와 같이, 대체 프레임들의 선택적인 디스플레이는 단독으로, 또는 본 명세서 어딘가에 기재된 바와 같은 기준 프레임 선택 기술들과 조합하여 사용될 수 있다.
분석 유닛(168)은 대체 유닛(166)에 의해 생성된 대체 프레임들과 연관된 여러 다양한 품질 특성들 중 하나 이상을 분석하도록 구성될 수 있다. 소정의 구현예들에서, 분석 유닛(168)에 의해 분석된 품질 특성들은 도 5의 객관적인 메트릭 체크기(50)에 의해 평가된 것들과 유사할 수 있다. 예를 들어, 분석 유닛(168)은 대체 유닛(166)에 의해 생성된 대체(예를 들어, 보간된 또는 보외된) 프레임들과 연관된 픽셀 값들, 또는 대체 프레임들을 생성하기 위해 사용된 하나 이상의 기준 프레임들과 연관된 픽셀 값들을 분석하여, 그러한 프레임들과 연관된 블록화, 흐릿함, 색 번짐의 정도들 또는 다른 객관적인 공간적 품질 메트릭들을 결정하고, 상기 결정에 기초하여 품질 스코어를 생성하도록 구성될 수 있다.
그리하여, 품질 분석은 픽셀 도메인에서 대체 유닛(166)에 의해 생성된 대체 프레임들을 분석함으로써, 또는 픽셀 도메인에서 디코딩 유닛(162)에 의해 생성된 디코딩되고 재구성된 기준 프레임들을 분석함으로써, 또는 이들 양자의 조합에 의해 수행될 수 있다. 기준 프레임들이 분석되는 구현예에서, 기준 프레임들은 대체 프레임을 보간 또는 보외하기 위해 사용된 기준 프레임들일 수 있다. 대체 유닛(166)에 의해 생성된 특정 보간 또는 보외된 대체 프레임에 대한 품질 스코어는 상당한 블록화, 흐릿함, 및/또는 색 번짐이 대체 프레임에서(또는 상기 프레임을 생성하기 위해 사용된 하나 이상의 기준 프레임들에서) 검출될 때 로우일 수 있고, 실질적으로 아무런 블록화, 흐릿함, 및/또는 색 번짐에 존재하지 않을 때 하이일 수 있다.
상이한 대체 프레임들에 대한 품질 스코어는 그러한 객관적인 시각적 품질 메트릭 특성들의 함수로써 하이와 로우 사이에서 변화할 수 있다. 대안적으로, 품질 스코어는 사전결정된 임계치와의 비교에 기초하여 하이 또는 로우로서 표현될 수 있다. 어느 경우든, 만약 대체 프레임에 대한 품질 스코어가 품질 임계치를 만족시키지 않는다면(예를 들어, 품질 임계치 미만이라면), 분석 유닛(168)은 제어 유닛(172)에게 출력 프레임 버퍼(164)로부터 디스플레이(170)로의 프레임의 전송을 디스에이블시킬 것을 지시할 수 있다. 대안적으로, 대체 프레임에 대한 품질 스코어가 임계치를 만족시킨다면(예를 들어, 임계치 이상이라면), 분석 유닛(168)은 제어 유닛(172)에게 사용자에게로의 프리젠테이션을 위하여 출력 프레임 버퍼(164)로부터 디스플레이(170)로의 전송을 인에이블시킬 것을 지시할 수 있다.
전술한 바와 같이, 분석 유닛(168)은 대체 프레임의 픽셀 값들, 보간 또는 보외에 의해 대체 프레임을 생성하기 위해 사용된 하나 이상의 기준 프레임들의 픽셀 값들, 또는 대체 프레임 근처에 있는 하나 이상의 다른 프레임들의 픽셀 값들을 분석함으로써 대체 프레임과 연관된 품질 특성들을 분석할 수 있다. 기준 프레임들이 분석되면, 대체 유닛(166)은 분석 유닛(168)에게 어떤 기준 프레임 또는 프레임들이 특정 대체 프레임을 보간 또는 보외하기 위해 사용되었는지를 나타낼 수 있다.
전술한 바와 같이 픽셀 값들을 사용하여, 분석 유닛(168)은 대체 프레임 및/또는 대체 프레임을 생성하기 위해 사용된 하나 이상의 기준 프레임들과 연관된 SSIM, 블록화, 흐릿함 및/또는 색 번짐 메트릭들과 같은 하나 이상의 공간적 품질 메트릭들을 분석할 수 있다. 소정의 구현예들에서, 픽셀 값 분석은 대안적으로, 또는 부가적으로 대체 프레임에 시간적으로 근접해 있는 다른 프레임들에 적용될 수 있다(기준 프레임들 또는 대체 프레임에 부가하여, 또는 기준 프레임들 또는 대체 프레임에 대한 대안으로서). 만약 대체 프레임, 기준 프레임 또는 근처의 또 다른 프레임에 대한 공간적 품질 메트릭이 적용가능한 임계치를 만족시키지 않는다면, 분석 유닛(168)은 제어 유닛(172)에게 대체 프레임의 디스플레이를 디스에이블시킬 것을 지시할 수 있다.
단순한 예로서, 만약 대체 프레임과 연관된 픽셀 값들에 의해 제시된 블록화의 양이 임계치를 초과한다면, 분석 유닛(168)은 대체 프레임의 디스플레이를 디스에이블시킬 수 있다. 이러한 방식으로, 디코더(158)는 품질에 악영향을 줄 수 있는 대체 프레임, 또는 부가적인 디스플레이 자원들의 소비를 정당화시키기에 불충분한 품질 향상을 제공하는 대체 프레임을 디스플레이하는 것을 회피할 수 있다.
대안예, 또는 부가적인 동작으로서, 품질 분석을 위하여, 분석 유닛(168)은 공간적 품질 메트릭들의 시간적 변동과 같은 하나 이상의 시간적 품질 메트릭들을 분석할 수 있다. 예를 들어, 분석 유닛(168)은 대체 프레임을 보간 또는 보외하기 위해 사용된 하나 이상의 기준 프레임들과 대체 프레임 간의 공간적 품질(예를 들어, SSIM, 블록화, 흐릿함, 및/또는 색 번짐)의 변동을 분석할 수 있다. 만약 시간적 품질 변동이 변동 임계치보다 더 크면, 분석 유닛(168)은 제어 유닛(172)에게 대체 프레임의 디스플레이를 디스에이블시킬 것을 지시할 수 있다.
분석 유닛(168)은 하나 이상의 공간적 품질 메트릭들 단독의 시간적 변동 또는 공간적 품질 메트릭 그 자체와 조합한 시간적 변동을 고려할 수 있다. 예를 들어, 공간적 품질 메트릭 또는 시간적 품질 메트릭이 적용가능한 임계치를 만족시키지 못한다면, 분석 유닛(168)은 대체 프레임의 디스플레이를 디스에이블할 수 있다. 대안적으로, 분석 유닛(168)은 공간적 품질 및 시간적 품질 값들의 가중된 합계에 기초하여 스코어를 계산하고 그러한 합을 복합 임계값과 비교할 수 있다.
추가의 개량예들로서, 소정의 구현예들에서, 분석 유닛(168)은 대체 프레임, 기준 프레임 또는 다른 근처 프레임 내의 아티팩트들의 위치를 분석하도록 구성될 수 있다. 아티팩트는 디스플레이된 프레임의 특정 국부화된 영역에서 블록화, 흐릿함 또는 색 번짐에 의해 생성될 수 있는 바람직하지 않은 시각적 특징일 수 있다. 분석 유닛(168)은 일 프레임에 대한 전체 블록화 정도, 흐릿함 정도 또는 색 번짐 정도를 분석하거나, 일 프레임의 국부화된 영역들의 맥락에서 그러한 특성들을 고려할 수 있다. 예를 들어, 분석 유닛(168)은 그러한 영역들에서의 텍스쳐(texture)의 표시를 생성하기 위해, 일 프레임의 국부화된 영역들, 예를 들어, 3 × 3 픽셀 영역들의 픽셀 값 분산(variance)을 분석할 수 있다. 일반적으로 낮은 분산에 의해 표시되는 매끄러운 영역들은 블록화, 흐릿함, 색 번짐 또는 다른 아티팩트들에 의해 야기된 시각적 아티팩트들에 더 영향받기 쉬울 수 있다. 그러나, 그러한 아티팩트들은 더 많은 텍스쳐를 가진 더 높은 분산의 영역들에서 덜 가시적일 수 있다.
분석 유닛(168)은 일 프레임에 대한 공간적 품질 메트릭에 대한 대안으로서, 또는 이에 부가하여 일 프레임 내 다수의 국부화된 영역들에 대하여 국부화된 공간적 품질 메트릭들을 생성할 수 있다. 만약 일 프레임에 대한 국부화된 공간적 품질 메트릭들이, 아티팩트들이 더 가시적일 매끄러운 영역들 중 임의의 영역에서 적용가능한 임계치를 만족시키지 않는다면, 분석 유닛(168)은 가시적인 아티팩트들의 프리젠테이션을 감소시키거나 회피하기 위해 대체 프레임의 디스플레이를 디스에이블할 수 있다. 그러나, 만약 국부화된 공간적 품질 메트릭들이 단지 더 많은 텍스쳐를 가진 더 높은 분산 영역들에서만 품질 임계치를 만족시키지 못한다면, 분석 유닛(168)은 아티팩트들이 그러한 영역들에서 사용자에게 비가시적이거나 덜 가시적일 것이라는 인식을 갖고 대체 프레임의 디스플레이를 허용할 수 있다. 추가 대안예로서, 분석 유닛(168)은 상이한 국부화된 영역들에 대해 상이한 임계값들을 사용할 수 있다. 매끄러운 낮은 분산 영역에서, 분석 유닛(168)은 가시적인 아티팩트들의 도입을 감소시키거나 회피하기 위해 사실상 더 높은 품질을 요구하면서, 더 높은 품질 임계치를 사용할 수 있다. 더 높은 분산 영역에서, 분석 유닛(168)은 현저한 아티팩트들이 단지 높은 텍스쳐 영역들에서만 일어나거나 거의 높은 텍스터 영역들에서만 일어날 때 대체 프레임의 디스플레이를 허용하면서 더 낮은 품질 임계치를 사용할 수 있다.
분석 유닛(168)은 전술한 바와 같이 국부화된 영역을 분석하기 위해 프레임을 스캐닝할 수 있다. 만약 국부화된 영역들 중 임의의 영역, 또는 국부화된 영역들의 사전결정된 퍼센티지가 디스플레이된 프레임에서의 가시적인 아티팩트들의 가능성을 나타낼 수 있는 낮은 분산(분산 임계치 미만) 및 낮은 품질 메트릭(품질 임계치 미만) 양자 모두를 나타낸다면, 분석 유닛(168)은 제어 유닛(172)에게 대체 프레임의 디스플레이를 디스에이블할 것을 지시할 수 있다. 사전결정된 퍼센티지는 고정되거나 적응성인 임계값일 수 있다. 다른 구현예들에서, 분석 유닛(168)은 예를 들어, 낮은 텍스쳐 및 낮은 품질 모두를 갖는 국부화된 영역들이 인접한지 여부를 고려함으로써, 아티팩트들이 가시적일 수 있는 영역들의 크기를 분석하도록 구성될 수 있다. 그리하여, 분석 유닛(168)은 대체 프레임의 디스플레이를 인에이블할지 아니면 디스에이블할지를 결정하기 위해 퍼센티지 임계치 대비 현저한 아티팩트들을 갖는 모든 국부화된 영역들의 퍼센티지 및/또는 크기 임계치 대비 아티팩트들 중 임의의 것의 크기들(예를 들어, 낮은 품질/낮은 텍스쳐 영역들에 의해 표시됨)을 분석할 수 있다.
분석 유닛(168)은 부가적으로, 또는 대안적으로, 대체 프레임을 보간 또는 보외하기 위해 사용된 기준 프레임들과 연관된 모션 벡터들의 신뢰성을 표시하는 데이터와 같은, 다른 타입들의 데이터를 사용하여 대체 프레임과 연관된 품질을 분석할 수 있다. 품질 분석을 위해 분석 유닛(168)에 의해 사용될 수 있는 데이터의 다른 예들은 대체 프레임의 보간 또는 보외를 위해 사용된 하나 이상의 기준 프레임들과 연관된 이산 코사인 변환(DCT) 또는 웨이블릿 변환 계수들에 관한 정보와 같은 압축된 도메인 정보를 포함할 수 있다. 압축된 도메인 정보는 예를 들어, QP 및 CBP 값들을 포함할 수 있다. 도 12에 도시된 바와 같이, 소정의 구현예들에서, 분석 유닛(168)은 디코딩 유닛(162)으로부터 QP 및 CBP 값들을 수신할 수 있다. QP 및/또는 CBP 값들은 대체 프레임을 보간 또는 보외하기 위해 사용된 기준 프레임들과 연관될 수 있다. QP, CBP 값들 및/또는 다른 압축된 도메인 정보를 사용하여, 분석 유닛(168)은 대체 프레임들의 품질을 분석할 수 있다.
일 예로서, 분석 유닛(168)은 예를 들어, 도 5 및 도 8을 참조하여, 전술한 바와 유사한 방식으로 모션 벡터 신뢰성을 평가할 수 있다. 만약 하나 이상의 기준 프레임들의 모션 벡터 신뢰성이 만족스럽지 않다면, 분석 유닛(168)은 제어 유닛(172)에게 대체 프레임의 디스플레이를 디스에이블할 것을 지시할 수 있다. 분석 유닛(168)은 예를 들어, 도 5의 MV 신뢰성 체크기(60)에 대하여 전술한 바와 유사한 방식으로, 모션 차이 기반 접근법, 프레임-대-프레임 모션 변화 검출 접근법, 또는 모션 궤적 기반 접근법과 같은, 모션 벡터 신뢰성을 결정하기 위한 여러 다양한 기술들 중 임의의 것을 적용할 수 있다. 분석 유닛(168)은 대체 프레임의 디스플레이를 인에이블할지 아니면 디스에이블할지를 결정하기 위해, 모션 벡터 신뢰성을 단독으로 고려하거나 모션 벡터 신뢰성을 예를 들어, 픽셀 도메인 품질 메트릭들, 시간적인 메트릭들, 또는 국부화된 메트릭들을 포함한, 본 명세서에 기술된 다른 품질 메트릭들과 조합하여 고려할 수 있다.
전술한 바와 같이, 분석 유닛(168)은 대체 프레임을 보간 또는 보외하기 위해 사용된 기준 프레임들과 연관된 QP 및/또는 CBP 값들과 같은 압축된 도메인 정보에 기초하여 품질을 분석할 수 있다. 압축된 도메인 정보는 예를 들어, 수신된 프레임들과 연관된 비트스트림을 파싱함으로써, 수신된 프레임 버퍼(160) 내의 기준 프레임들로부터 획득될 수 있다. 일 예로서, 분석 유닛(168)은 도 5의 QP 체크기(54) 및 CBP 체크기(56), 및 품질 스코어 계산기(58), 및 도 9의 흐름도에 도시된 프로세스를 참조하여 기술된 바와 유사한 방식으로 기준 프레임들과 연관된 QP 및/또는 CBP를 분석하도록 구성될 수 있다. 만약 도 9에 도시된 바와 같이 QP를 QP 임계치(QP_th)와 비교하고 CBP 값이 넌제로인지 여부를 결정함으로써, QP 및 CBP 값들이 기준 프레임에 대해 비교적 높은 품질을 나타낸다면, 분석 유닛(168)은 제어 유닛(172)에게 적절한 기준 프레임을 사용하여 보간 또는 보외되었던 대체 프레임의 디스플레이를 인에이블할 것을 지시할 수 있다. 그러나, 만약 QP 및 CBP 값들이 낮은 품질을 나타낸다면, 분석 유닛(168)은 제어 유닛(172)에게 대체 프레임의 디스플레이를 디스에이블할 것을 지시할 수 있다.
압축된 도메인 정보 및 MV 신뢰성의 분석은 대체 프레임을 디스플레이할지 여부를 결정하기 위해, 단독으로, 또는 공간적 품질 정보 또는 시간적 품질 정보와 같은 다른 품질 정보와 조합하여 분석 유닛(168)에 의해 사용될 수 있다. 소정의 구현예들에서, 분석 유닛(168)은 조합된 여러 다양한 품질 정보를 분석하도록 구성될 수 있다. 예를 들어, 분석 유닛(168)은 품질 스코어를 생성하기 위해 픽셀 도메인에서 객관적인 공간적 및/또는 시간적 품질 메트릭들(예를 들어, SSIM, 블록화 정도, 흐릿함 정도 및 색 번짐 정도 및/또는 연관된 시간적 변동), 및 QP 및 CBP 값들과 같은 변환 도메인 정보, 가능하게는 에러 은폐(EC) 신뢰성 정보를 분석할 수 있고, 그 다음 허용가능한 품질 스코어를 갖는 대체 프레임을 디스플레이할지 여부를 결정하기 위해 모션 벡터(MV) 신뢰성 분석을 적용할 수 있다.
에러 은폐(EC) 신뢰성을 위하여, 분석 유닛(168)은 도 5의 EC 체크기 및 도 9의 프로세스를 참조하여 기술된 바와 유사한 EC 분석을 적용할 수 있다. 예를 들어, 분석 유닛(168)은 대체 프레임을 생성하기 위해 사용된 하나 이상의 기준 프레임들을 분석하고 슬라이스 손실이 존재하는지 여부를 결정할 수 있다. 만약 그러하다면, 분석 유닛(168)은 적합한 EC 메커니즘이 이용가능한지 여부를 결정할 수 있다. 만약 적합한 EC 메커니즘이 존재하지 않는다면, 분석 유닛(168)은 제어 유닛(172)에게 디스플레이(170)에 의한 대체 프레임의 디스플레이를 디스에이블할 것을 지시할 수 있다. 그러나 만약 허용가능한 EC 메커니즘이 이용가능하다면, 분석 유닛(168)은 대체 프레임의 디스플레이를 허용할 수 있다. 슬라이스 손실 및 EC 메커니즘의 분석은 대체 프레임의 디스플레이를 선택적으로 인에이블 또는 디스에이블하기 위한 기반으로서 단독으로 수행될 수 있거나, 공간적 품질, 시간적 품질, 모션 벡터 신뢰성, 또는 이와 유사한 것과 같은 다른 품질 특성들의 분석과 조합하여 수행될 수 있다.
소정의 구현예들에서, 분석 유닛(168)은 분석 유닛(168)이 대체 프레임을 보간 또는 보외하는데 사용하기 위한 프레임들의 특정 기준 프레임을 선택할지 여부를 결정하는 것 대신에, 대체 프레임을 디스플레이할지 여부를 결정하는 것을 제외하고는 도 5의 분석 유닛(42)과 유사한 방식으로 동작하도록 구성될 수 있다. 명백히, 대체 프레임이 대체 유닛(166)에 의해 이미 생성되었기 때문에, 분석 유닛(168)은 하나 이상의 기준 프레임들의 품질 특성들을 분석하는 것에 부가하여 또는 이에 대한 대안으로서, 픽셀 도메인에서 대체 프레임의 객관적인 품질 특성들을분석할 수 있다. 예를 들어, 분석 유닛(168)은 대체 프레임의 품질만을 단독으로, 또는 대체 프레임의 품질을 하나 이상의 기준 프레임들의 품질 및/또는 모션 벡터 신뢰성과 조합하여 고려할 수 있다. 대안적으로, 분석 유닛(168)은 대체 프레임의 품질을 고려함 없이 기준 프레임들의 품질 및/또는 모션 벡터 신뢰성을 고려할 수 있다.
분석 유닛(168)은 대체 프레임들이 시각적 및/또는 시간적 품질에 더 양호하게 기여할 것 같을 때 디스플레이(170)에 대체 프레임들을 선택적으로 제공함에 있어 효과적일 수 있다. 비록 보간 또는 보외가 이미 수행되었을지라도, 품질 레벨이 상기 프레임을 전송 및 디스플레이하기 위해 요구된 부가적인 자원들을 정당화하지 못한다면, 상기 프레임을 폐기하는 것은 여전히 유리할 수 있다. 대량의 전력이 출력 프레임 버퍼(164)로부터 디스플레이(170)로 대체 프레임을 전송하기 위해 요구될 수 있다.
일반적으로, 분석 유닛(168)은 비디오 디코더(158)에서 대체 유닛(166)에 의해 수행된 FRUC 프로세스에 의해 생성된 보간 또는 보외된 비디오 프레임의 하나 이상의 품질 및/또는 모션 특성들을 분석하도록 구성될 수 있다. 상기 분석에 기초하여, 분석 유닛(168)은 제어 유닛(172)에게 디스플레이 디바이스(170) 상의 프리젠테이션을 위한 보간된 또는 보외된 비디오 프레임의 전송을 선택적으로 인에이블 및 디스에이블시킬 것을 지시할 수 있다. 비록 SSIM, 블록화 정도, 흐릿함 정도, 및/또는 색 번짐 정도와 같은 객관적인 시각적 품질 메트릭 특성들이 품질 분석을 위해 분석될 수 있지만, 다른 품질 메트릭들이 사용될 수도 있다.
일부 양상들에서, 디코더(158)는 상이한 모드들로 동작하도록 구성될 수 있다. 자원-중점 모드와 같은 제 1 모드에서, 디코더(158)는 예를 들어, 제어 유닛(172)을 통해 품질 분석에 기초한 디스플레이 디바이스(170) 상에서의 디스플레이를 위하여 보간된 또는 보외된 비디오 프레임들의 전송을 선택적으로 인에이블 또는 디스에이블할 수 있다. 제 2 동작 모드에서, 디코더(158)의 제어 유닛(172)은 품질 분석을 수행하지 않고 또는 품질 분석의 결과들에 대한 관련없이 디스플레이 디바이스(170) 상의 프리젠테이션을 위해 보간된 또는 보외된 프레임의 전송을 인에이블할 수 있다.
분석 유닛(168)은 또한 디스플레이가 지나간 일련의 N개의 이전의 대체 프레임들에 걸쳐 디스에이블되었던 대체 프레임들의 개수를 고려하도록 구성될 수 있고, 여기서, N은 1보다 큰 수를 나타낸다. 만약 예를 들어, 품질 특성들로 인하여 최종 N개의 프레임들에서의 이전의 대체 프레임들의 미리 결정된 수 또는 퍼센티지 M보다 많이 디스플레이되지 않았다면, 분석 유닛(168)은 현재의 대체 프레임의 디스플레이를 인에이블할 수 있다. 이러한 경우에, 현재의 대체 프레임은 비록 그것이 적용가능한 품질 임계치들을 만족시킬 수 없을지라도 디스플레이될 수 있다. 이러한 방식으로, 분석 유닛(168)은 긴 일련의 대체 프레임들의 디스플레이를 스킵하는 것을 회피할 수 있다.
대안적으로, 디스플레이를 인에이블하는 것 대신에, 분석 유닛(168)은 대체 프레임이 디스플레이되고 있을 더 높은 확률을 갖도록 현재의 대체 프레임에 대해 하나 이상의 적용가능한 품질 임계치들을 감소시킬 수 있다. 그리하여, 어느 경우든, 분석 유닛(168)은 사전결정된 개수의 이전의 프레임들에 걸쳐 디스플레이되지 않았던 대체 프레임들의 개수에 적어도 부분적으로 기초하여 현재의 대체 프레임의 디스플레이를 인에이블할지 여부를 결정할 수 있다. 일 예시로서, 만약 고려 중인 이전의 대체 프레임들의 개수가 N = 10이고 디스플레이되지 않는 프레임들의 임계 개수 M이 5라면, 분석 유닛(168)은 최종 10개의 프레임들에서 디스플레이되지 않는 프레임들의 개수가 5 또는 그 이상이었다면 제어 유닛(172)에게 현재의 대체 프레임의 디스플레이를 허용할 것을 지시할 수 있다.
개선예로서, 소정의 구현예들에서, 최종 N개의 대체 프레임들에서 디스플레이되지 않았던 대체 프레임들의 절대 개수를 고려하기보다 오히려, 분석 유닛(168)은 디스플레이되지 않았던 연속적인 대체 프레임들의 개수를 고려할 수 있다. 예를 들어, 분석 유닛(168)은 M의 연속적인 카운트 임계치를 적용할 수 있다. 만약 품질 특성들로 인하여 이전의 M+1개의 연속적인 대체 프레임들이 디스플레이되지 않았다면, 분석 유닛은 제어 유닛(172)에게 현재의 대체 프레임의 디스플레이를 인에이블할 것을 지시할 수 있다. 분석 유닛(168)은 현재의 대체 프레임이 이전의 대체 프레임들의 넌-디스플레이에 기초하여 디스플레이되어야 하는지 여부를 결정하기 위해 광범위하게 다양한 임계 방식들 중 임의의 것을 적용할 수 있다. 따라서, 이러한 설명은 예시를 목적으로 제한 없이 제공된다.
도 13은 대체 프레임들의 선택적인 디스플레이를 위한 예시적인 기술을 도시하는 흐름도이다. 도 12의 디코더(158)는 도 13의 기술을 수행하도록 구성될 수 있다. 도 13에 도시된 바와 같이, 디코더(158)는 입력 비디오 프레임들을 수신하고(174), 상기 프레임들을 디코딩하며(176), 프레임 대체를 수행하여(178), 보간 또는 보외를 위한 기준 프레임들로서 수신된 프레임들 중 일부를 사용하여 대체 프레임들을 생성한다. 디코더(158)에 제공된 분석 유닛(168)과 같은 분석 유닛은 대체 프레임들의 전부 또는 일부의 하나 이상의 품질 특성들을 분석할 수 있다(180). 소정의 구현예들에서, 분석 유닛은 비디오 디코더(158), 비디오 포스트-프로세싱 유닛, 또는 모바일 디스플레이 프로세서(MDP)와 같은 비디오 디스플레이 프로세싱 유닛에 제공될 수 있다. 예를 들어, 분석 유닛(168)은 대체 유닛(166)에 의해 생성된 보간 또는 보외된 프레임에서의 SSIM, 블록화 정도, 흐릿함 정도 또는 색 번짐 정도와 같은 여러 다양한 객관적인 품질 특성들을 분석할 수 있다.
만약 대체 프레임의 품질이 품질 임계치를 만족시킨다면, 예를 들어, 품질 임계치 이상이라면(182), 분석 유닛(168)은 제어 유닛(172)에게 예를 들어, 출력 프레임 버퍼(164)로부터 디스플레이(170)로의 프레임의 전송을 인에이블함으로써, 대체 프레임의 디스플레이를 인에이블할 것을 지시할 수 있다(184). 만약 품질이 품질 임계치를 만족시키지 않는다면(182), 예를 들어, 임계치 이하라면, 분석 유닛(168)은 제어 유닛(172)에게 대체 프레임의 디스플레이를 디스에이블할 것을 지시할 수 있다(186). 일부 경우들에서, 품질 임계치는 예를 들어, 이용가능한 자원들에 기초하여 적응성으로 조정될 수 있다. 그리하여, 비록 소정의 자원들이 대체 프레임을 생성하기 위해 소비되었을지라도, 디코더(158)는 대체 프레임의 품질이 예를 들어, 사전정의된 임계 품질 레벨에 관하여 만족스럽지 않을 때 부가적인 자원들의 소비를 회피할 수 있다.
도 13의 예에서, 분석 유닛(168)은 해당 대체 프레임을 디스플레이할지 여부를 결정하기 위해 대체 프레임 그 자체의 품질을 분석하도록 구성될 수 있다. 그리하여, 소정의 경우들에서, 다른 프레임들을 분석할 필요성이 전혀 존재하지 않을 수 있다. 그러나, 다른 구현예들에서, 분석 유닛(168)은 대체 프레임을 디스플레이할지 여부를 결정하기 위한 기반으로서 대체 프레임을 생성하기 위해 사용된 하나 이상의 기준 프레임들의 품질을 분석할 수 있다. 블록(188)에 의해 표시된 바와 같이, 분석 유닛(168)은 선택적으로 하나 이상의 기준 프레임들의 품질만을 단독으로, 또는 하나 이상의 기준 프레임들의 품질을 대체 프레임의 품질의 분석과 조합하여 분석할 수 있다. 대체 프레임의 품질 분석은 일반적으로 대체 프레임의 픽셀 도메인 값들의 분석을 수반할 수 있다. 전술한 바와 같이, 기준 프레임들의 품질 분석은 픽셀 도메인 값들, 변환 도메인 값들, MV 신뢰성, EC 신뢰성, 또는 이와 유사한 것의 분석을 수반할 수 있다.
도 14a는 도 12에 도시된 바와 같이 비디오 디코더(158)에 대해 사용될 수 있는 분석 유닛(168)을 도시하는 블록 다이어그램이다. 도 14a의 예에서, 분석 유닛(168)은 대체 프레임에 대한 객관적인 하나 이상의 품질 메트릭들을 사용하여 대체 프레임과 연관된 품질을 분석하도록 구성된다. 예를 들어, 객관적인 메트릭 체크기(173)는 대체 프레임에 대하여 SSIM, 블록화 정도, 흐릿함 정도, 또는 색 번짐 정도와 같은 객관적인 공간적 품질 메트릭들을 분석할 수 있다. 그러한 메트릭들은 예를 들어, 대체 프레임의 픽셀 값들로부터 획득될 수 있다. 소정의 구현예들에서, 객관적인 메트릭 체크기(173)는 프레임들을 전체로서 또는 국부화된 영역 기반 상에서 분석할 수 있다. 품질 스코어 계산기(175)는 객관적인 품질 메트릭 또는 메트릭들에 기초하여 품질 스코어를 생성할 수 있다. 비교 유닛(177)은 대체 프레임의 디스플레이를 인에이블할지 아니면 디스에이블할지를 결정하기 위해 품질 스코어를 임계치와 비교할 수 있다. 만약 품질 스코어가 품질 임계치를 만족시킨다면, 비교 유닛(177)은 제어 유닛(172)에게 디스플레이(170)를 통한 대체 프레임의 디스플레이를 허용할 것을 지시할 수 있다. 만약 품질 스코어가 품질 임계치를 만족시키지 않는다면, 비교 유닛(177)은 제어 유닛(172)에게 대체 프레임의 디스플레이를 디스에이블할 것을 지시할 수 있다. 이러한 경우에, 이전의 또는 미래의 프레임은 대체 프레임 대신에 디스플레이(170)에 의해 반복될 수 있다.
도 14b는 도 12에 도시된 바와 같이 비디오 디코더(158)에 대하여 사용될 수 있는 또 다른 분석 유닛(168)을 도시하는 블록 다이어그램이다. 도 14a의 예에서, 분석 유닛(168)은 대체 프레임의 품질을 직접 분석하도록 구성된다. 도 14b의 예에서, 분석 유닛(168)은 기준 프레임들의 품질, 대체 프레임의 품질, 또는 이들 양자의 조합을 분석하도록 구성될 수 있다. 부가하여, 도 14b에서, 분석 유닛(168)은 픽셀 값들, 변환 도메인 값들, 모션 벡터들, 및/또는 다른 타입들의 정보를 분석하도록 구성될 수 있다. 일반적으로, 분석 유닛(168)은 도 5의 분석 유닛(42)과 다소 유사한 방식으로 구성될 수 있다. 예를 들어, 분석 유닛(168)은 객관적인 메트릭 체크기(173), 품질 스코어 계산기(175), 비교 유닛(177), EC 체크기(179), QP 체크기(181), CBP 체크기(183), 및 MV 신뢰성 체크기(185) 중 하나 이상을 포함할 수 있다.
객관적인 메트릭 체크기(173)는 전술한 바와 같이, 객관적인 공간적 품질 및/또는 시간적 품질의 표시를 생성하기 위해 대체 프레임을 생성하는데 사용되는 하나 이상의 기준 프레임들 및/또는 대체 프레임을 분석할 수 있다. 소정의 구현예들에서, 객관적인 메트릭 체크기(173)는 프레임들을 전체로서 또는 국부화된 영역 기반 상에서 분석할 수 있다. EC 체크기(179)는 슬라이스 손실을 검출하고, 허용가능한 EC 메커니즘이 이용가능한지 여부를 결정할 수 있다. QP 체크기(181) 및 CBP 체크기(183)는 기준 프레임들에 대한 QP 및 CBP 값들에 기초하여 품질의 표시를 생성할 수 있다.
소정의 구현예들에서, 품질 스코어 계산기(175)는 예를 들어, 도 5 및 도 9를 참조하여 기술된 것과 유사한 방식으로 대체 프레임의 선택적 디스플레이에 고려하기 위한 전체 품질 스코어를 계산할 수 있다. 품질 스코어는 각각의 대체 프레임에 대해 리셋될 수 있다. 그러나, 이전의 대체 프레임에 대해 분석된 품질 메트릭들이 현재의 대체 프레임에 대해 유용하다면, 그것들은 유지되고 재사용될 수 있다. 일 예로서, 하나의 대체 프레임의 보간 또는 보외를 위해 사용된 특정 기준 프레임에 대해 결정되었던 QP 및 CBP 데이터, MV 신뢰성 데이터, 또는 EC 신뢰성 데이터는 동일한 기준 프레임이 또 다른 대체 프레임에 대해 사용되는 경우 재사용될 수 있다.
품질 스코어 계산기(175)는 객관적인 메트릭 체크기(173), EC 체크기(179), QP 체크기(181), 및 CBP 체크기(183) 중 하나 이상의 출력들에 기초하여 후보 기준 프레임에 대한 전체 품질 스코어를 생성하도록 구성될 수 있다. 도 5 및 도 9를 참조하여 기술된 프로세스와 유사한 방식으로, 객관적인 메트릭 체크기(173), EC 체크기(179), QP 체크기(181), 및 CBP 체크기(183)에 의해 생성된 개별 스코어들은 단순히 하이 또는 로우 품질 값들로서, 또는 하이, 미디엄 또는 로우 품질 값들로서 구성될 수 있거나, 또는 다수의 등급들에 따라 또는 거의 연속적인 스케일로 계산될 수 있다. 품질 스코어 계산기(175)는 예를 들어, 총 품질 스코어가 모든 스코어들의 가중된 합계이도록, 개별 스코어들 각각에 동일하거나 불균일한 가중을 수여할 수 있다.
총 스코어를 계산하기 위해 사용된 품질 특성들, 예를 들어, 객관적인 메트릭들, EC 특성들, QP 및 CBP 특성들은 대체 프레임이 디스플레이(170)에 의해 제시될 때 허용가능한 시각적 품질 레벨을 생성할 것 같은지 여부를 나타낼 수 있다. 비교 유닛(177)은 총 스코어를 품질 임계값과 비교할 수 있다. 총 스코어가 만족스럽다면, 예를 들어, 품질 임계값을 만족시키거나 품질 임계값을 초과한다면, 비교 유닛(177)은 대체 프레임이 디스플레이(170)에 의한 프리젠테이션을 위해 허용가능한 품질의 레벨을 가짐을 나타낸다. 만약 총 스코어가 품질 임계값 미만이라면, 비교 유닛(177)은 대체 프레임이 디스플레이(170)에 의한 프리젠테이션을 위해 허용가능하지 않음을 결정한다. 각각의 경우에, 그 다음 분석 유닛(168)은 다음의 대체 프레임의 선택적 디스플레이를 위한 품질을 분석하도록 진행할 수 있다.
품질 스코어가 품질이 만족스러움을 나타낼지라도, MV 신뢰성 체크기(185)는 대체 프레임을 생성하는데 사용된 하나 이상의 기준 프레임들과 연관된 모션 벡터들이 신뢰성 있는지 여부를 결정하기 위해 제공될 수 있다. MV 신뢰성 체크기(185)는, 프레임 대체가 보간 또는 보외를 위한 모션-보상된 예측 방법을 사용하는 경우, 선택된 기준 프레임(들)이 품질 프레임 대체 결과들을 생성할 가능성이 있음을 보장하기 위해 하나 이상의 기준 프레임들에서의 모션 벡터들의 신뢰성을 분석할 수 있다. 만약 모션 벡터들이 신뢰성이 있다면, MV 신뢰성 체크기(185)는 대체 프레임이 디스플레이(170)에 의해 디스플레이되게 하도록 제어 유닛(172)으로 인에이블 신호를 송신할 수 있다. 그러나, 만약 모션 벡터들이 신뢰성이 없다면, MV 신뢰성 체크기(185)는 대체 프레임이 디스플레이(170)에 의해 디스플레이되지 않도록 제어 유닛(172)으로 신호를 송신할 수 있다. 대신에, 제어 유닛(172)은 대체 프레임의 디스플레이를 디스에이블할 수 있고, 그 결과 디스플레이(170)는 대체 프레임의 자리에 이전의 또는 미래의 프레임을 반복할 수 있다.
도 15는 대체 프레임들의 선택적 디스플레이를 지원하기 위해 품질 스코어들을 생성하기 위한 예시적인 기술을 도시하는 흐름도이다. 도 15의 프로세스는 도 9의 프로세스와 유사할 수 있다. 그러나, 도 12-도 14를 참조하여 기술된 바와 같이, 스코어 매기기 프로세스는 보간 또는 보외를 수행할 기준 프레임들의 선택을 위해 사용하는 것 대신에, 이미 보간 또는 보외된 대체 프레임들의 선택적 디스플레이를 위해 사용될 수 있다. 도 15에 도시된 바와 같이, 대체 프레임을 디스플레이할지 여부를 고려함에 있어, 분석 유닛(168)은 수신된 프레임 버퍼(160)로부터 대체 프레임을 생성하기 위해 보간 또는 보외에 사용된 하나 이상의 기준 프레임들을 리트리브할 수 있고(190), 기준 프레임에 대해 QP 및 CBP 값들을 분석할 수 있다. 도 9의 예에서와 같이, 도 15에 도시된 바와 같이, 분석 유닛(168)은 QP 및 CBP 값들에 기초하여 조합된 QP-기반 스코어를 생성할 수 있다. 만약 QP 값이 적용가능한 QP 임계값(QP_th) 미만이고 CBP 값이 제로와 같지 않다면(192), 분석 유닛(168)은 상기 프레임에 대한 QP-기반 스코어를 "HIGH"로 설정한다(194). 만약 QP 값이 QP 임계값(QP_th) 이상이거나 CBP 값이 거의 제로와 같다면(192), 분석 유닛(42)은 상기 프레임에 대한 QP-기반 스코어를 "LOW"로 설정한다(196).
도 15에 더 도시된 바와 같이, 분석 유닛(168)은 또한 슬라이스 손실에 대해 기준 프레임 또는 프레임들을 체크하도록 구성될 수 있다(198). 도 14b를 참조하여, 슬라이스 손실 체킹은 EC 체크기(179)에 의해 수행될 수 있다. 만약 슬라이스 손실이 존재한다면, 분석 유닛(168)은 슬라이스 손실을 교정하기 위해 적절한 에러 은폐(EC) 메커니즘이 이용가능한지 여부를 결정할 수 있다(200). 만약 그렇지 않다면, 분석 유닛(168)은 기준 프레임에 대한 EC-기반 스코어를 "LOW"로 설정한다(202). 만약 신뢰성 있고 적절한 EC 메커니즘이 이용가능하다면(124), 분석 유닛(168)은 EC-기반 스코어를 "HIGH"로 설정한다(204). 이러한 경우에, 만약 손실된 슬라이스가 EC 메커니즘을 사용하여 신뢰성 있게 재생성될 수 있다면, 기준 프레임의 품질은 대체 프레임이 신뢰성 있음을 나타낼 수 있다. 그러나, 슬라이스가 재생성될 수 없다면, 기준 프레임은 대체 프레임이 디스플레이되지 않아야 하는 에러 정보를 포함할 수 있음을 나타낼 수 있다.
분석 유닛(168)은 또한 기준 프레임(들) 및/또는 대체 프레임에 객관적인 품질 메트릭들을 적용할 수 있다(206). 예를 들어, 분석 유닛(168)은 블록화 정도, 흐릿함 정도, 색 번짐 정도 또는 이와 유사한 것과 같은 여러 다양한 객관적인 메트릭들 중 임의의 것을 분석하기 위해 기준 프레임(들) 중 디코딩 및 재구성된 버전을 분석할 수 있다. 부가하여, 분석 유닛(168)은 대체 프레임의 픽셀 도메인 값들을 분석할 수 있다. 그리하여, 객관적인 메트릭들은 시각적인 품질을 평가하기 위해 픽셀 도메인 내 기준 프레임(들) 및/또는 대체 프레임에 적용될 수 있다. 분석 유닛(168)은 품질 메트릭 스코어(QM)를 공식화하기 위해 객관적인 메트릭들 각각을 정량화할 수 있다. 만약 품질 메트릭 스코어(QM)가 적용가능한 품질 메트릭 임계치(QM_th) 이상이라면(208), 분석 유닛(168)은 대체 프레임에 대한 QM-기반 스코어를 "HIGH"로 설정한다(210). 만약 품질 메트릭 스코어(QM)가 품질 메트릭 임계치(QM_th) 이하라면, 분석 유닛(168)은 대체 프레임에 대하여 QM-기반 스코어를 "LOW"로 설정한다(212).
분석 유닛(168)은 QP-기반 스코어, EC-기반 스코어 및 QM-기반 스코어의 조합에 기초하여 대체 프레임에 대한 총 품질 스코어를 설정한다(214). 총 품질 스코어는 기준 프레임(들) 및/또는 대체 프레임들에 대하여, QP-기반 스코어, EC-기반 스코어 및 QM-기반 스코어의 가중된 합계에 따라 공식화될 수 있고, 여기서 분석 유닛(168)은 개별적인 스코어들 각각에 상이한 가중들이 있음을 고려할 수 있다. 개별적인 QP-기반 스코어, EC-기반 스코어 및 QM-기반 스코어가 획득되는 순서는 도 15에 도시된 순서와 상이할 수 있다. 부가하여, 도 15에 도시된 스코어들의 특정 타입들은 변화될 수 있다. 일반적으로, 분석 유닛(168)은 대체 프레임이 시각적 품질을 훼손하지 않을 것이고 대체 프레임을 디스플레이할 부가적인 자원들의 소비를 정당화시키는 시각적 품질 향상의 정도를 제공할 가능성을 나타내는 품질 스코어들을 획득하도록 구성될 수 있다.
도 16은 비디오 유닛들이 지연-민감 비디오 애플리케이션을 지원할 때 비디오 유닛 대체를 위한 비디오 유닛 선택을 지원할 기준 비디오 유닛들의 모션 및/또는 품질 분석에 대한 예시적인 기술을 도시하는 흐름도이다. 도 16의 흐름도는 대체로 도 8의 흐름도에 대응하나, 디코더(14)에 의해 지원되는 비디오 애플리케이션이 영상통화와 같은 지연 민감 애플리케이션인지 여부를 결정하는 동작(216), 및 만약 그러하다면, 적용가능한 시간적 거리 기준들이 충족되는지 여부를 결정하는 동작(218)을 더 포함한다.
도 16의 예에서, 후보 기준 프레임이 리트리브되고(94) 지연-민감 애플리케이션이 검출될 때(216), 디코더(14)는 상기 프레임이 부가될 프레임에 대해 미래의 프레임인지 여부를 결정할 수 있다. 만약 그러하다면, 디코더(14)는 미래의 기준 프레임의 거리가 임계 거리 미만인지 여부를 결정한다. 만약 후보 기준 프레임이 부가될 프레임으로부터 임계 거리 미만으로 떨어져 있는 이전의 프레임 또는 미래의 프레임이라면, 거리 기준들이 충족된다(218). 일부 양상들에서, 거리는 후보 기준 프레임과 부가될 프레임을 분리하는 프레임들의 개수의 관점에서 표현될 수 있다.
시간적인 거리 기준들이 충족될 때, 디코더(14)는 예를 들어, 도 8을 참조하여 기술되고 동작들(96)-(112)에 도시된 바와 같이, 품질 분석으로 진행될 수 있다. 그러나, 거리 기준들이 충족되지 않으면, 디코더(14)는 보간을 위한 기준 프레임으로서의 고려로부터 후보 기준 프레임을 제거하도록 진행될 수 있고, 고려를 위한 다음의 후보 기준 프레임을 리트리브하도록 진행될 수 있다(94). 그리하여, 지연-민감 애플리케이션에 대한 거리 기준들의 적용은 대체 프레임으로부터의 시간적 거리에 기초하여 특정 기준 프레임들을 배제할 선택 유닛(44)(도 4)의 제어, 거리 유닛(63)을 통한 거리에 부분적으로 기초한 품질 스코어들의 계산(도 5), 또는 거리 기준들이 예를 들어, 도 16에 도시된 바와 같이 충족되지 않을 때 품질 분석을 디스에이블할 분석 유닛(42)의 제어와 같은 어러 상이한 구현들을 경험할 수 있다. 일반적으로, 본 명세서에 기재된 바와 같은, 보간을 위한 기준 프레임들을 선택하기 위한 기술들은 여러 다양한 양상들에서 필요하거나 유리하지 않을 때 프레임 대체를 디스에이블함으로써 자원 소비를 낮추고 프레임 대체에 사용하기 위한 양호한 기준 프레임을 선택함으로써 보간된 프레임들의 품질을 향상시킬 수 있는 FRUC 구현을 제공할 수 있다. 향상된 품질의 이점들은 QP 및 CBP 값들을 분석하고 이러한 분석에 기초하여 고품질 기준 프레임들을 선택함으로써 달성될 수 있고, 이것은 가변 비트 레이트(VBR) 제어 메커니즘들로 압축된 비디오들에 특히 유용할 수 있다.
부가하여, 향상된 품질은 어떠한 에러 은폐 메커니즘도 존재하지 않는 경우, 또는 에러 은폐 메커니즘이 양호한 품질 프레임들을 제공하지 못하는 경우, 기준 프레임들로서 슬라이스 또는 프레임 손실들을 갖는 프레임들을 선택하지 않음으로써 달성되었을 수 있다. 슬라이스 또는 프레임 손실들을 가진 프레임들의 회피 및 부적절한 에러 은폐는 전송 손실들이 예컨대, 영상통화 애플리케이션들의 경우에 일어날 때 특히 유용할 수 있다. 자원-중점 모드는 또한 낮은-모션 비디오 클립들에서 객관적인 그리고 주관적인 비디오 품질을 거의 유지하면서 전력 소모 또는 다른 자원들의 소모를 감소시키는데 있어 효과적일 수 있다.
본 명세서에 설명된 기술들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의 조합에서 구현될 수 있다. 모듈들, 유닛들 또는 컴포넌트들로서 설명된 임의의 특징들은 집적 로직 디바이스에 함께 구현되거나 이산의 그러나 상호동작가능한 로직 디바이스들로서 별개로 구현될 수 있다. 일부 경우들에서, 여러 다양한 특징들은 집적 회로 칩 또는 칩셋과 같은 집적 회로 디바이스로서 구현될 수 있다. 만약 소프트웨어에서 구현된다면, 상기 기술들은 실행될 때 프로세서로 하여금 전술한 방법들 중 하나 이상을 수행하게 하는 명령들을 포함하는 컴퓨터-판독가능 매체에 의해 적어도 부분적으로 실현될 수 있다.
컴퓨터-판독가능 매체는 패키징 재료들을 포함할 수 있는 컴퓨터 프로그램 물건(computer program product)의 일부를 형성할 수 있다. 컴퓨터-판독가능 매체는 랜덤 액세스 메모리(RAM), 동기 동적 랜덤 액세스 메모리(SDRAM), 판독-전용 메모리(ROM), 비휘발성 랜덤 액세스 메모리(NVRAM), 전기적 소거가능 프로그래밍 가능 판독-전용 메모리(EEPROM), FLASH 메모리, 자기 또는 광학적 데이터 저장 매체 및 이와 유사한 것과 같은 컴퓨터 데이터 저장 매체를 포함할 수 있다. 상기 기술들은 부가적으로, 또는 대안적으로, 명령들 또는 데이터 구조들의 형태로 코드를 운반하거나 통신하며 컴퓨터에 의해 액세스, 판독 및/또는 실행될 수 있는 컴퓨터-판독가능 통신 매체에 의해 적어도 부분적으로 실현될 수 있다.
코드 또는 명령들은 하나 이상의 DSP들, 범용 마이크로프로세서들, ASIC들, 현장 프로그래밍가능 로직 어레이(FPGA)들, 또는 다른 균등의 집적 또는 이산 로직 회로와 같은 하나 이상의 프로세서들에 의해 실행될 수 있다. 따라서, 본 명세서에서 사용되는 바와 같이, 용어 "프로세서"는 본 명세서에서 설명된 기술들의 구현에 적합한 전술한 구조 또는 임의의 다른 구조 중 임의의 것을 지칭할 수 있다. 부가하여, 일부 양상들에서, 본 명세서에서 기술된 기능은 전용 소프트웨어 모듈들 또는 하드웨어 모듈들 내에 제공될 수 있다. 본 개시물은 또한 본 명세서에서 설명된 기술들 중 하나 이상을 구현할 회로를 포함하는 여러 다양한 집적 회로 디바이스들 중 임의의 것을 의도한다. 그러한 회로는 단일의 집적 회로 칩 내에 또는 소위 칩셋 내 다수의 상호동작가능한 집적 회로 칩들 내에 제공될 수 있다. 그러한 집적 회로 디바이스들은 여러 다양한 애플리케이션들에 사용될 수 있고, 이들 중 일부는 이동 전화 핸드셋들과 같은 무선 통신 디바이스들에서의 사용을 포함할 수 있다.
개시된 기술들의 여러 다양한 양상들이 기재되었다. 이러한 그리고 다른 양상들은 이하의 청구항들의 범위 내에 있다.

Claims (54)

  1. 보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위하여 비디오 코더에 의해 수행되는 디코딩 방법으로서,
    복수 개의 후보 기준 비디오 유닛들 중 2개의 연속적인 비디오 유닛들 사이에 부가적인 비디오 유닛을 생성하는 것을 인에이블할 것을 결정하는 단계;
    상기 부가적인 비디오 유닛의 생성을 인에이블하라는 결정에 응답하여, 상기 비디오 코더로 상기 후보 기준 비디오 유닛들의 적어도 하나의 특성을 분석하는 단계; 및
    상기 분석에 적어도 부분적으로 기초하여, 상기 비디오 코더로 상기 부가적인 비디오 유닛의 보간(interpolation) 또는 보외(extrapolation)를 위한 하나 이상의 기준 비디오 유닛들로서 상기 후보 기준 비디오 유닛들 중 하나 이상을 선택하는 단계
    를 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위하여 비디오 코더에 의해 수행되는 디코딩 방법.
  2. 제1항에 있어서,
    상기 후보 기준 비디오 유닛들은 각각 후보 기준 비디오 프레임이고, 상기 부가적인 비디오 유닛은 부가적인 비디오 프레임인,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위하여 비디오 코더에 의해 수행되는 디코딩 방법.
  3. 제1항에 있어서,
    상기 적어도 하나의 특성은 상기 후보 기준 비디오 유닛들 중 하나 이상을 사용하여 보간 또는 보외의 품질 레벨을 나타내는 특성을 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위하여 비디오 코더에 의해 수행되는 디코딩 방법.
  4. 제3항에 있어서,
    상기 적어도 하나의 특성을 분석하는 단계는 상기 후보 기준 비디오 유닛들 중 하나 이상의 후보 기준 비디오 유닛들의 양자화 파라미터(quantization parameter; QP) 및 코딩된 블록 패턴(coded block pattern; CBP) 값들을 분석하는 단계를 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위하여 비디오 코더에 의해 수행되는 디코딩 방법.
  5. 제3항에 있어서,
    상기 적어도 하나의 특성을 분석하는 단계는 상기 후보 기준 비디오 유닛들 중 하나 이상에서의 비디오 유닛 손실을 검출하는 단계를 포함하고, 하나 이상의 기준 비디오 유닛들로서 상기 후보 기준 비디오 유닛들 중 하나 이상을 선택하는 단계는 에러 은폐(error concealment)의 품질에 기초하여 상기 후보 기준 비디오 유닛들 중 하나 이상을 선택하는 단계를 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위하여 비디오 코더에 의해 수행되는 디코딩 방법.
  6. 제3항에 있어서,
    상기 적어도 하나의 특성을 분석하는 단계는 상기 후보 기준 비디오 유닛들 중 하나 이상에 대한 하나 이상의 객관적인 시각적 품질 메트릭들을 분석하는 단계를 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위하여 비디오 코더에 의해 수행되는 디코딩 방법.
  7. 제3항에 있어서,
    하나 이상의 기준 비디오 유닛들로서 상기 후보 기준 비디오 유닛들 중 하나 이상을 선택하는 단계는 적어도 하나의 임계치를 만족시키는 상기 품질 레벨을 갖는 하나 이상의 후보 기준 비디오 유닛들을 선택하는 단계를 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위하여 비디오 코더에 의해 수행되는 디코딩 방법.
  8. 제7항에 있어서,
    상기 품질 레벨에 기초하여, 상기 적어도 하나의 임계치를 만족시키는 상기 후보 기준 비디오 유닛들 중 적어도 일부의 랭킹을 매기는 단계, 및 가장 높게 랭킹된 상기 후보 기준 비디오 유닛들 중 하나 이상을 선택하는 단계를 더 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위하여 비디오 코더에 의해 수행되는 디코딩 방법.
  9. 제7항에 있어서,
    이용가능한 전력 자원들의 레벨에 기초하여 상기 적어도 하나의 임계치를 조정하는 단계를 더 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위하여 비디오 코더에 의해 수행되는 디코딩 방법.
  10. 제1항에 있어서,
    상기 디코딩 방법은 상기 분석에 기초하여 상기 부가적인 비디오 유닛을 보간 또는 보외하는 단계를 더 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위하여 비디오 코더에 의해 수행되는 디코딩 방법.
  11. 제1항에 있어서,
    상기 적어도 하나의 특성은 상기 부가적인 비디오 유닛으로부터 상기 후보 기준 비디오 유닛들 중 하나 이상의 시간적 거리를 나타내는 특성을 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위하여 비디오 코더에 의해 수행되는 디코딩 방법.
  12. 제11항에 있어서,
    지연-민감 비디오 애플리케이션을 검출하는 단계; 및
    상기 지연-민감 비디오 애플리케이션이 검출될 때 상기 부가적인 비디오 유닛으로부터 상기 후보 기준 비디오 유닛들 중 하나 이상의 상기 시간적 거리에 적어도 부분적으로 기초하여 상기 후보 기준 비디오 유닛들 중 하나 이상을 선택하는 단계
    를 더 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위하여 비디오 코더에 의해 수행되는 디코딩 방법.
  13. 제11항에 있어서,
    상기 부가적인 비디오 유닛으로부터 상기 후보 기준 비디오 유닛들 중 하나 이상의 상기 시간적 거리에 적어도 부분적으로 기초하여 상기 후보 기준 비디오 유닛들 중 하나 이상을 선택하는 단계를 더 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위하여 비디오 코더에 의해 수행되는 디코딩 방법.
  14. 보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 디코딩 디바이스로서,
    복수 개의 후보 기준 비디오 유닛들 중 2개의 연속적인 비디오 유닛들 사이에 부가적인 비디오 유닛을 생성하는 것을 인에이블할 것을 결정하고, 상기 부가적인 비디오 유닛의 생성을 인에이블하라는 결정에 응답하여, 상기 후보 기준 비디오 유닛들의 적어도 하나의 특성을 분석하는 분석 유닛; 및
    상기 분석에 적어도 부분적으로 기초하여, 상기 부가적인 비디오 유닛의 보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들로서 상기 후보 기준 비디오 유닛들 중 하나 이상을 선택하는 선택 유닛
    을 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 디코딩 디바이스.
  15. 제14항에 있어서,
    상기 후보 기준 비디오 유닛들은 각각 후보 기준 비디오 프레임이고, 상기 부가적인 비디오 유닛은 부가적인 비디오 프레임인,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 디코딩 디바이스.
  16. 제14항에 있어서,
    상기 적어도 하나의 특성은 상기 후보 기준 비디오 유닛들 중 하나 이상을 사용하여 보간 또는 보외의 품질 레벨을 나타내는 특성을 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 디코딩 디바이스.
  17. 제16항에 있어서,
    상기 분석 유닛은 상기 후보 기준 비디오 유닛들 중 하나 이상의 후보 기준 비디오 유닛들의 양자화 파라미터(QP) 및 코딩된 블록 패턴(CBP) 값들을 분석하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 디코딩 디바이스.
  18. 제16항에 있어서,
    상기 분석 유닛은 상기 후보 기준 비디오 유닛들 중 하나 이상에서의 비디오 유닛 손실을 검출하고, 상기 선택 유닛은 에러 은폐의 품질에 기초하여 상기 후보 기준 비디오 유닛들 중 하나 이상을 선택하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 디코딩 디바이스.
  19. 제16항에 있어서,
    상기 분석 유닛은 상기 후보 기준 비디오 유닛들 중 하나 이상에 대한 하나 이상의 객관적인 시각적 품질 메트릭들을 분석하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 디코딩 디바이스.
  20. 제16항에 있어서,
    상기 선택 유닛은 적어도 하나의 임계치를 만족시키는 상기 품질 레벨을 갖는 하나 이상의 후보 기준 비디오 유닛들을 선택하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 디코딩 디바이스.
  21. 제20항에 있어서,
    상기 분석 유닛은 상기 품질 레벨에 기초하여, 상기 적어도 하나의 임계치를 만족시키는 상기 후보 기준 비디오 유닛들 중 적어도 일부의 랭킹을 매기고, 상기 선택 유닛은 가장 높게 랭킹된 상기 후보 기준 비디오 유닛들 중 하나 이상을 선택하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 디코딩 디바이스.
  22. 제20항에 있어서,
    이용가능한 전력 자원들의 레벨에 기초하여 상기 적어도 하나의 임계치를 조정하는 조정 유닛을 더 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 디코딩 디바이스.
  23. 제14항에 있어서,
    상기 디코딩 디바이스는 상기 분석에 기초하여 상기 부가적인 비디오 유닛을 보간 또는 보외하는 대체 유닛(substitution unit)을 더 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 디코딩 디바이스.
  24. 제14항에 있어서,
    상기 적어도 하나의 특성은 상기 부가적인 비디오 유닛으로부터 상기 후보 기준 비디오 유닛들 중 하나 이상의 후보 기준 비디오 유닛들의 시간적 거리를 나타내는 특성을 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 디코딩 디바이스.
  25. 제24항에 있어서,
    상기 디코딩 디바이스는 지연-민감 비디오 애플리케이션을 검출하는 지연 검출 유닛을 더 포함하고,
    상기 선택 유닛은 상기 지연-민감 비디오 애플리케이션이 검출될 때 상기 부가적인 비디오 유닛으로부터 상기 하나 이상의 후보 기준 비디오 유닛들의 상기 시간적 거리에 적어도 부분적으로 기초하여 상기 후보 기준 비디오 유닛들 중 하나 이상을 선택하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 디코딩 디바이스.
  26. 제24항에 있어서,
    상기 선택 유닛은 상기 부가적인 비디오 유닛으로부터 상기 하나 이상의 후보 기준 비디오 유닛들의 상기 시간적 거리에 적어도 부분적으로 기초하여 상기 후보 기준 비디오 유닛들 중 하나 이상을 선택하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 디코딩 디바이스.
  27. 제14항에 있어서,
    상기 디코딩 디바이스는 무선 통신 디바이스 핸드셋을 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 디코딩 디바이스.
  28. 제14항에 있어서,
    상기 디코딩 디바이스는 집적 회로 디바이스를 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 디코딩 디바이스.
  29. 보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 디코딩 디바이스로서,
    복수 개의 후보 기준 비디오 유닛들 중 2개의 연속적인 비디오 유닛들 사이에 부가적인 비디오 유닛을 생성하는 것을 인에이블할 것을 결정하기 위한 수단;
    상기 부가적인 비디오 유닛의 생성을 인에이블하라는 결정에 응답하여, 상기 후보 기준 비디오 유닛들의 적어도 하나의 특성을 분석하기 위한 수단; 및
    상기 분석에 적어도 부분적으로 기초하여, 상기 부가적인 비디오 유닛의 보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들로서 상기 후보 기준 비디오 유닛들 중 하나 이상을 선택하기 위한 수단
    을 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 디코딩 디바이스.
  30. 제29항에 있어서,
    상기 후보 기준 비디오 유닛들은 각각 후보 기준 비디오 프레임이고, 상기 부가적인 비디오 유닛은 부가적인 비디오 프레임인,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 디코딩 디바이스.
  31. 제29항에 있어서,
    상기 적어도 하나의 특성은 상기 후보 기준 비디오 유닛들 중 하나 이상을 사용하여 보간 또는 보외의 품질 레벨을 나타내는 특성을 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 디코딩 디바이스.
  32. 제31항에 있어서,
    상기 적어도 하나의 특성을 분석하기 위한 수단은 상기 후보 기준 비디오 유닛들 중 하나 이상의 후보 기준 비디오 유닛들의 양자화 파라미터(QP) 및 코딩된 블록 패턴(CBP) 값들을 분석하기 위한 수단을 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 디코딩 디바이스.
  33. 제31항에 있어서,
    상기 적어도 하나의 특성을 분석하기 위한 수단은 상기 후보 기준 비디오 유닛들 중 하나 이상에서의 비디오 유닛 손실을 검출하기 위한 수단을 포함하고, 상기 선택하기 위한 수단은 에러 은폐의 품질에 기초하여 상기 후보 기준 비디오 유닛들 중 하나 이상을 선택하기 위한 수단을 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 디코딩 디바이스.
  34. 제31항에 있어서,
    상기 적어도 하나의 특성을 분석하기 위한 수단은 상기 후보 기준 비디오 유닛들 중 하나 이상에 대한 하나 이상의 객관적인 시각적 품질 메트릭들을 분석하기 위한 수단을 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 디코딩 디바이스.
  35. 제31항에 있어서,
    상기 선택하기 위한 수단은 적어도 하나의 임계치를 만족시키는 상기 품질 레벨을 갖는 하나 이상의 후보 기준 비디오 유닛들을 선택하기 위한 수단을 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 디코딩 디바이스.
  36. 제35항에 있어서,
    상기 품질 레벨에 기초하여, 상기 적어도 하나의 임계치를 만족시키는 상기 후보 기준 비디오 유닛들 중 적어도 일부의 랭킹을 매기기 위한 수단, 및 가장 높게 랭킹된 상기 후보 기준 비디오 유닛들 중 하나 이상을 선택하기 위한 수단을 더 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 디코딩 디바이스.
  37. 제35항에 있어서,
    이용가능한 전력 자원들의 레벨에 기초하여 상기 적어도 하나의 임계치를 조정하기 위한 수단을 더 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 디코딩 디바이스.
  38. 제29항에 있어서,
    상기 디코딩 디바이스는 상기 분석에 기초하여 상기 부가적인 비디오 유닛을 보간 또는 보외하기 위한 수단을 더 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 디코딩 디바이스.
  39. 제29항에 있어서,
    상기 적어도 하나의 특성은 상기 부가적인 비디오 유닛으로부터 상기 후보 기준 비디오 유닛들 중 하나 이상의 후보 기준 비디오 유닛들의 시간적 거리를 나타내는 특성을 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 디코딩 디바이스.
  40. 제39항에 있어서,
    지연-민감 비디오 애플리케이션을 검출하기 위한 수단; 및
    상기 지연-민감 비디오 애플리케이션이 검출될 때 상기 부가적인 비디오 유닛으로부터 상기 하나 이상의 후보 기준 비디오 유닛들의 상기 시간적 거리에 적어도 부분적으로 기초하여 상기 후보 기준 비디오 유닛들 중 하나 이상을 선택하기 위한 수단
    을 더 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 디코딩 디바이스.
  41. 제39항에 있어서,
    상기 부가적인 비디오 유닛으로부터 상기 하나 이상의 후보 기준 비디오 유닛들의 상기 시간적 거리에 적어도 부분적으로 기초하여 상기 후보 기준 비디오 유닛들 중 하나 이상을 선택하기 위한 수단을 더 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 디코딩 디바이스.
  42. 보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 명령들을 포함하는 컴퓨터-판독가능 매체로서,
    상기 명령들은 실행 시, 하나 이상의 프로세서들로 하여금:
    복수 개의 후보 기준 비디오 유닛들 중 2개의 연속적인 비디오 유닛들 사이에 부가적인 비디오 유닛을 생성하는 것을 인에이블할 것을 결정하고;
    상기 부가적인 비디오 유닛의 생성을 인에이블하라는 결정에 응답하여, 상기 후보 기준 비디오 유닛들의 적어도 하나의 특성을 분석하고; 그리고
    상기 분석에 적어도 부분적으로 기초하여, 상기 부가적인 비디오 유닛의 보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들로서 상기 후보 기준 비디오 유닛들 중 하나 이상을 선택하도록 하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 명령들을 포함하는 컴퓨터-판독가능 매체.
  43. 제42항에 있어서,
    상기 후보 기준 비디오 유닛들은 각각 후보 기준 비디오 프레임이고, 상기 부가적인 비디오 유닛은 부가적인 비디오 프레임인,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 명령들을 포함하는 컴퓨터-판독가능 매체.
  44. 제42항에 있어서,
    상기 적어도 하나의 특성은 상기 후보 기준 비디오 유닛들 중 하나 이상을 사용하여 보간 또는 보외의 품질 레벨을 나타내는 특성을 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 명령들을 포함하는 컴퓨터-판독가능 매체.
  45. 제44항에 있어서,
    상기 명령들은 하나 이상의 프로세서들로 하여금 상기 후보 기준 비디오 유닛들 중 하나 이상의 후보 기준 비디오 유닛들의 양자화 파라미터(QP) 및 코딩된 블록 패턴(CBP) 값들을 분석하도록 하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 명령들을 포함하는 컴퓨터-판독가능 매체.
  46. 제44항에 있어서,
    상기 명령들은 하나 이상의 프로세서들로 하여금 상기 후보 기준 비디오 유닛들 중 하나 이상에서의 비디오 유닛 손실을 검출하고 에러 은폐의 품질에 기초하여 상기 후보 기준 비디오 유닛들 중 하나 이상을 선택하도록 하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 명령들을 포함하는 컴퓨터-판독가능 매체.
  47. 제44항에 있어서,
    상기 명령들은 하나 이상의 프로세서들로 하여금 상기 후보 기준 비디오 유닛들 중 하나 이상에 대한 하나 이상의 객관적인 시각적 품질 메트릭들을 분석하도록 하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 명령들을 포함하는 컴퓨터-판독가능 매체.
  48. 제44항에 있어서,
    상기 명령들은 상기 하나 이상의 프로세서들로 하여금 적어도 하나의 임계치를 만족시키는 상기 품질 레벨을 갖는 하나 이상의 후보 기준 비디오 유닛들을 선택하도록 하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 명령들을 포함하는 컴퓨터-판독가능 매체.
  49. 제48항에 있어서,
    상기 명령들은 상기 하나 이상의 프로세서들로 하여금, 상기 품질 레벨에 기초하여, 상기 적어도 하나의 임계치를 만족시키는 상기 후보 기준 비디오 유닛들 중 적어도 일부의 랭킹을 선택하고, 가장 높게 랭킹된 상기 후보 기준 비디오 유닛들 중 하나 이상을 선택하도록 하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 명령들을 포함하는 컴퓨터-판독가능 매체.
  50. 제48항에 있어서,
    상기 명령들은 상기 하나 이상의 프로세서들로 하여금 이용가능한 전력 자원들의 레벨에 기초하여 상기 적어도 하나의 임계치를 조정하도록 하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 명령들을 포함하는 컴퓨터-판독가능 매체.
  51. 제42항에 있어서,
    상기 명령들은 상기 하나 이상의 프로세서들로 하여금 상기 분석에 기초하여 상기 부가적인 비디오 유닛을 보간 또는 보외하도록 하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 명령들을 포함하는 컴퓨터-판독가능 매체.
  52. 제42항에 있어서,
    상기 적어도 하나의 특성은 상기 부가적인 비디오 유닛으로부터 상기 후보 기준 비디오 유닛들 중 하나 이상의 시간적 거리를 나타내는 특성을 포함하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 명령들을 포함하는 컴퓨터-판독가능 매체.
  53. 제52항에 있어서,
    상기 명령들은 상기 하나 이상의 프로세서들로 하여금:
    지연-민감 비디오 애플리케이션을 검출하고; 그리고
    상기 지연-민감 비디오 애플리케이션이 검출될 때 상기 부가적인 비디오 유닛으로부터 상기 후보 기준 비디오 유닛들 중 하나 이상의 상기 시간적 거리에 적어도 부분적으로 기초하여 상기 후보 기준 비디오 유닛들 중 하나 이상을 선택하도록 하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 명령들을 포함하는 컴퓨터-판독가능 매체.
  54. 제52항에 있어서,
    상기 명령들은 상기 하나 이상의 프로세서들로 하여금 상기 부가적인 비디오 유닛으로부터 상기 후보 기준 비디오 유닛들 중 하나 이상의 상기 시간적 거리에 적어도 부분적으로 기초하여 상기 후보 기준 비디오 유닛들 중 하나 이상을 선택하도록 하는,
    보간 또는 보외를 위한 하나 이상의 기준 비디오 유닛들을 선택하기 위한 명령들을 포함하는 컴퓨터-판독가능 매체.
KR1020107015390A 2007-12-10 2008-12-10 비디오 보간 또는 보외를 위한 기준 선택 KR101149205B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US1270307P 2007-12-10 2007-12-10
US61/012,703 2007-12-10
US12/111,718 2008-04-29
US12/111,718 US9426414B2 (en) 2007-12-10 2008-04-29 Reference selection for video interpolation or extrapolation
PCT/US2008/086277 WO2009076466A1 (en) 2007-12-10 2008-12-10 Reference selection for video interpolation or extrapolation

Publications (2)

Publication Number Publication Date
KR20100093113A KR20100093113A (ko) 2010-08-24
KR101149205B1 true KR101149205B1 (ko) 2012-05-25

Family

ID=40721647

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020107015389A KR101136293B1 (ko) 2007-12-10 2008-12-10 자원-적응성 비디오 보간 또는 보외
KR1020107015387A KR101178553B1 (ko) 2007-12-10 2008-12-10 보간되거나 보외된 비디오 유닛들의 선택적인 디스플레이
KR1020107015390A KR101149205B1 (ko) 2007-12-10 2008-12-10 비디오 보간 또는 보외를 위한 기준 선택
KR1020127019456A KR101268990B1 (ko) 2007-12-10 2008-12-10 보간되거나 보외된 비디오 유닛들의 선택적인 디스플레이

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020107015389A KR101136293B1 (ko) 2007-12-10 2008-12-10 자원-적응성 비디오 보간 또는 보외
KR1020107015387A KR101178553B1 (ko) 2007-12-10 2008-12-10 보간되거나 보외된 비디오 유닛들의 선택적인 디스플레이

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020127019456A KR101268990B1 (ko) 2007-12-10 2008-12-10 보간되거나 보외된 비디오 유닛들의 선택적인 디스플레이

Country Status (7)

Country Link
US (3) US8660175B2 (ko)
EP (3) EP2232878B1 (ko)
JP (3) JP5437265B2 (ko)
KR (4) KR101136293B1 (ko)
CN (3) CN101919255B (ko)
TW (3) TW200943974A (ko)
WO (3) WO2009076466A1 (ko)

Families Citing this family (188)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7474327B2 (en) 2002-02-12 2009-01-06 Given Imaging Ltd. System and method for displaying an image stream
GB0222522D0 (en) 2002-09-27 2002-11-06 Controlled Therapeutics Sct Water-swellable polymers
GB0417401D0 (en) 2004-08-05 2004-09-08 Controlled Therapeutics Sct Stabilised prostaglandin composition
GB0613333D0 (en) 2006-07-05 2006-08-16 Controlled Therapeutics Sct Hydrophilic polyurethane compositions
GB0613638D0 (en) 2006-07-08 2006-08-16 Controlled Therapeutics Sct Polyurethane elastomers
GB0620685D0 (en) 2006-10-18 2006-11-29 Controlled Therapeutics Sct Bioresorbable polymers
GB2450121A (en) * 2007-06-13 2008-12-17 Sharp Kk Frame rate conversion using either interpolation or frame repetition
US8660175B2 (en) * 2007-12-10 2014-02-25 Qualcomm Incorporated Selective display of interpolated or extrapolated video units
JP2009253348A (ja) * 2008-04-01 2009-10-29 Alps Electric Co Ltd データ処理方法及びデータ処理装置
US8571106B2 (en) * 2008-05-22 2013-10-29 Microsoft Corporation Digital video compression acceleration based on motion vectors produced by cameras
US9788018B2 (en) * 2008-06-30 2017-10-10 Microsoft Technology Licensing, Llc Error concealment techniques in video decoding
US8374240B1 (en) * 2008-07-10 2013-02-12 Marvell International Ltd. Image frame management
KR101258106B1 (ko) * 2008-09-07 2013-04-25 돌비 레버러토리즈 라이쎈싱 코오포레이션 크로마 정정 및/또는 체커보드 인터리브된 포맷의 3d 이미지들의 정정을 포함하는 인터리브된 데이터 세트들의 컨버젼
US8385404B2 (en) * 2008-09-11 2013-02-26 Google Inc. System and method for video encoding using constructed reference frame
US20100178038A1 (en) * 2009-01-12 2010-07-15 Mediatek Inc. Video player
US20100201870A1 (en) * 2009-02-11 2010-08-12 Martin Luessi System and method for frame interpolation for a compressed video bitstream
EP2227012A1 (en) * 2009-03-05 2010-09-08 Sony Corporation Method and system for providing reliable motion vectors
JP5709319B2 (ja) * 2009-04-01 2015-04-30 マーベル ワールド トレード リミテッド プログレッシブビデオにおけるケイデンス検出
KR20100119354A (ko) * 2009-04-30 2010-11-09 삼성전자주식회사 표시 장치와 그 구동 방법
US9113169B2 (en) * 2009-05-07 2015-08-18 Qualcomm Incorporated Video encoding with temporally constrained spatial dependency for localized decoding
US8724707B2 (en) * 2009-05-07 2014-05-13 Qualcomm Incorporated Video decoding using temporally constrained spatial dependency
US20100289944A1 (en) * 2009-05-12 2010-11-18 Shing-Chia Chen Frame Rate Up-Conversion Based Dynamic Backlight Control System and Method
US8627396B2 (en) 2009-06-12 2014-01-07 Cygnus Broadband, Inc. Systems and methods for prioritization of data for intelligent discard in a communication network
US8531961B2 (en) 2009-06-12 2013-09-10 Cygnus Broadband, Inc. Systems and methods for prioritization of data for intelligent discard in a communication network
KR101247595B1 (ko) 2009-06-12 2013-03-26 시그너스 브로드밴드, 인코포레이티드 통신 네트워크의 지능형 폐기 시스템 및 방법
US8745677B2 (en) * 2009-06-12 2014-06-03 Cygnus Broadband, Inc. Systems and methods for prioritization of data for intelligent discard in a communication network
US8340510B2 (en) 2009-07-17 2012-12-25 Microsoft Corporation Implementing channel start and file seek for decoder
US8448016B2 (en) * 2009-07-31 2013-05-21 Cleversafe, Inc. Computing core application access utilizing dispersed storage
CN101990093A (zh) * 2009-08-06 2011-03-23 索尼株式会社 检测视频中的重放片段的方法和设备
US8279259B2 (en) * 2009-09-24 2012-10-02 Microsoft Corporation Mimicking human visual system in detecting blockiness artifacts in compressed video streams
WO2011042898A1 (en) * 2009-10-05 2011-04-14 I.C.V.T Ltd. Apparatus and methods for recompression of digital images
JP4692913B2 (ja) 2009-10-08 2011-06-01 日本ビクター株式会社 フレームレート変換装置及び方法
CN102612338B (zh) 2009-11-20 2016-05-04 基文影像公司 用于控制体内装置的功率消耗的系统和方法
US8903812B1 (en) 2010-01-07 2014-12-02 Google Inc. Query independent quality signals
KR101768207B1 (ko) 2010-01-19 2017-08-16 삼성전자주식회사 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치
KR20120112724A (ko) * 2010-02-09 2012-10-11 니폰덴신뎅와 가부시키가이샤 움직임 벡터 예측 부호화 방법, 움직임 벡터 예측 복호 방법, 동화상 부호화 장치, 동화상 복호 장치 및 그들의 프로그램
CA2788946A1 (en) * 2010-02-09 2011-08-18 Nippon Telegraph And Telephone Corporation Motion vector predictive encoding method, motion vector predictive decoding method, moving picture encoding apparatus, moving picture decoding apparatus, and programs thereof
KR20120112725A (ko) * 2010-02-09 2012-10-11 니폰덴신뎅와 가부시키가이샤 움직임 벡터 예측 부호화 방법, 움직임 벡터 예측 복호 방법, 동화상 부호화 장치, 동화상 복호 장치 및 그들의 프로그램
KR20120120280A (ko) * 2010-02-09 2012-11-01 니폰덴신뎅와 가부시키가이샤 움직임 벡터 예측 부호화 방법, 움직임 벡터 예측 복호 방법, 동화상 부호화 장치, 동화상 복호 장치 및 그들의 프로그램
JP5583992B2 (ja) * 2010-03-09 2014-09-03 パナソニック株式会社 信号処理装置
US8682142B1 (en) * 2010-03-18 2014-03-25 Given Imaging Ltd. System and method for editing an image stream captured in-vivo
US9082278B2 (en) * 2010-03-19 2015-07-14 University-Industry Cooperation Group Of Kyung Hee University Surveillance system
US8588309B2 (en) 2010-04-07 2013-11-19 Apple Inc. Skin tone and feature detection for video conferencing compression
EP3852010A1 (en) 2010-04-28 2021-07-21 Given Imaging Ltd. System and method for displaying portions of in-vivo images
KR20110131897A (ko) * 2010-06-01 2011-12-07 삼성전자주식회사 데이터 처리 방법 및 이를 수행하는 표시 장치
US8615160B2 (en) * 2010-06-18 2013-12-24 Adobe Systems Incorporated Media player instance throttling
US8819269B2 (en) * 2010-06-30 2014-08-26 Cable Television Laboratories, Inc. Adaptive bit rate method and system using retransmission and replacement
JP2012019329A (ja) * 2010-07-07 2012-01-26 Sony Corp 記録装置、記録方法、再生装置、再生方法、プログラム、および記録再生装置
US20120044986A1 (en) * 2010-08-17 2012-02-23 Qualcomm Incorporated Low complexity adaptive filter
US8922633B1 (en) 2010-09-27 2014-12-30 Given Imaging Ltd. Detection of gastrointestinal sections and transition of an in-vivo device there between
WO2012071680A1 (en) * 2010-11-30 2012-06-07 Technicolor (China) Technology Co., Ltd. Method and apparatus for measuring quality of video based on frame loss pattern
TW201228403A (en) * 2010-12-28 2012-07-01 Acer Inc Video display device, multi-media vedio streamoing device, and method thereof
KR101736793B1 (ko) 2010-12-29 2017-05-30 삼성전자주식회사 비디오 프레임 인코딩 장치, 그것의 인코딩 방법 및 그것을 포함하는 비디오 신호 송수신 시스템의 동작 방법
JP5812808B2 (ja) * 2011-01-05 2015-11-17 キヤノン株式会社 画像処理装置及び画像処理方法
US20120188460A1 (en) * 2011-01-21 2012-07-26 Ncomputing Inc. System and method for dynamic video mode switching
JP2012165071A (ja) * 2011-02-03 2012-08-30 Sony Corp 撮像装置、受信装置、映像送信システムおよび映像送信方法
US9729260B2 (en) * 2011-02-24 2017-08-08 Telefonaktiebolaget Lm Ericsson (Publ) Reducing interference caused by an atmospheric duct in a mobile communication system
US10171813B2 (en) * 2011-02-24 2019-01-01 Qualcomm Incorporated Hierarchy of motion prediction video blocks
GB2488816A (en) * 2011-03-09 2012-09-12 Canon Kk Mapping motion vectors from a plurality of reference frames to a single reference frame
WO2012132532A1 (ja) * 2011-03-25 2012-10-04 日本電気株式会社 映像処理システム、映像コンテンツ監視方法、映像処理装置及びその制御方法と制御プログラムを格納した記憶媒体
US8638854B1 (en) 2011-04-07 2014-01-28 Google Inc. Apparatus and method for creating an alternate reference frame for video compression using maximal differences
US8754908B2 (en) 2011-06-07 2014-06-17 Microsoft Corporation Optimized on-screen video composition for mobile device
CN103918262B (zh) * 2011-06-14 2017-11-10 王舟 基于结构相似度的码率失真优化感知视频编码方法和系统
WO2012178008A1 (en) * 2011-06-22 2012-12-27 General Instrument Corporation Construction of combined list using temporal distance
JP5848543B2 (ja) * 2011-08-04 2016-01-27 キヤノン株式会社 画像表示装置、画像表示方法、及びコンピュータプログラム
WO2013028121A1 (en) * 2011-08-25 2013-02-28 Telefonaktiebolaget L M Ericsson (Publ) Depth map encoding and decoding
US8525883B2 (en) * 2011-09-02 2013-09-03 Sharp Laboratories Of America, Inc. Methods, systems and apparatus for automatic video quality assessment
CA2883484A1 (en) 2011-09-08 2013-03-14 Paofit Holdings Pte Ltd System and method for visualizing synthetic objects withinreal-world video clip
CA2786200C (en) * 2011-09-23 2015-04-21 Cygnus Broadband, Inc. Systems and methods for prioritization of data for intelligent discard in a communication network
US9807386B2 (en) * 2011-09-29 2017-10-31 Telefonaktiebolaget Lm Ericsson (Publ) Reference picture list handling
WO2013066045A1 (ko) * 2011-10-31 2013-05-10 엘지전자 주식회사 참조 픽처 리스트 초기화 방법 및 장치
KR101896026B1 (ko) * 2011-11-08 2018-09-07 삼성전자주식회사 휴대 단말기에서 움직임 블러를 생성하는 장치 및 방법
EP2783512A4 (en) * 2011-11-24 2016-06-15 Thomson Licensing MEASURING VIDEO QUALITY
RU2014126420A (ru) * 2011-11-29 2016-01-27 Томсон Лайсенсинг Маскирование текстуры для измерения качества видео
US8751800B1 (en) 2011-12-12 2014-06-10 Google Inc. DRM provider interoperability
US9584832B2 (en) * 2011-12-16 2017-02-28 Apple Inc. High quality seamless playback for video decoder clients
US9432694B2 (en) 2012-03-06 2016-08-30 Apple Inc. Signal shaping techniques for video data that is susceptible to banding artifacts
WO2013141872A1 (en) * 2012-03-23 2013-09-26 Hewlett-Packard Development Company, L.P. Method and system to process a video frame using prior processing decisions
WO2013143113A1 (en) * 2012-03-30 2013-10-03 Intel Corporation Techniques for media quality control
US9426459B2 (en) 2012-04-23 2016-08-23 Google Inc. Managing multi-reference picture buffers and identifiers to facilitate video data coding
US9609341B1 (en) 2012-04-23 2017-03-28 Google Inc. Video data encoding and decoding using reference picture lists
GB2501535A (en) * 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
US8976254B2 (en) * 2012-06-08 2015-03-10 Apple Inc. Temporal aliasing reduction and coding of upsampled video
US8848061B2 (en) * 2012-06-27 2014-09-30 Apple Inc. Image and video quality assessment
KR20140006453A (ko) * 2012-07-05 2014-01-16 현대모비스 주식회사 영상 데이터의 디코딩 방법 및 장치
US8953843B1 (en) * 2012-07-17 2015-02-10 Google Inc. Selecting objects in a sequence of images
AU2012385919B2 (en) * 2012-07-17 2016-10-20 Thomson Licensing Video quality assessment at a bitstream level
US8977003B1 (en) * 2012-07-17 2015-03-10 Google Inc. Detecting objects in a sequence of images
US20140086310A1 (en) * 2012-09-21 2014-03-27 Jason D. Tanner Power efficient encoder architecture during static frame or sub-frame detection
TWI606418B (zh) * 2012-09-28 2017-11-21 輝達公司 圖形處理單元驅動程式產生內插的圖框之電腦系統及方法
EP2755381A1 (en) * 2012-10-23 2014-07-16 ST-Ericsson SA Motion compensated frame interpolation with frame skipping handling
US20140118222A1 (en) * 2012-10-30 2014-05-01 Cloudcar, Inc. Projection of content to external display devices
US9257092B2 (en) * 2013-02-12 2016-02-09 Vmware, Inc. Method and system for enhancing user experience for remoting technologies
US9661351B2 (en) * 2013-03-15 2017-05-23 Sony Interactive Entertainment America Llc Client side frame prediction for video streams with skipped frames
US20140373024A1 (en) * 2013-06-14 2014-12-18 Nvidia Corporation Real time processor
US9756331B1 (en) 2013-06-17 2017-09-05 Google Inc. Advance coded reference prediction
TWI667911B (zh) * 2013-06-18 2019-08-01 Vid衡器股份有限公司 視訊編碼裝置及方法及視訊解碼裝置
US9674515B2 (en) * 2013-07-11 2017-06-06 Cisco Technology, Inc. Endpoint information for network VQM
US9324145B1 (en) 2013-08-08 2016-04-26 Given Imaging Ltd. System and method for detection of transitions in an image stream of the gastrointestinal tract
US20150181208A1 (en) * 2013-12-20 2015-06-25 Qualcomm Incorporated Thermal and power management with video coding
US9369724B2 (en) * 2014-03-31 2016-06-14 Microsoft Technology Licensing, Llc Decoding and synthesizing frames for incomplete video data
US9131202B1 (en) * 2014-05-30 2015-09-08 Paofit Holdings Pte. Ltd. Systems and methods for motion-vector-aided video interpolation using real-time smooth video playback speed variation
GB2527315B (en) * 2014-06-17 2017-03-15 Imagination Tech Ltd Error detection in motion estimation
KR102389312B1 (ko) 2014-07-08 2022-04-22 삼성전자주식회사 멀티미디어 데이터를 전송하는 방법 및 장치
KR102553844B1 (ko) 2014-11-27 2023-07-10 주식회사 케이티 비디오 신호 처리 방법 및 장치
CN111147845B (zh) 2014-11-27 2023-10-10 株式会社Kt 对视频信号进行解码的方法和对视频信号进行编码的方法
TWI511530B (zh) * 2014-12-09 2015-12-01 Univ Nat Kaohsiung 1St Univ Sc Distributed video coding system and decoder for distributed video coding system
CN107111866B (zh) * 2014-12-22 2021-01-05 交互数字Ce专利控股公司 用于基于对象检测生成外推图像的方法和装置
EP3300374B1 (en) * 2015-05-22 2022-07-06 Sony Group Corporation Transmission device, transmission method, image processing device, image processing method, receiving device, and receiving method
JP6693051B2 (ja) * 2015-05-28 2020-05-13 セイコーエプソン株式会社 メモリー制御装置、画像処理装置、表示装置、およびメモリー制御方法
US9704298B2 (en) 2015-06-23 2017-07-11 Paofit Holdings Pte Ltd. Systems and methods for generating 360 degree mixed reality environments
WO2017030380A1 (en) * 2015-08-20 2017-02-23 Lg Electronics Inc. Digital device and method of processing data therein
US20170094288A1 (en) * 2015-09-25 2017-03-30 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding
US10805627B2 (en) 2015-10-15 2020-10-13 Cisco Technology, Inc. Low-complexity method for generating synthetic reference frames in video coding
US10347343B2 (en) * 2015-10-30 2019-07-09 Seagate Technology Llc Adaptive read threshold voltage tracking with separate characterization on each side of voltage distribution about distribution mean
JP6626319B2 (ja) * 2015-11-18 2019-12-25 キヤノン株式会社 符号化装置、撮像装置、符号化方法、及びプログラム
US10523939B2 (en) * 2015-12-31 2019-12-31 Facebook, Inc. Dynamic codec adaption
US11102516B2 (en) * 2016-02-15 2021-08-24 Nvidia Corporation Quality aware error concealment method for video and game streaming and a viewing device employing the same
US10404979B2 (en) 2016-03-17 2019-09-03 Mediatek Inc. Video coding with interpolated reference pictures
US10368074B2 (en) 2016-03-18 2019-07-30 Microsoft Technology Licensing, Llc Opportunistic frame dropping for variable-frame-rate encoding
US10136155B2 (en) 2016-07-27 2018-11-20 Cisco Technology, Inc. Motion compensation using a patchwork motion field
JP7094076B2 (ja) * 2016-08-19 2022-07-01 沖電気工業株式会社 映像符号化装置、プログラム及び方法、並びに、映像復号装置、プログラム及び方法、並びに、映像伝送システム
US10354394B2 (en) 2016-09-16 2019-07-16 Dolby Laboratories Licensing Corporation Dynamic adjustment of frame rate conversion settings
DE102016221204A1 (de) * 2016-10-27 2018-05-03 Siemens Aktiengesellschaft Bestimmung mindestens eines genäherten Zwischendatensatzes für eine Echtzeitanwendung
CN107067080A (zh) * 2016-12-05 2017-08-18 哈尔滨理工大学 基于核极限学习机的泄露气体监测浓度数据虚拟扩展方法
JP6948787B2 (ja) * 2016-12-09 2021-10-13 キヤノン株式会社 情報処理装置、方法およびプログラム
JP6866142B2 (ja) * 2016-12-09 2021-04-28 キヤノン株式会社 プログラム、画像処理装置、および画像処理方法
US20180227502A1 (en) * 2017-02-06 2018-08-09 Qualcomm Incorporated Systems and methods for reduced power consumption in imaging pipelines
US20200007885A1 (en) * 2017-03-10 2020-01-02 Sony Corporation Image processing apparatus and method
US10779011B2 (en) * 2017-07-31 2020-09-15 Qualcomm Incorporated Error concealment in virtual reality system
GB2586941B (en) * 2017-08-01 2022-06-22 Displaylink Uk Ltd Reducing judder using motion vectors
US10880573B2 (en) * 2017-08-15 2020-12-29 Google Llc Dynamic motion vector referencing for video coding
US10284869B2 (en) 2017-09-28 2019-05-07 Google Llc Constrained motion field estimation for hardware efficiency
US11917128B2 (en) * 2017-08-22 2024-02-27 Google Llc Motion field estimation based on motion trajectory derivation
US10659788B2 (en) 2017-11-20 2020-05-19 Google Llc Block-based optical flow estimation for motion compensated prediction in video coding
US10628958B2 (en) * 2017-09-05 2020-04-21 Htc Corporation Frame rendering apparatus, method and non-transitory computer readable storage medium
JP2019050451A (ja) * 2017-09-07 2019-03-28 キヤノン株式会社 画像処理装置及びその制御方法及びプログラム及び画像処理システム
US10523947B2 (en) * 2017-09-29 2019-12-31 Ati Technologies Ulc Server-based encoding of adjustable frame rate content
US10594901B2 (en) 2017-11-17 2020-03-17 Ati Technologies Ulc Game engine application direct to video encoder rendering
US11290515B2 (en) 2017-12-07 2022-03-29 Advanced Micro Devices, Inc. Real-time and low latency packetization protocol for live compressed video data
US10977809B2 (en) 2017-12-11 2021-04-13 Dolby Laboratories Licensing Corporation Detecting motion dragging artifacts for dynamic adjustment of frame rate conversion settings
US10708597B2 (en) 2018-02-01 2020-07-07 Microsoft Technology Licensing, Llc Techniques for extrapolating image frames
EP3547684B1 (en) 2018-03-28 2020-02-26 Axis AB Method, device and system for encoding a sequence of frames in a video stream
US10516812B2 (en) 2018-04-02 2019-12-24 Intel Corporation Devices and methods for selective display frame fetch
US10798335B2 (en) * 2018-05-14 2020-10-06 Adobe Inc. Converting variable frame rate video to fixed frame rate video
US11153619B2 (en) * 2018-07-02 2021-10-19 International Business Machines Corporation Cognitively derived multimedia streaming preferences
US11100604B2 (en) 2019-01-31 2021-08-24 Advanced Micro Devices, Inc. Multiple application cooperative frame-based GPU scheduling
US11178415B2 (en) * 2019-03-12 2021-11-16 Tencent America LLC Signaling of CU based interpolation filter selection
JP7263521B2 (ja) * 2019-03-22 2023-04-24 テンセント・アメリカ・エルエルシー インターフレーム点群属性符号化のための方法並びにその、装置およびコンピュータプログラム
US11418797B2 (en) 2019-03-28 2022-08-16 Advanced Micro Devices, Inc. Multi-plane transmission
US10897315B2 (en) 2019-04-18 2021-01-19 Microsoft Technology Licensing, Llc Power-based decoding of data received over an optical communication path
US10686530B1 (en) 2019-04-18 2020-06-16 Microsoft Technology Licensing, Llc Power-based encoding of data to be transmitted over an optical communication path
US10742325B1 (en) 2019-04-18 2020-08-11 Microsoft Technology Licensing, Llc Power-based encoding of data to be transmitted over an optical communication path
US10892847B2 (en) 2019-04-18 2021-01-12 Microsoft Technology Licensing, Llc Blind detection model optimization
US10938485B2 (en) 2019-04-18 2021-03-02 Microsoft Technology Licensing, Llc Error control coding with dynamic ranges
US10756817B1 (en) 2019-04-18 2020-08-25 Microsoft Technology Licensing, Llc Power switching for systems implementing throughput improvements for optical communications
US10998982B2 (en) 2019-04-18 2021-05-04 Microsoft Technology Licensing, Llc Transmitter for throughput increases for optical communications
US10873393B2 (en) 2019-04-18 2020-12-22 Microsoft Technology Licensing, Llc Receiver training for throughput increases in optical communications
US10873392B2 (en) 2019-04-18 2020-12-22 Microsoft Technology Licensing, Llc Throughput increases for optical communications
US10862591B1 (en) 2019-04-18 2020-12-08 Microsoft Technology Licensing, Llc Unequal decision regions for throughput increases for optical communications
US10911152B2 (en) 2019-04-18 2021-02-02 Microsoft Technology Licensing, Llc Power-based decoding of data received over an optical communication path
US10951342B2 (en) 2019-04-18 2021-03-16 Microsoft Technology Licensing, Llc Throughput increases for optical communications
US11018776B2 (en) 2019-04-18 2021-05-25 Microsoft Technology Licensing, Llc Power-based decoding of data received over an optical communication path
US10742326B1 (en) * 2019-04-18 2020-08-11 Microsoft Technology Licensing, Llc Power-based encoding of data to be transmitted over an optical communication path
US10911155B2 (en) 2019-04-18 2021-02-02 Microsoft Technology Licensing, Llc System for throughput increases for optical communications
US11075656B2 (en) 2019-07-16 2021-07-27 Microsoft Technology Licensing, Llc Bit error reduction of communication systems using error correction
US11172455B2 (en) 2019-07-16 2021-11-09 Microsoft Technology Licensing, Llc Peak to average power output reduction of RF systems utilizing error correction
US11086719B2 (en) 2019-07-16 2021-08-10 Microsoft Technology Licensing, Llc Use of error correction codes to prevent errors in neighboring storage
US11063696B2 (en) 2019-07-16 2021-07-13 Microsoft Technology Licensing, Llc Increasing average power levels to reduce peak-to-average power levels using error correction codes
US11031961B2 (en) 2019-07-16 2021-06-08 Microsoft Technology Licensing, Llc Smart symbol changes for optimization of communications using error correction
US11044044B2 (en) 2019-07-16 2021-06-22 Microsoft Technology Licensing, Llc Peak to average power ratio reduction of optical systems utilizing error correction
US10911284B1 (en) 2019-07-16 2021-02-02 Microsoft Technology Licensing, Llc Intelligent optimization of communication systems utilizing error correction
US11303847B2 (en) 2019-07-17 2022-04-12 Home Box Office, Inc. Video frame pulldown based on frame analysis
US10911141B1 (en) * 2019-07-30 2021-02-02 Microsoft Technology Licensing, Llc Dynamically selecting a channel model for optical communications
US10885343B1 (en) * 2019-08-30 2021-01-05 Amazon Technologies, Inc. Repairing missing frames in recorded video with machine learning
IL271774A (en) * 2019-12-31 2021-06-30 Bottega Studios Ltd System and method for imaging dynamic images
CN111770332B (zh) * 2020-06-04 2022-08-09 Oppo广东移动通信有限公司 插帧处理方法、插帧处理装置、存储介质与电子设备
CN113949930B (zh) * 2020-07-17 2024-03-12 晶晨半导体(上海)股份有限公司 选取参考帧的方法、电子设备和存储介质
US20220038654A1 (en) * 2020-07-30 2022-02-03 Nvidia Corporation Techniques to generate interpolated video frames
TWI740655B (zh) * 2020-09-21 2021-09-21 友達光電股份有限公司 顯示裝置的驅動方法
US11568527B2 (en) * 2020-09-24 2023-01-31 Ati Technologies Ulc Video quality assessment using aggregated quality values
US11488328B2 (en) 2020-09-25 2022-11-01 Advanced Micro Devices, Inc. Automatic data format detection
US11636682B2 (en) 2020-11-05 2023-04-25 International Business Machines Corporation Embedding contextual information in an image to assist understanding
US20230407239A1 (en) * 2020-11-13 2023-12-21 Teewinot Life Sciences Corporation Tetrahydrocannabinolic acid (thca) synthase variants, and manufacture and use thereof
US11558621B2 (en) * 2021-03-31 2023-01-17 Qualcomm Incorporated Selective motion-compensated frame interpolation
EP4304167A1 (en) 2021-06-14 2024-01-10 Samsung Electronics Co., Ltd. Electronic device carrying out video call by using frc, and operation method for electronic device
US11755272B2 (en) 2021-12-10 2023-09-12 Vmware, Inc. Method and system for using enhancement techniques to improve remote display while reducing hardware consumption at a remote desktop
WO2023174546A1 (en) * 2022-03-17 2023-09-21 Dream Chip Technologies Gmbh Method and image processor unit for processing image data

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040101058A1 (en) * 2002-11-22 2004-05-27 Hisao Sasai Device, method and program for generating interpolation frame
US20060017843A1 (en) 2004-07-20 2006-01-26 Fang Shi Method and apparatus for frame rate up conversion with multiple reference frames and variable block sizes

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2518239B2 (ja) 1986-12-26 1996-07-24 キヤノン株式会社 デイジタル画像デ−タ処理装置
US5642170A (en) * 1993-10-11 1997-06-24 Thomson Consumer Electronics, S.A. Method and apparatus for motion compensated interpolation of intermediate fields or frames
GB2305569B (en) 1995-09-21 1999-07-21 Innovision Res Ltd Motion compensated interpolation
US6075918A (en) * 1995-10-26 2000-06-13 Advanced Micro Devices, Inc. Generation of an intermediate video bitstream from a compressed video bitstream to enhance playback performance
JP2000512091A (ja) 1996-05-24 2000-09-12 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ 動作ベクトル処理
FR2750558B1 (fr) * 1996-06-28 1998-08-28 Thomson Multimedia Sa Procede d'interpolation de trames pour compatibilite mode film
JP3609571B2 (ja) 1997-03-12 2005-01-12 株式会社東芝 画像再生装置
US6192079B1 (en) * 1998-05-07 2001-02-20 Intel Corporation Method and apparatus for increasing video frame rate
US6594313B1 (en) * 1998-12-23 2003-07-15 Intel Corporation Increased video playback framerate in low bit-rate video applications
US6760378B1 (en) * 1999-06-30 2004-07-06 Realnetworks, Inc. System and method for generating video frames and correcting motion
JP2001352544A (ja) 2000-06-08 2001-12-21 Matsushita Graphic Communication Systems Inc 画像符号化装置及び画像符号化方法
EP1316218A2 (en) 2000-08-29 2003-06-04 Koninklijke Philips Electronics N.V. Method of running an algorithm and a scalable programmable processing device
FR2820927B1 (fr) 2001-02-15 2003-04-11 Thomson Multimedia Sa Procede et dispositif de detection de fiabilite d'un champ de vecteurs mouvement
CN1515111A (zh) 2001-06-08 2004-07-21 �ʼҷ����ֵ������޹�˾ 显示视频帧的方法和系统
US7088774B1 (en) * 2002-05-29 2006-08-08 Microsoft Corporation Media stream synchronization
GB2394136B (en) 2002-09-12 2006-02-15 Snell & Wilcox Ltd Improved video motion processing
EP1557037A1 (en) 2002-10-22 2005-07-27 Koninklijke Philips Electronics N.V. Image processing unit with fall-back
JP2005006275A (ja) 2002-11-22 2005-01-06 Matsushita Electric Ind Co Ltd 補間フレーム作成装置、補間フレーム作成方法、および補間フレーム作成プログラム
WO2004064373A2 (en) 2003-01-09 2004-07-29 The Regents Of The University Of California Video encoding methods and devices
JP4220284B2 (ja) 2003-03-28 2009-02-04 株式会社東芝 フレーム補間方法、装置及びこれを用いた画像表示システム
US20040218669A1 (en) * 2003-04-30 2004-11-04 Nokia Corporation Picture coding method
DE602004003934T2 (de) * 2003-05-02 2007-10-18 Koninklijke Philips Electronics N.V. Vorausgerichtete bewegungsvektorinterpolation zur reduzierung von videoartefakten
US7558320B2 (en) * 2003-06-13 2009-07-07 Microsoft Corporation Quality control in frame interpolation with motion analysis
US20050100235A1 (en) * 2003-11-07 2005-05-12 Hao-Song Kong System and method for classifying and filtering pixels
JP2005223454A (ja) 2004-02-03 2005-08-18 Nec Access Technica Ltd Tv機能付き携帯電話装置
JP2007529812A (ja) 2004-03-19 2007-10-25 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ リソース・スケーラブルな動き推定器における、メディア信号処理方法、対応するシステム、及びその適用
MX2007000254A (es) 2004-07-01 2007-04-09 Qualcomm Inc Metodo y aparato para utilizar tecnicas de conversion ascendente de indice de cuadro en codificacion de video que se puede escalar.
CN1717056A (zh) * 2004-07-02 2006-01-04 三菱电机株式会社 用于小波视频编码中的高通时间滤波帧的帧内预测
EP1772017A2 (en) * 2004-07-20 2007-04-11 Qualcomm Incorporated Method and apparatus for encoder assisted-frame rate up conversion (ea-fruc) for video compression
EP2612679A1 (en) * 2004-07-29 2013-07-10 Novartis Vaccines and Diagnostics, Inc. Immunogenic compositions for gram positive bacteria such as streptococcus agalactiae
US8861601B2 (en) 2004-08-18 2014-10-14 Qualcomm Incorporated Encoder-assisted adaptive video frame interpolation
JP4515870B2 (ja) 2004-09-24 2010-08-04 パナソニック株式会社 信号処理装置及び映像システム
JP2006217569A (ja) 2005-01-07 2006-08-17 Toshiba Corp 画像符号列変換装置、画像符号列変換方法および画像符号列変換プログラム
TWI274509B (en) 2005-02-22 2007-02-21 Sunplus Technology Co Ltd Method and system for dynamically adjusting motion estimation
US20060233253A1 (en) * 2005-03-10 2006-10-19 Qualcomm Incorporated Interpolated frame deblocking operation for frame rate up conversion applications
JP4398925B2 (ja) * 2005-03-31 2010-01-13 株式会社東芝 補間フレーム生成方法、補間フレーム生成装置および補間フレーム生成プログラム
US7876833B2 (en) * 2005-04-11 2011-01-25 Sharp Laboratories Of America, Inc. Method and apparatus for adaptive up-scaling for spatially scalable coding
TW200727705A (en) 2005-09-27 2007-07-16 Qualcomm Inc Method and apparatus for using random field models to improve picture and video compression and frame rate up conversion
US20070074251A1 (en) * 2005-09-27 2007-03-29 Oguz Seyfullah H Method and apparatus for using random field models to improve picture and video compression and frame rate up conversion
US9258519B2 (en) 2005-09-27 2016-02-09 Qualcomm Incorporated Encoder assisted frame rate up conversion using various motion models
JP4468884B2 (ja) * 2005-12-09 2010-05-26 リンテック株式会社 テープ貼付装置、マウント装置及びマウント方法
JP4303748B2 (ja) * 2006-02-28 2009-07-29 シャープ株式会社 画像表示装置及び方法、画像処理装置及び方法
EP1843587A1 (en) * 2006-04-05 2007-10-10 STMicroelectronics S.r.l. Method for the frame-rate conversion of a digital video signal and related apparatus
US8582660B2 (en) 2006-04-13 2013-11-12 Qualcomm Incorporated Selective video frame rate upconversion
JP2007311843A (ja) 2006-05-16 2007-11-29 Sony Corp ノンインターレース化装置、表示装置及びプログラム
JP4178480B2 (ja) * 2006-06-14 2008-11-12 ソニー株式会社 画像処理装置、画像処理方法、撮像装置および撮像方法
US20080025390A1 (en) 2006-07-25 2008-01-31 Fang Shi Adaptive video frame interpolation
US20080055311A1 (en) * 2006-08-31 2008-03-06 Ati Technologies Inc. Portable device with run-time based rendering quality control and method thereof
JP2008067205A (ja) * 2006-09-08 2008-03-21 Toshiba Corp フレーム補間回路、フレーム補間方法、表示装置
US9883202B2 (en) * 2006-10-06 2018-01-30 Nxp Usa, Inc. Scaling video processing complexity based on power savings factor
JP4687658B2 (ja) 2007-01-29 2011-05-25 株式会社デンソー 画像の認識装置
WO2009032255A2 (en) * 2007-09-04 2009-03-12 The Regents Of The University Of California Hierarchical motion vector processing method, software and devices
US8660175B2 (en) 2007-12-10 2014-02-25 Qualcomm Incorporated Selective display of interpolated or extrapolated video units

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040101058A1 (en) * 2002-11-22 2004-05-27 Hisao Sasai Device, method and program for generating interpolation frame
US20060017843A1 (en) 2004-07-20 2006-01-26 Fang Shi Method and apparatus for frame rate up conversion with multiple reference frames and variable block sizes

Also Published As

Publication number Publication date
TW200943967A (en) 2009-10-16
KR20120088006A (ko) 2012-08-07
US8953685B2 (en) 2015-02-10
US20090147853A1 (en) 2009-06-11
CN101919249A (zh) 2010-12-15
CN101919255B (zh) 2013-02-27
US9426414B2 (en) 2016-08-23
KR20100092506A (ko) 2010-08-20
JP5502746B2 (ja) 2014-05-28
KR101178553B1 (ko) 2012-08-30
JP5502747B2 (ja) 2014-05-28
KR101136293B1 (ko) 2012-04-19
WO2009076468A3 (en) 2010-03-25
JP2011507404A (ja) 2011-03-03
TW200950528A (en) 2009-12-01
CN101939992B (zh) 2013-05-01
EP2232878A1 (en) 2010-09-29
CN101919255A (zh) 2010-12-15
EP2232870B1 (en) 2013-06-05
WO2009076468A2 (en) 2009-06-18
CN101939992A (zh) 2011-01-05
JP5437265B2 (ja) 2014-03-12
EP2232878B1 (en) 2012-06-06
KR101268990B1 (ko) 2013-05-29
CN101919249B (zh) 2016-03-30
EP2232871A1 (en) 2010-09-29
US20090148058A1 (en) 2009-06-11
WO2009076471A1 (en) 2009-06-18
JP2011507406A (ja) 2011-03-03
TW200943974A (en) 2009-10-16
KR20100093112A (ko) 2010-08-24
EP2232871B1 (en) 2013-10-09
US20090147854A1 (en) 2009-06-11
EP2232870A2 (en) 2010-09-29
JP2011507405A (ja) 2011-03-03
KR20100093113A (ko) 2010-08-24
WO2009076466A1 (en) 2009-06-18
US8660175B2 (en) 2014-02-25

Similar Documents

Publication Publication Date Title
KR101149205B1 (ko) 비디오 보간 또는 보외를 위한 기준 선택
US8374246B2 (en) Method and apparatus for encoder assisted-frame rate up conversion (EA-FRUC) for video compression
US20100027663A1 (en) Intellegent frame skipping in video coding based on similarity metric in compressed domain
AU2006223416A1 (en) Content adaptive multimedia processing
JP4644097B2 (ja) 動画像符号化プログラム、プログラム記憶媒体、および符号化装置。
KR100930344B1 (ko) 초기 양자화 파라미터 결정 방법

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: 20160330

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180329

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee