KR20090018922A - 비디오 압축을 위한 공간 희소성 유도된 시간적 예측 - Google Patents

비디오 압축을 위한 공간 희소성 유도된 시간적 예측 Download PDF

Info

Publication number
KR20090018922A
KR20090018922A KR1020087028608A KR20087028608A KR20090018922A KR 20090018922 A KR20090018922 A KR 20090018922A KR 1020087028608 A KR1020087028608 A KR 1020087028608A KR 20087028608 A KR20087028608 A KR 20087028608A KR 20090018922 A KR20090018922 A KR 20090018922A
Authority
KR
South Korea
Prior art keywords
block
prediction
motion compensated
transform
compensated prediction
Prior art date
Application number
KR1020087028608A
Other languages
English (en)
Other versions
KR101048634B1 (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 KR20090018922A publication Critical patent/KR20090018922A/ko
Application granted granted Critical
Publication of KR101048634B1 publication Critical patent/KR101048634B1/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/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/583Motion compensation with overlapping blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • 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/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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

공간 희소성 유도된 시간적 예측을 위한 방법 및 장치가 여기에 설명된다. 일 실시형태에서, 그 방법은, 이전에 코딩된 프레임으로부터 제 1 블록을 사용하여 제 1 모션 보상된 예측치를 생성하기 위해 모션 보상을 수행하는 단계; 공간 도메인에서 복수의 예측치들을 사용하여 상기 제 1 모션 보상된 예측치로부터 코딩될 제 2 블록에 대한 제 2 모션 보상된 예측치를 생성하는 단계로서, 상기 제 2 모션 보상된 예측치를 생성하는 단계는, 변환을 사용하여 그 제 1 블록에 대한 블록 변환 계수들을 생성하고, 그 블록 변환 계수들을 사용하여 코딩될 제 2 블록의 예측된 변환 계수들을 생성하며, 그리고, 픽셀 도메인에서 제 2 모션 보상된 예측치를 생성하기 위해, 예측된 변환 계수들에 대해 인버스 변환을 수행함으로써 그 복수의 예측치들 각각을 생성하는 단계를 포함하는, 상기 제 2 모션 보상된 예측치를 생성하는 단계; 잔여 프레임을 생성하기 위해 현재의 프레임에서의 블록으로부터 제 2 모션 보상된 예측치를 감산하는 단계; 및 잔여 프레임을 코딩하는 단계를 포함한다.
비디오 압축, 공간 희소성 유도된 시간적 예측, 모션 보상된 예측치

Description

비디오 압축을 위한 공간 희소성 유도된 시간적 예측{SPATIAL SPARSITY INDUCED TEMPORAL PREDICTION FOR VIDEO COMPRESSION}
우선권 주장
본 특허 출원은, 발명의 명칭이 "비디오 압축을 위한 공간 희소성 유도된 시간적 예측" 으로 2006년 10월 31일자로 출원된 대응하는 가특허 출원 제 60/856,048호를 우선권 주장하며, 참조로써 포함한다.
관련 출원
본 특허 출원은, 발명의 명칭이 "하이브리드 비디오 압축을 위한 비선형 예측 필터 (A Nonlinear, Prediction Filter for Hybrid Video Compression)" 로 2006년 6월 20일자로 출원되어 본 발명의 양수 법인에 양도된 미국 특허 출원 제 11/471,741호에 관련된다.
발명의 기술분야
본 발명은 압축/압축해제 분야에 관한 것으로, 더 상세하게, 본 발명은, 압축 및 압축해제의 일부로서 모션 보상에서의 사용을 위해 변환 도메인에서 예측치를 생성하는 것에 관한 것이다.
발명의 배경
하이브리드 비디오 압축은 앵커 (anchor) 비디오 프레임을 인코딩하고, 그 후, 예측된 프레임들의 세트를 예측적으로 인코딩하는 것으로 구성된다. 예측 적인 인코딩은, 예측 에러 프레임을 획득한 이후 이러한 예측 에러 프레임을 인코딩하기 위해, 이전에 디코딩된 프레임들에 관한 모션 보상된 예측을 이용한다. 앵커 프레임들 및 예측 에러들은 변환 코더들을 사용하여 인코딩된다.
도 1은 비디오 인코더의 블록도이다. 도 1을 참조하면, 모션 보상된 (MC) 예측 모듈은 이전에 디코딩된 프레임으로부터 모션 보상된 예측치를 생성한다. 제 1 가산기는 잔여 프레임을 획득하기 위해 모션 보상된 예측치를 현재의 프레임으로부터 감산한다. 변환 코더는, 예를 들어, 변환, 양자화기, 및 엔트로피 인코더의 조합을 사용함으로써, 잔여 프레임을 코딩된 차동치 (coded differential) 로 변환시킨다. 디코딩 동안, 변환 디코더는, 예를 들어, 엔트로피 디코더, 인버스 양자화기, 및 인버스 변환의 조합을 사용함으로써, 그 코딩된 차동치를 재구성된 잔여 프레임으로 변환시킨다. 제 2 가산기는 그 재구성된 잔여 프레임을 모션 보상된 예측치에 부가하여, 재구성된 프레임을 획득한다. 지연 엘리먼트 "Z-1" 는 MC 예측 모듈에 의한 장래의 레퍼런스를 위해 그 재구성된 프레임을 저장한다.
종래 기술 솔루션들의 다수의 결점들이 존재한다. 예를 들어, 몇몇 종래의 솔루션들은 비디오 프레임들 사이의 매우 특정한 타입의 시간 의존성을 이용하도록 제한된다. 즉, 일반적인 모션 보상된 예측 동작은, 이전에 디코딩된 프레임들로부터 직접적으로 블록들을 사용하거나, 이러한 블록들의 로우-패스 필터 기반 보간들을 사용함으로써, 현재의 프레임에 대해 예측기들을 형성하도록 제한된 다. 일단 모션 추정이 행해지고 이전에 디코딩된 프레임(들)에서의 후보 블록들이 발견되면, 이러한 블록들 또는 그들의 다양한 로우-패스 필터링된 형태들이 예측된 프레임에서의 블록들에 대해 최상의 예측기들이라는 것을 가정한다. 시간적으로 상관된 주파수 리치 (rich) 블록들에 대한 시간적으로 독립적인 변화들과 같은 많은 시간적인 변화들은 종래 기술의 솔루션들에 의해 고려되지 않는다. 예를 들어, 그러한 변화들을 경험한 로우 패스 필터링된 버전의 블록들은 예측치로부터 관련 고주파수 신호 컴포넌트들을 제거할 수 있으며, 실제로, 성능을 손상시킬 수 있다. 이들 고려되지 않은 변화들은, 그들이 하이브리드 비디오 코더에서 이용된 변환 코더들로 코딩하기 매우 어려운 모션 보상된 차동치들을 생성하므로, 성능 패널티 (penalty) 를 야기한다. 특정 타입의 밝기 변화들과 같은 몇몇 특정 문제있는 시간적 변화들이 연구자들에 의해 고려되어 왔다. 그러나, 이들 솔루션들은 그들이 설계되는 특정 문제들 이외에는 유효하지 않다. 따라서, 이들 솔루션들은 일반적이고 강인한 솔루션들을 제공하지 않는다. 또한, 몇몇 연구자들은 프레임 적응성 모션 보간 필터들을 또한 발명하였지만, 그 필터는 매우 특정한 시간적인 진화 모델에 필요 이상으로 제한된다. 또한, 제한된 수의 필터링 가능성만을 가질 수 있기 때문에, 그러한 설계의 효율성은, 공간 주파수들이 많은 장면을 나타내는 비디오 시퀀스에 대해 매우 제한된다.
통상적으로, 종래 기술은, 균일한 병진 운동 가정하의 구분적 (piecewise) 평활 프레임 모델로 진행하고, 실제 코딩된 프레임들이 이러한 가정으로부터 벗어날 때마다 문제에 빠지게 된다.
발명의 요약
공간 희소성 유도된 시간적 예측을 위한 방법 및 장치가 여기에 개시된다. 일 실시형태에서, 그 방법은, 이전에 코딩된 프레임으로부터 제 1 블록을 사용하여 제 1 모션 보상된 예측치를 생성하기 위해 모션 보상을 수행하는 단계; 공간 도메인에서 복수의 예측치들을 사용하여, 그 제 1 모션 보상된 예측치로부터 코딩될 제 2 블록에 대한 제 2 모션 보상된 예측치를 생성하는 단계로서, 상기 제 2 모션 보상된 예측치를 생성하는 단계는, 변환을 사용하여 제 1 블록에 대한 블록 변환 계수들을 생성하고, 그 블록 변환 계수들을 사용하여 코딩될 제 2 블록의 예측된 변환 계수들을 생성하며, 픽셀 도메인에서 제 2 모션 보상된 예측치를 생성하기 위해 그 예측된 변환 계수들에 대해 인버스 변환을 수행함으로써 복수의 예측치들 각각을 생성하는 것을 포함하는, 상기 제 2 모션 보상된 예측치를 생성하는 단계; 잔여 프레임을 생성하기 위해 현재의 프레임에서의 블록으로부터 제 2 모션 보상된 예측치를 감산하는 단계; 및 그 잔여 프레임을 코딩하는 단계를 포함한다.
도면의 간단한 설명
본 발명은 아래에 주어진 상세한 설명 및 본 발명의 다양한 실시형태들에 대한 첨부한 도면으로부터 더 완전하게 이해될 것이지만, 그 도면은, 본 발명을 특정한 실시형태로 제한하기 위해 취해진 것이 아니라 단지 예시 및 이해를 위해 취해져야 한다.
도 1은 비디오 인코더의 블록도이다.
도 2a는 희소성 유도된 예측을 갖는 하이브리드 비디오 코더의 일 실시형태 의 블록도이다.
도 2b는 향상된 비디오 디코더의 블록도이다.
도 3은 코딩될 현재의 프레임의 예시적인 도면을 도시한다.
도 4는 예측 블록 x 및 관련 이웃 Λx 의 예시적인 도면을 도시한다.
도 5는 이웃 Λx 내의 트레이닝 (training) 블록들, 및 모션 보상된 예측에서 레퍼런스를 형성하는 과거의 프레임에서의 대응하는 블록들의 위치들에 대한 예시적인 도면을 도시한다.
도 6은 현재의 매크로블록의 nxn 압축 변환 블록들로의 예시적인 분해를 도시한다.
도 7은 예측될 nxn 블록을 중첩하는 3개의 pxp 예측 블록들의 예시적인 도면을 도시한다.
도 8은, 도 7의 3개의 pxp 예측 블록들이 nxn 블록의 전체 예측을 형성하는 방식을 도시한다.
도 9는 이전에 디코딩된 매크로블록들 및 이전에 디코딩된 nxn 블록들의 보조에 의한 nxn 블록의 예측을 도시한다.
도 10은 인코더에서 블록들의 희소성 유도된 예측을 수행하기 위한 프로세스의 일 실시형태의 흐름도이다.
도 11은 디코더에서 블록들의 희소성 유도된 예측을 수행하기 위한 프로세스의 일 실시형태의 흐름도이다.
도 12는 변환 도메인 예측을 형성하기 위한 프로세스의 일 실시형태의 흐름도이다.
도 13은 예측 가중치들을 계산하기 위한 프로세스의 일 실시형태의 흐름도이다.
도 14는 예시적인 컴퓨터 시스템의 블록도이다.
본 발명의 상세한 설명
비디오 프레임들의 개선된 모션 보상된 예측을 위한 방법들 및 장치들이 설명된다. 일 실시형태에서, 그 방법은, 비디오 시퀀스에서 마주치는 정교한 시간적인 전개 동안 (예를 들어, 평균 제곱 에러 방식으로) 자동적이고 성공적인 예측을 형성하도록 설계된다. 일 실시형태에서, 그 방법은, 하나 이상의 이전에 디코딩된 프레임들에 기초하여 코딩될 프레임의 예측을 형성한다.
여기에 설명된 기술은, 종래의 모션 보상된 예측이 실패하거나 충분히 수행하지 않는 많은 시나리오에서 성공적으로 동작할 수 있다. 예를 들어, 일 실시형태에서, 시간적으로 상관되지 않은 백색 잡음이 비디오 프레임에 존재하고 코딩될 프레임의 예측이 이전에 디코딩된 프레임에서 잡음의 제거로 이점을 얻을 경우, 그 방법은 모션 보상된 예측 동안 그 이전에 디코딩된 프레임의 잡음억제 (denoising) 를 자동적으로 달성한다. 또한, 일 실시형태에서, 수개의 장면들의 혼합이 비디오 프레임들에 존재하고 코딩될 프레임의 예측이 이전에 디코딩된 프레임의 혼합억제 (deblending) 로 이득을 얻을 경우, 그 방법은 모션 보상된 예측 동안 자동적으로 혼합억제한다. 유사하게, 일 실시형태에서, 그 방법은, 페 이딩, 조명 변화 등 동안 성공적인 예측기들을 검출 및 형성하며, 여기서, 종래의 모션 보상은 실패한다. 또한, 여기에 설명된 기술들은, 수개의 정교한 시간적인 전개가 존재하여 매우 복잡한 시간적인 전개를 형성할 경우라도 성공적인 예측을 형성한다.
일 실시형태에서, 여기에 설명된 기술들은 하이브리드 비디오 압축 시스템내에서 셋팅한 인코더-디코더에서 활용되며, 그 시스템에서, 그 인코더 및 디코더는 제공된 예측 이득으로 이점을 얻기 위해 모션 보상된 예측 루프내에서 그 방법을 사용한다. 일 실시형태에서, 그 방법은, 예측에서 사용된 프레임들 및 예측될 프레임이 희박한 도메인에서 적응성 예측을 행하는 것에 기초한다. 이러한 희박성 도메인은 고려사항하에서 고정되거나 최적으로 계산될 수 있다.
마지막으로, 설명된 기술들은 강인하고 일반적이며, 다수의 이미지 영역 타입들 및 다수의 압축 기술들을 효율적으로 처리할 수 있다. 유도된 예측기들은, 다수의 이미지 영역 타입들에 대한 적절한 주파수 선택도를 적응적으로 및 자율적으로 발전시킨다.
다음의 설명에서, 본 발명의 더 완전한 설명을 제공하기 위해 많은 세부사항들이 개시된다. 그러나, 본 발명이 이러한 특정 세부사항 없이도 실행될 수 있다는 것은 당업자에게는 명백할 것이다. 다른 예시에서, 주지된 구조들 및 디바이스들은, 본 발명을 불명료하게 하는 것을 회피하기 위해 상세하기 보다는 블록도 형태로 설명된다.
후속하는 상세한 설명의 몇몇 부분은, 컴퓨터 메모리내의 데이터 비트들에 대한 동작의 알고리즘들 및 심볼적 표현들의 관점으로 제공된다. 이들 알고리즘 설명 및 표현은, 그들의 작업의 본질을 가장 효율적으로 프로세싱 분야의 다른 당업자들에게 전달하기 위하여 프로세싱 분야의 당업자들에 의해 사용된 수단이다. 여기에서, 알고리즘은 일반적으로 원하는 결과로 유도하는 단계들의 자기-모순없는 시퀀스이도록 표현된다. 그 단계들은 물리적인 양들의 물리적인 작동들을 요구하는 단계들이다. 일반적으로, 반드시 그러할 필요는 없지만, 이들 양들은, 저장, 전달, 결합, 비교 및 작동될 수 있는 전기 또는 자기 신호들의 형태를 취한다. 대체로 일반적인 사용을 위해, 이들은 비트, 값, 엘리먼트, 심볼, 문자, 용어, 숫자 등으로 이들 신호들을 지칭하는 것이 종종 편리하다.
그러나, 이들 및 유사한 용어들 모두는 적절한 물리적인 양들과 관련되고, 이러한 양들에 적용되는 편리한 라벨일 뿐이라는 것을 알 수 있다. 다음의 설명으로부터 명백한 바와 같이 특정하게 나타내지 않으면, 그 설명 전반에 걸쳐, "프로세싱" 또는 "컴퓨팅" 또는 "계산" 또는 "결정" 또는 "디스플레이" 등과 같은 용어를 이용하는 설명이 컴퓨터 시스템의 동작 및 프로세스, 또는 컴퓨터 시스템의 레지스터 및 메모리내의 물리적 (전기적) 양들로서 표현된 데이터를 작동하고 그 데이터를, 컴퓨터 시스템 메모리 또는 레지스터 또는 기타 다른 정보 저장부, 송신 또는 디스플레이 디바이스들에 전달하는 유사한 전기 컴퓨팅 디바이스의 동작 및 프로세스를 지칭한다는 것을 인식할 것이다.
또한, 본 발명은 여기에서의 동작들을 수행하기 위한 장치에 관한 것이다. 이러한 장치는 요구되는 목적을 위해 특수하게 구성될 수도 있거나, 컴퓨터에 저 장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 범용 컴퓨터를 포함할 수도 있다. 그러한 컴퓨터 프로그램은, 플로피 디스크, 광 디스크, CD-ROM, 및 자성-광 디스크를 포함하는 임의의 타입의 디스크, 각각이 컴퓨터 시스템 버스에 커플링되어 있는, 판독-전용 메모리 (ROM), 랜덤 액세스 메모리 (RAM), EPROM, 자성 또는 광 카드, 또는 전자 명령들을 저장하는데 적합한 임의의 타입의 매체와 같지만 이에 제한되지는 않는 컴퓨터 판독가능 저장 매체내에 저장될 수도 있다.
여기에서 제공된 알고리즘들 및 디스플레이들은 임의의 특정 컴퓨터 또는 다른 장치에 본질적으로 관련되지는 않는다. 본 발명의 교시에 따른 프로그램들에 의해 다양한 범용 시스템들이 사용될 수도 있거나, 요구되는 방법 단계들을 수행하기 위한 더 특수화된 장치를 구성하는 것이 편리하다는 것을 증명할 수도 있다. 다양한 이들 시스템에 대한 요구되는 구성은 아래의 설명으로부터 나타날 것이다. 또한, 본 발명은 임의의 특정 프로그래밍 언어를 참조하여 설명되지는 않는다. 다양한 프로그래밍 언어들이 여기에 설명된 바와 같은 본 발명의 교시를 구현하는데 사용될 수도 있다.
머신-판독가능 매체는 머신 (예를 들어, 컴퓨터) 에 의해 판독가능한 형태로 정보를 저장 또는 송신하기 위한 임의의 메커니즘을 포함한다. 예를 들어, 머신-판독가능 매체는, 판독 전용 메모리 ("ROM"); 랜덤 액세스 메모리 ("RAM"); 자성 디스크 저장 매체; 광 저장 매체; 플래시 메모리 디바이스; 전기, 광, 음향 또는 다른 형태의 전파된 신호들 (예를 들어, 반송파, 적외선 신호, 디지털 신호 등 ); 등을 포함한다.
개관
희소성 유도된 예측은 모션 보상 프로세스의 일부로서 사용될 수도 있다. 더 상세하게, 코딩될 프레임에서 예측되는 블록에 있어서, 이전에 코딩된 프레임들로부터 후보 블록이 획득된다. 일 실시형태에서, 필요하다면, 적절한 모션 보상된 보간이 그 후보 블록에 적용된다. 일 실시형태에서, 픽셀 도메인에서 예측될 블록을 예측하기보다는, 변환 도메인에서 예측이 수행된다. 따라서, 그 후보 블록은 그의 변환 계수들을 획득하기 위해 선형 변환을 사용하여 먼저 변환되고, 그 후, 이들 후보 블록 변환 계수들은 예측될 블록의 변환 계수들을 예측/추정하는데 사용된다. 일 실시형태에서, 예측될 블록의 각각의 변환 계수는 평균 제곱 예측 에러를 최소화함으로써 예측된다. 일단 예측될 블록의 변환 계수들이 예측되면, 그들은 인버스 변환되어 픽셀 도메인 희소성 유도된 예측치를 획득한다.
일 실시형태에서, 예측의 형성 동안, 필요할 경우, 인코더는 디코더가 동일한 예측을 형성하는데 도움을 줄 몇몇 부가 정보 (side information) 를 결정하고 그 정보를 디코더에 전송한다. 그러한 부가 정보는, 디코더가 예측될 블록에 대해 희소성 유도된 예측을 이용하는지 여부에 대한 표시를 포함할 수도 있다. 또한, 그러한 부가 정보는, 예측될 각각의 블록 또는 블록들의 서브세트를 예측할 경우 사용되는 예측 파라미터들을 포함할 수도 있다.
디코딩 동안, 디코더는 예측 프로세스를 복사하고 인코더와 동일한 예측 블 록을 획득한다. 일 실시형태에서, 희소성 유도된 예측치는 (변환 도메인에서 예측을 공간적으로 행하는 것과 동등한 계산을 수행함으로써) 픽셀 도메인에서 직접 유도되며, 최종 예측 오퍼레이터가 픽셀 도메인에서 직접 적용된다. 일 실시형태에서, 예를 들어, 인코더는, 각각의 블록의 예측이 평균 제곱 에러 관점에서 가장 효과적이도록 그 각각의 블록을 예측하기 전에 최적의 변환을 찾는다. 디코더는, 인코더에 의해 시그널링되면 부가 정보의 도움으로 인코더 계산된 변환과 매칭한다. 일 실시형태에서, 인코더는, 최상의 희소성 유도된 예측이 결과로서 도출되도록 모션 보상 프로세스를 최적화한다.
더 상세히 후술될 바와 같이, 인코더는 이용가능한 정보를 사용하여 가능한 예측치들의 서브세트를 특정하여, 그 특정한 예측치를 부가 정보를 통해 전송할 수도 있다. 일 실시형태에서, 본 발명의 예측 기술들은, 시간적인 변환을 이용하는 비디오 압축 애플리케이션에서 사용될 시간적인 변환을 설계하기 위한 리프팅 (lifting) 과 같은 접근법과 결합된다.
희소성 유도된 예측의 사용은, 이전에 디코딩된 프레임들로부터 동일한 블록들을 취하지만, 코딩될 프레임의 더 양호한 예측기들을 형성하기 위해 상이한 예측 기술들을 적용하는 부가적인 예측 옵션들을 제공함으로써 모션 보상된 예측들을 개선시킨다. 이것은, 모션만이 고려될 경우, 결과적인 예측이 코딩될 프레임에 여전히 관련되지 않는 많은 정보를 포함하기 때문이다. 모션 보상된 예측은 이러한 관련되지 않은 정보가 폐기될 경우 실질적으로 개선된다.
예를 들어, 시간적으로 상관되지 않은 잡음을 포함하는 비디오 시퀀스에 있 어서, 이전에 디코딩된 블록들이 코딩될 프레임을 예측할 시에 사용되기 전에, 그 블록들에서 잡음을 제거하는 기술이 유리하다. 하나의 장면으로부터 또 다른 장면으로의 페이드를 나타내는 비디오 시퀀스에 있어서, 이전에 디코딩된 프레임들은 그 2개의 장면들의 혼합일 수도 있지만, 예측될 프레임은 그 2개의 장면들 중 하나의 장면만을 나타낼 수도 있다. 따라서, 이전에 디코딩된 프레임들로부터 관련되지 않은 장면을 제거하는 기술은 예측될 프레임의 더 양호한 예측기들을 형성하는데 매우 유리할 수 있다. 유사하게, 비디오 시퀀스에서의 조명 변화들, 가시적인 효과, 및 다른 변경들은 모션 보상된 예측의 정확도에 악영향을 줄 수 있다. 그러한 모든 문제들 및 그들이 야기하는 예측 성능 손실은, 여기에 설명된 기술들로 완화될 수 있다.
또한, 여기에 설명된 기술들이, 예를 들어, 음성, 의료 영상 (medical volume) 의 이미지와 같은 더 높은 차원의 신호 등과 같지만 이에 제한되지는 않는 다른 타입의 신호들에 적용될 수 있음을 유의한다.
인코더 및 디코더 예
도 2a는 희소성 유도된 예측을 사용하는 하이브리드 비디오 코더의 일 실시형태의 블록도이다. 도 2a를 참조하면, 모션 보상된 (MC) 예측 모듈 (216) 은 이전에 디코딩된 프레임 (203) 으로부터 모션 보상된 예측치를 생성한다. 희소성 유도된 예측 모듈 (217) 은 여기에 설명된 바와 같이 모션 보상된 예측치를 증가시켜, 코딩될 프레임의 더 양호한 예측치를 생성한다. 일 실시형태에서, 희소성 유도된 예측 모듈 (217) 은 인과 정보 (230) 와 같은 인과 정보에 기초하여 모션 보상된 예측치를 증가시킨다.
가산기 (211) 는, 잔여 프레임을 획득하기 위해, 증가된 모션 보상된 예측치를 현재의 프레임 (201) 으로부터 감산한다. 변환 코더 (212) 는, 예를 들어, 변환, 양자화기, 및 엔트로피 인코더의 조합을 사용함으로써 잔여 프레임을 코딩된 차동치 (202) 로 변환시킨다. 디코딩 동안, 변환 디코더 (213) 는, 예를 들어, 엔트로피 디코더, 인버스 양자화기, 및 인버스 변환의 조합을 사용함으로써 그 코딩된 차동치를 재구성된 잔여 프레임으로 변환시킨다. 가산기 (214) 는 그 재구성된 잔여 프레임을 증가된 모션 보상된 예측치에 부가하여 재구성된 프레임을 획득한다. 지연 엘리먼트 "Z-1" (215) 는 MC 예측 모듈 (216) 에 의한 장래의 레퍼런스를 위해 그 재구성된 프레임을 저장한다.
일 실시형태에서, 비디오 디코더는, 이전에 디코딩된 프레임으로부터 블록을 사용하여 예측된 블록을 생성하기 위한 모션 보상 유닛, 모션 보상된 예측치를 증가시켜, 디코딩될 프레임의 더 양호한 예측치를 생성하기 위한 희소성 유도된 예측 모듈, 잔여 프레임을 디코딩하기 위한 디코더, 및 그 잔여 프레임을 비-선형 예측치에 부가하기 위한 가산기를 포함한다. 지연 엘리먼트 "Z-1" 는 MC 예측 모듈에 의한 장래의 레퍼런스를 위해 필터링된 프레임을 저장한다.
도 2b는 향상된 비디오 디코더의 일 실시형태의 블록도이다. 도 2b를 참조하면, MC 예측 모듈 (224) 은 이전에 디코딩된 프레임 (233) 으로부터 모션 보상된 예측치를 생성한다. 희소성 유도된 예측 모듈 (223) 은 그 모션 보상된 예 측치를 증가시켜, 디코딩될 프레임의 더 양호한 예측치를 생성한다. 이는, 코딩된 비트스트림으로부터 수신된 예측 파라미터 (232) 에 응답하여 행해진다. 일 실시형태에서, 희소성 유도된 예측 모듈 (223) 은, 인과 정보 (231) 와 같은 인과 정보에 기초하여 모션 보상된 예측을 증가시킨다. 변환 디코더 (221) 는, 예를 들어, 엔트로피 디코더, 인버스 양자화기, 및 인버스 변환의 조합을 사용함으로써, 코딩된 차동치 (231) 를 재구성된 잔여 프레임으로 변환시킨다. 가산기 (222) 는 그 재구성된 잔여 프레임을 증가된 모션 보상된 예측치에 부가하여, 비디오 디코더로부터 출력되는 재구성된 프레임을 획득한다. 그 출력은 디스플레이로 전송될 수도 있다. 또한, 지연 엘리먼트 "Z-1" (225) 는 MC 예측 모듈 (224) 에 의한 장래의 레퍼런스를 위해 그 필터링된 프레임을 저장한다.
희소성 유도된 예측 모듈의 동작이 더 상세히 후술된다.
변환
일 실시형태에서, 상술된 바와 같이 후보 블록들에 적용된 선형 변환 (예측 변환) 은 블록 pxp DCT와 같은 직교정규 (orthonormal) 블록 변환이다. 또한, 다른 변환들, 즉, 비-직교 변환, 비-블록 변환들이 적용될 수 있다. 적용된 변환이 비-블록일 경우, 일단 예측이 상술된 바와 같이 달성되면, 코딩될 프레임에서 변환 계수들의 예측을 다시 형성할 수 있고 인버스 변환이 수행될 수 있다. 비-블록 변환 (웨이블렛 변환, 겹침 변환 (lapped transform) 등) 에 의한 경계 프로세싱 및 공간 영역의 타일링 (tiling) 은 신호 프로세싱에서의 확립된 기술들로 행 해질 수 있다. 계산이 효율적인 방식으로 수행될 수 있도록 이러한 변환이 신속한 구현을 갖는 것이 바람직하지만, 반드시 그러할 필요는 없다.
일반성의 손실없이, 이용된 예측 변환이 pxp 블록 DCT라고 가정한다. 일 실시형태에서, 그 이용된 예측 변환이 예측 에러의 변환 코딩에서 사용되는 변환과는 상이하다는 것을 유의한다.
여기에 설명된 기술들은 일 예를 통해 설명될 수도 있다. 도 3은, 코딩될 매크로블록에 대한 이전에 인코딩된 매크로블록 및 현재의 매크로블록을 도시하는 코딩될 현재의 프레임의 예시적인 도면이다. 도 3을 참조하면, 현재의 프레임 (300) 은 이전에 디코딩된 매크로블록 (301) 및 코딩될 매크로블록 (303) 과 함께 현재의 매크로블록 (302) 을 포함한다.
여기에서의 목적을 위해, x는 (p2xl 벡터로 배열되는) 예측될 pxp 블록을 나타낸다. 도 4는 예측 블록 x 및 관련 이웃 Λx 의 예시적인 도면이다. 도 4를 참조하면, 블록 x (401) 는 현재의 프레임 (300) 의 현재의 매크로블록 (302) 내에 도시되어 있다. 블록 x (401) 및 매크로블록 (302) 의 위치는 이웃 Λx (402) 에 관해 도시되어 있다.
여기에서의 목적을 위해, (p2xl 벡터로 배열되는) y는 x를 예측하는데 사용되는 프레임으로부터의 모션 보상된 블록을 나타낸다. 도 5는, Λx 내의 트레이닝 블록들, 및 모션 보상된 예측에서 레퍼런스를 형성하는 과거의 프레임에서의 대 응하는 블록들의 위치들의 예시적인 도면이다. 도 5를 참조하면, 현재의 프레임 (300) 및 과거의 프레임 (500) 은, 이웃 Λx (402) 내의 트레이닝 블록들 (t1 내지 t3), 및 모션 벡터 (501) 를 생성하는 모션 보상된 예측에서의 레퍼런스로서 사용되는 과거의 프레임 (500) 에서의 대응하는 블록들 (u1 내지 u3) 과 함께 도시되어 있다.
H가 상기 파라그래프에서 특정된 바와 같은 (p2 x p2 매트릭스) 선형 블록 변환 (예측 변환) 을 나타낸다고 가정한다. x의 변환 계수들은 c=Hx에 의해 주어지고, y의 변환 계수들은 d=Hy에 의해 주어진다.
c(i) 가 x의 i번째 변환 계수를 나타낸다고 가정한다 (i=1, ..., p2). 일 실시형태에서, c(i) 는 d(i) 로부터
로서 예측되며, 여기서,
Figure 112008080540953-PCT00002
는 예측치이고, αi는 예측 가중치이다. 그러나, 그 예측은 더 일반적이고 비선형일 수 있음을 유의한다 (예를 들어, 발명의 명칭이 "하이브리드 비디오 압축을 위한 비선형, 예측 필터" 이고 2006년 6월 20일자로 출원된 미국 특허 출원 제 11/471,741호). 또한, 오프셋 항 oi 가 수학식 (1) 에 부가되어,
Figure 112008080540953-PCT00003
를 통해 평균에서의 변화를 고려할 수 있다. 또 한, 그러한 항은 평균 제곱 에러 또는 유사한 메트릭을 최소화하기 위해 최적으로 선택될 수 있다. 또한, c(i) 의 예측에 관련이 없는 d(i) 의 일부가
Figure 112008080540953-PCT00004
를 산출하기 위해 제거될 수 있도록 공간 예측 기술들이 적용될 수 있으며, 예측은
Figure 112008080540953-PCT00005
를 통해 형성된다.
몇몇 경우 (예를 들어, 2개 이상의 레퍼런스 프레임이 이용가능한 경우, 레퍼런스 프레임에서의 2개 이상의 블록이 예측될 블록에 대한 매치로서 고려될 경우 등), 그로부터 예측할 수 개의 이전에 디코딩된 블록들을 가질 수 있다. 그러한 경우, 예측은, 이러한 블록들의 변환 계수들을 사용하여 선형 방식으로 형성될 수 있다. 예를 들어, z가 e=Hz에 의해 주어진 변환 계수들을 갖는 또 다른 이전에 디코딩된 블록일 경우, 다음을 형성할 수 있다.
Figure 112008080540953-PCT00006
일단 예측
Figure 112008080540953-PCT00007
가 i=1, ..., p2 에 대해 형성되면, p2xl 벡터
Figure 112008080540953-PCT00008
를 획득할 수 있다. 그 후, 예측된 블록
Figure 112008080540953-PCT00009
은 다음과 같이 주어진다.
Figure 112008080540953-PCT00010
일 실시형태에서, 예측 가중치 αi는, 예측될 프레임에서의 이전에 송신된 블록들을 사용하여 인과적으로 결정된다. 도 4를 다시 참조하면, 블록 x에 대하여, 코딩될 프레임에서의 적어도 몇몇 이전에 디코딩된 픽셀들을 포함하는 x 주 변의 공간 이웃을 Λx 가 나타낸다고 가정한다. 도 5에 도시된 바와 같이, 트레이닝 블록들 (t1, t2, ..., tL) 은, 각각의 tj⊂Λx 이고 각각의 tj에서의 모든 픽셀들이 이용가능하도록 Λx 내에 존재하며, 블록들 (u1, u2, ..., uL) 은 이전에 디코딩된 프레임에서의 트레이닝 블록들 (t1, t2, ..., tL) 에 대응한다. fj=Htj 및 gj=Huj 를 통해 이러한 블록들의 변환 계수들을 획득하는 것은,
Figure 112008080540953-PCT00011
을 획득하는 것을 가능하게 한다.
트레이닝 블록들 (t1, t2, ..., tL) 은, 공간 이웃 Λx 에서의 정보가 더 양호하게 이용되도록 중첩하고 있을 수 있다. 일 실시형태에서, 도 4에 도시된 바와 같이, 이웃 Λx 은 사이즈 MxM 의 블록 x 주변의 정사각형 이웃이다. 예를 들어, M은 M=3p (행/열 방향에서의 변환 H 기반 함수들의 사이즈의 3배), M=2p 등일 수 있다. 또한, M은 기타 다른 정수일 수 있다. 또 다른 실시형태에서, Λx 은 직사각형 이웃이다. 또 다른 실시형태에서, 이웃 Λx 은 더 일반적인 형상을 갖는다.
일 실시형태에서, 가중치 결정에 대한 상기 프로세스는, 수 개의 블록들이 예측 프로세스 (수학식 (2)) 에서 이용되는 경우로 확장된다. 또 다른 실시형 태에서, 예측은,
Figure 112008080540953-PCT00012
을 통해 상이한 인덱스들을 갖는 계수들을 이용하도록 확장되며, 상기와 같이 인과적으로 예측 가중치들을 획득한다.
일 실시형태에서, 평균 제곱된 예측 에러가 최소화되도록 인코더/디코더 쌍은 이용된 변환 H를 최적화한다. 이러한 동작은, 이전에 코딩된 정보에 기초하여 인코더/디코더에 의해 인과적으로 수행될 수 있거나, 인코더에 의해 비-인과적으로 수행되고 결과적인 변환은 디코더로 시그널링될 수 있거나, 이 둘의 혼합에 의해 수행될 수 있다. 일 실시형태에서, 변환의 최적화는, 예측 가중치들의 소정의 세트로 시작하는 것, 평균 제곱된 예측 에러가 최소화되도록 그 가중치들에 대해 컨디셔닝된 최적의 변환을 찾는 것, 그 가중치들을 재계산하는 것, 그 후, 변환을 재계산하는 것 등에 의해 순차적으로 행해진다.
예측 동작은, 예측될 공간 영역에서의 픽셀들의 일부 또는 전부가 다수의 횟수로 예측되도록 중첩 방식으로 행해질 수 있다. 그 후, 최종 예측치는, 다수의 예측치들의 공간, 픽셀-당 평균화를 행함으로써 획득된다. 사이즈 nxn의 블록 변환이 예측 에러들을 코딩하는 변환에서 사용된다고 가정한다. 도 6은 nxn 압축 변환 블록들로의 현재의 매크로블록의 예시적인 분해를 도시한다. 따라서, 현재의 매크로블록을 인코딩할 경우, 제 1 nxn 블록이 예측되고, 예측 에러가 인코딩되며, 그 후, 제 2 블록이 예측되고, 그 제 2 블록에 대한 예측 에러가 인코 딩된다. 이러한 인코딩의 순서는 래스터 스캔 또는 일부 임의의 방식에서 존재할 수 있다.
도 7은 예측될 nxn 블록을 중첩하는 3개의 pxp 예측 블록들의 예시적인 도면을 도시한다. 도 7을 참조하면, nxn 압축 변환 블록 (702) 에서 코딩될 블록 (701) 이 도시되어 있다. pxp 예측 블록들 1 내지 3은 블록 (701) 을 중첩한다. 블록 (701) 에 대한 예측 에러를 인코딩하기 전에, 이들 3개의 예측치가 생성된다. 각각의 예측치는, 마킹된 pxp 예측 블록 1 내지 pxp 예측 블록 3으로서 pxp 공간 영역을 예측한다. pxp 예측 블록들의 각각의 예측 블록은 nxn 블록을 상이하게 커버링한다.
예측될 nxn 블록은 영역들 (A, B, C, D) 로 분할되어, 그 영역들의 각각의 영역은 어느 pxp 예측 블록들이 그 영역을 중첩하는지에 의존하여 상이하게 예측될 수 있다. 도 8은, 도 7의 3개의 pxp 예측 블록들 1 내지 3이 nxn 블록 (701) 의 전체 예측을 형성하는 방식을 도시한다. 모든 3개의 예측 블록들이 영역 A에서 중첩하므로, 영역 A에서의 픽셀들은 모든 3개의 예측 블록들에 의해 예측된다 (최종 예측치는 그 3개의 예측치들의 선형 결합이다). 예측 블록들 (2 및 3) 이 영역 B에서 중첩하기 때문에, 영역 B에서의 픽셀들은 예측 블록들 중 2개의 예측 블록들 (예측 블록 (2) 및 예측 블록 (3)) 에 의해 예측된다 (최종 예측치는 그 2개의 예측치들의 선형 결합이다). 예측 블록들 (1 및 3) 이 영역 C에서 중첩하기 때문에, 영역 C에서의 픽셀들은 상이한 2개의 예측 블록들 (예측 블록 (1) 및 예측 블록 (3)) 에 의해 예측된다 (최종 예측치는 그 2개의 예측치들의 선형 결합 이다). (예측 블록 (3) 이 임의의 예측 블록들과 영역 D에서 중첩하지 않으므로) 영역 D에서의 픽셀들은 하나의 예측 블록 (3) 에 의해 예측된다.
픽셀이 그 픽셀을 중첩하는 k개의 예측 블록들을 가지면, 이러한 픽셀에 대한 최종 예측치가 pxp 예측 블록들 각각에 의해 제공된 예측들의 선형 결합에 의해 형성된다는 것을 이해할 것이다. 일 실시형태에서, 그 선형 결합은 직접적인 평균화 (straightforward averaging) 에 의해 형성된다. 또 다른 실시형태에서, 그 선형 결합은 가중된 평균화를 수행함으로써 형성된다.
일 실시형태에서, pxp 예측 블록들에 의해 사용된 예측 가중치가 트레이닝 블록들의 세트에 대해 인과적으로 계산되므로, 현재의 예측을 보조하기 위해 이전에 코딩된 nxn 변환 블록들을 이용하는 것이 바람직하다. 도 9는 이전에 디코딩된 매크로블록들 및 이전에 디코딩된 nxn 블록들의 보조에 의한 nxn 블록의 예측을 도시한다. 도 9를 참조하면, 코딩될 nxn 블록, 즉, 블록 (901) 의 예측은, 예측 블록들 1 내지 3을 생성하는데 사용되는 이전에 디코딩된 매크로블록들 및 이전에 디코딩된 nxn 블록들 (그 중 몇몇은 이전에 디코딩된 nxn 블록들 (903) 으로서 도시되어 있음) 의 보조에 의해 수행된다.
일단 예측이 형성되면, 예를 들어, 발명이 명칭이 발명의 명칭이 "하이브리드 비디오 압축을 위한 비선형, 예측 필터" 이고 2006년 6월 20일자로 출원된 미국 특허 출원 제 11/471,741호에서 설명된 기술들을 사용하여 다른 것들을 위해, 인코더는 이러한 예측을 사용하거나 폐기하는 것을 결정할 수 있다. 또한, 인코더는 예측 및 예측 가중치들을 특정하는 것을 돕는 부가 정보를 전송할 수도 있다. 또한, 인코더는, 최상의 희소성 유도된 예측이 결과로서 도출되도록 모션 벡터들에 대한 탐색을 최적화할 수도 있다. 또한, 인코더는 가능한 예측 가중치들의 서브세트를 특정하기 위해 인과적인 트레이닝 블록들을 사용할 수도 있고, 부가 정보를 통해 특정 가중치들을 전송할 수도 있다. 일 실시형태에서, 또한, 인코더는 가능한 예측 가중치들의 확률 분포를 구성하기 위해 인과적인 트레이닝 블록들을 사용하고, 그 구성된 분포에 기초하여 엔트로피 코딩을 통해 획득된 부가 정보를 통하여 특정 가중치들을 전송한다. 또한, 인코더는, 예측될 블록의 계수들의 예측기들을 특정할 시에 벡터 양자화 및 벡터 코딩 기술들을 사용할 수도 있다. 일 실시형태에서, 방법은, 시간적인 변환을 이용하는 비디오 압축 애플리케이션에서 (리프팅 기반 접근법과 같은) 예측 기반 변환 설계 접근법과 결합될 수 있다.
변환 코딩에서 블록 변환 뿐만 아니라 비-블록 변환을 사용하는 비디오 코더들을 본 발명의 실시형태들이 수용할 수 있음을 유의한다.
본 발명의 실시형태들은, 로우-패스, 밴드-패스, 하이-패스, 텍스처, 에지 등과 같은 넓은 범위의 통계로 인한 픽셀 값들을 갖는 비디오 프레임들에 적용가능하다. 그러나, 본 발명은 평활하게 변하는 픽셀 값들을 갖는 비디오 프레임들에 제한되지는 않는다.
본 발명의 일 실시형태는 비디오의 광범위한 시간적인 전개에 걸친 예측에서 효과적이다. 일 실시형태에서, 통상적인 비디오 프레임들에 대한 레이트-왜곡 성능 및 통상적인 비디오 프레임들에 대한 가시적인 품질은 종래 기술보다 양호하다.
또한, 본 발명의 실시형태들은, 낮은 계산 복잡도를 달성하는 방식으로 활용될 수 있다.
다양한 실시형태들
일 실시형태에서, 희소성 유도된 예측 프로세스에서 이용된 예측 변환은 pxp 블록 DCT이며, 여기서, p는 4, 5, 8, 16 등일 수 있다. 일 실시형태에서, 변환 계수 예측은 수학식 (1) 을 사용하여 수행되며, 예측 가중치들은 수학식 (3) 을 통해 획득된다. 이웃 Λx 에서 이용가능하고 이미 코딩된 데이터에 대응하는 (pxp 슬라이딩 윈도우에 의해 결정된 바와 같은) 모든 중첩한 pxp 블록들이 트레이닝, 즉, 수학식 (3) 에서의 계산에서 사용된다.
예측 형성에 관하여, 적어도 하나의 트레이닝 블록이 pxp 예측 블록의 가중치들의 결정에 이용가능하면, 그 pxp 예측 블록이 형성된다. 일 실시형태에서, nxn 변환 블록에서의 각각의 픽셀이 최대 가능한 수의 예측치들을 갖도록 모든 시프트에서 중첩한 예측이 수행된다. 이러한 수는, 예측의 형성에 이용가능한 이전에 디코딩된 정보의 양에 의해서만 제한된다.
일 실시형태에서, 다수의 예측치들의 픽셀-당 평균화는 가중된 평균화에 의해 주어진다. 이것은, 예를 들어, 2003년 11월자 Onur G. Guleryuz 의 "Weighted Overcomplete Denoising", Proc. Asilomar Conference on Signals and Systems, Pacific Grove, CA 와 같은 당업계에 공지된 더 정교한 가중치 결정 기술들을 사용하거나 동등한 가중치들에 의해 행해질 수 있다.
상기 설명이 블록의 관점에서 설명되었지만, 예측된 벡터들을 갖고 벡터들을 예측하는 것이 일반적인 사이즈 및 형상의 영역들, 즉, 비-블록에 대응하는 것을 포함하지만 이에 제한되지는 않는 본 발명과 함께 다른 사이즈 및 형상의 영역 (예를 들어, 비-블록) 이 사용될 수도 있음을 유의한다.
인코딩 및 디코딩 프로세스의 예
도 10은 인코더에서 블록들의 희소성 유도된 예측용 프로세스에 대한 일 실시형태의 흐름도이다. 그 프로세스는, 하드웨어 (예를 들어, 회로, 전용 로직 등), (범용 컴퓨터 시스템 또는 전용 머신상에서 구동하는 것과 같은) 소프트웨어, 또는 이들의 조합을 포함할 수도 있는 프로세싱 로직에 의해 수행된다.
도 10을 참조하면, 프로세스는, 예측될 각각의 nxn 블록과 동일하게 변수 b를 셋팅 (프로세싱 블록 1001) 하고, b를 중첩하는 모든 pxp 프레임 블록들과 동일하게 변수 x를 셋팅 (프로세싱 블록 1002) 하는 프로세싱 로직에 의해 시작한다. 예측될 각각의 블록 b에 있어서, 프로세싱 로직은 각각의 pxp 블록을 취하고, x의 변환 계수들을 예측한다 (프로세싱 블록 1003). 변환 도메인에서의 이러한 예측치들은 여기에서
Figure 112008080540953-PCT00013
로서 지칭된다.
그 후, 프로세싱 로직은 공간 예측치
Figure 112008080540953-PCT00014
를 결정한다 (프로세싱 블록 1004). 그 공간 예측치
Figure 112008080540953-PCT00015
는 예측치
Figure 112008080540953-PCT00016
를 인버스 변환함으로써 결정된다.
다음으로, 프로세싱 로직은 x에 의해 표현된 pxp 블록과 블록 b의 교점을 결정한다 (프로세싱 블록 1005). 즉, 공간 예측치의 관련 컴포넌트는, b를 중첩 하는 그 공간 예측치의 일부로서 결정된다. 프로세싱 로직은 그 교점내의 예측치의 일부를 누산한다 (프로세싱 로직 1006). 따라서, 관련 컴포넌트는 b에서의 관련 픽셀들에 걸쳐 누산된다. 프로세싱 로직은 그 교점에서의 픽셀들에 대한 예측 카운트를 1 만큼 증가시킨다 (프로세싱 블록 1007).
그 후, 프로세싱 로직은 b를 중첩하는 모든 pxp 프레임 블록들이 고려되었는지의 여부를 체크한다 (프로세싱 블록 1008). 그렇지 않다면, 프로세스는 프로세싱 블록 1002로 전이하여, 프로세스는 계속된다. 모든 pxp 프레임 블록들이 고려되었다면, 프로세싱 블록은 프로세싱 블록 1009로 전이한다.
프로세싱 블록 1009에서, 프로세싱 로직은, b에서의 각각의 픽셀에 대하여, 누산된 예측값을 누산된 예측 카운트로 나누어 b에 대한 최종 예측치를 형성한다. b에서의 픽셀이 k개의 pxp 블록들 (k≥1) 에 의해 예측되면, 누산은 k개의 예측치들의 합산이고, 그 픽셀에 대한 예측치가 k이며, 최종 예측치가 k에 의해 나누어진 누산이도록, 누산 및 예측 카운트는 최종 예측 결정을 가능하게 한다.
일단 최종 예측치가 형성되면, 프로세싱 로직은 b에 대한 예측 에러를 계산한다 (프로세싱 블록 1010). 프로세싱 로직은 그 예측 에러를 인코딩하고 (프로세싱 블록 1011), 그 예측 에러를 디코더에 전송한다.
또한, 프로세싱 로직은 예측 에러를 디코딩한다 (프로세싱 블록 1012). 이것은 디코더에 의해 디코딩되는 것과 동일한 예측 에러이다. 프로세싱 로직은 프로세싱 블록 1009에서 생성된 예측치에 그 디코딩된 예측 에러를 부가한다 (프로세싱 블록 1013). 이것은 디코딩된 블록 b를 형성한다. 프로세싱 로 직은, 장래의 예측 동작들에 의해 생성되는 이전에 디코딩된 블록들에 그 디코딩된 블록 b를 부가한다 (프로세싱 블록 1014). 본질적으로, 이것은 이전에 디코딩된 정보를 업데이트한다.
그 후, 프로세싱 로직은, 예측될 각각의 nxn 블록이 예측되었는지의 여부를 검출한다 (프로세싱 블록 1015). 예측되었다면, 프로세스는 종료되며, 그렇지 않다면, 프로세스는 프로세싱 블록 1001로 전이하며, 그 프로세스는 반복한다.
도 11은 디코더에서의 블록들의 희소성 유도된 예측용 프로세스의 일 실시형태의 흐름도이다. 프로세스는, 하드웨어 (예를 들어, 회로, 전용 로직 등), (범용 컴퓨터 시스템 또는 전용 머신상에서 구동하는 것과 같은) 소프트웨어, 또는 이들의 조합을 포함할 수도 있는 프로세싱 로직에 의해 수행된다.
도 11을 참조하면, 프로세스는, 예측될 각각의 nxn 블록과 동일하게 변수 b를 셋팅 (프로세싱 블록 1101) 하고, b를 중첩하는 모든 pxp 프레임 블록들과 동일하게 변수 x를 셋팅 (프로세싱 블록 1102) 하는 프로세싱 로직에 의해 시작한다. 예측될 각각의 블록 b에 있어서, 프로세싱 로직은 각각의 pxp 블록을 취하고, x의 변환 계수들을 예측한다 (프로세싱 블록 1103). 변환 도메인에서의 이러한 예측치들은 여기에서
Figure 112008080540953-PCT00017
로서 지칭된다.
그 후, 프로세싱 로직은 공간 예측치
Figure 112008080540953-PCT00018
를 결정한다 (프로세싱 블록 1104). 그 공간 예측치
Figure 112008080540953-PCT00019
는 예측치
Figure 112008080540953-PCT00020
를 인버스 변환함으로써 결정된다.
다음으로, 프로세싱 로직은 x에 의해 표현된 pxp 블록과 블록 b의 교점을 결 정한다 (프로세싱 블록 1105). 즉, 공간 예측치의 관련 컴포넌트는, b를 중첩하는 일부로서 결정된다. 프로세싱 로직은 그 교점내의 예측치의 일부를 누산한다 (프로세싱 로직 1106). 따라서, 관련 컴포넌트는 b에서의 관련 픽셀들에 걸쳐 누산된다. 프로세싱 로직은 그 교점에서의 픽셀들에 대한 예측 카운트를 1 만큼 증가시킨다 (프로세싱 블록 1107).
그 후, 프로세싱 로직은 b를 중첩하는 모든 pxp 프레임 블록들이 고려되었는지의 여부를 체크한다 (프로세싱 블록 1108). 그렇지 않다면, 프로세스는 프로세싱 블록 1102로 전이하여, 프로세스는 계속된다. 모든 pxp 프레임 블록들이 고려되었다면, 프로세싱 블록은 프로세싱 블록 1109로 전이한다.
프로세싱 블록 1109에서, 프로세싱 로직은, b에서의 각각의 픽셀에 대하여, 누산된 예측값을 누산된 예측 카운트로 나누어 b에 대한 최종 예측치를 형성한다. b에서의 픽셀이 k개의 pxp 블록들 (k≥1) 에 의해 예측되면, 누산은 k개의 예측치들의 합산이고, 그 픽셀에 대한 예측치가 k이며, 최종 예측치가 k에 의해 나누어진 누산이도록, 누산 및 예측 카운트는 최종 예측 결정을 가능하게 한다.
일단 최종 예측치가 형성되면, 프로세싱 로직은 그 예측치를 예측 에러와 합산하며 (프로세싱 블록 1110), 여기서, 프로세싱 로직은, 디코더로부터 수신된 블록 b에 대한 예측 에러를 디코딩한다 (프로세싱 블록 1111).
예측치를 예측 에러와 합산한 이후, 프로세싱 로직은 이전에 디코딩된 정보를 업데이트한다 (프로세싱 블록 1112). 일 실시형태에서, 이전에 디코딩된 정보를 업데이트하는 것은, 장래의 사용을 위하여 이전에 디코딩된 블록들에 디코딩 된 블록 b를 부가하는 것을 포함한다.
이전에 디코딩된 정보를 업데이트한 이후, 프로세싱 로직은, 예측될 각각의 nxn 블록이 예측되었는지의 여부를 체크한다 (프로세싱 블록 1113). 예측되었다면, 프로세스는 종료되며, 예측되지 않았다면, 프로세스는 프로세싱 블록 1101로 전이하여, 프로세스는 반복한다.
도 12는 변환 도메인 예측을 수행하기 위한 프로세스의 일 실시형태의 흐름도이다. 그 프로세스는, 하드웨어 (예를 들어, 회로, 전용 로직 등), (범용 컴퓨터 시스템 또는 전용 머신상에서 구동하는 것과 같은) 소프트웨어, 또는 이들의 조합을 포함할 수도 있는 프로세싱 로직에 의해 수행된다.
도 12를 참조하면, 각각의 소정의 블록 x에 대하여, x에 대한 모션 보상된 예측치인 y를 결정하는 프로세싱 로직에 의해 시작한다 (프로세싱 블록 1202). 그 후, 프로세싱 로직은,
d=Hy
에 따라 y의 변환 계수들을 계산한다 (프로세싱 블록 1203).
그 후, 프로세싱 로직은, 인덱스 i=1, ..., p2 에 의해 인덱싱되는, d의 각각의 컴포넌트에 대한 예측 가중치들 αi를 결정한다 (프로세싱 블록 1204 및 1205). 그 후, 프로세싱 로직은,
Figure 112008080540953-PCT00021
과 같이 예측 벡터
Figure 112008080540953-PCT00022
를 형성한다 (프로세싱 블록 1206).
일 실시형태에서, 예측치가 변환 계수들을 생성하지 않고도 생성될 수도 있음을 유의한다. 예를 들어, 픽셀 도메인 필터가 모션 보상된 예측치에 적용될 수 있으며, 여기서, 픽셀 도메인 필터를 적용하는 것은 변환 도메인에서 예측을 행하는 것과 동등하다. 그러한 경우, 프로세스는, 이전에 코딩된 프레임으로부터 제 1 블록을 사용하여 제 1 모션 보상된 예측치를 생성하기 위해 모션 보상을 수행하는 단계; 복수의 예측치를 사용하여, 제 1 모션 보상된 예측치로부터 코딩될 제 2 블록에 대한 제 2 모션 보상된 예측치를 생성하는 단계로서, 그 제 2 모션 보상된 예측치를 생성하는 단계는, 픽셀 도메인 필터를 제 1 모션 보상된 예측치에 적용함으로써 복수의 예측치들 각각을 생성하는 단계를 포함하며, 여기서, 그 픽셀 도메인 필터를 적용하는 결과는, 픽셀 도메인에서 제 2 모션 보상된 예측치를 생성하기 위해 순차적으로 인버스 변환되는, 블록 변환 계수들로부터의 예측된 변환 계수들을 생성하는 것과 동등한, 그 제 2 모션 보상된 예측치를 생성하는 단계; 잔여 프레임을 생성하기 위해, 현재의 프레임에서의 블록으로부터 제 2 모션 보상된 예측치를 감산하는 단계; 및 그 잔여 프레임을 코딩하는 단계를 포함한다.
또 다른 실시형태에서, 룩업 테이블은, 동등한 픽셀 도메인 필터 계산이 행해지지는 않지만, 변환 계수들이 그 룩업 테이블로의 인덱스를 형성하는데 간단히 사용되며, 차례로 그 인덱스가 픽셀 도메인 필터를 획득하는데 사용되고, 차례로 그 필터가 픽셀 도메인에서 적용되도록, 설계된다. 즉, 일 실시형태에서, 픽셀 도메인 필터는, 하나 이상의 변환 계수들로부터 형성된 인덱스에 기초하여 룩업 테이블로부터 선택된다.
도 13은 예측 가중치들을 계산하기 위한 프로세스의 일 실시형태의 흐름도이다. 그 프로세스는, 하드웨어 (예를 들어, 회로, 전용 로직 등), (범용 컴퓨터 시스템 또는 전용 머신상에서 구동하는 것과 같은) 소프트웨어, 또는 이들의 조합을 포함할 수도 있는 프로세싱 로직에 의해 수행된다.
도 13을 참조하면, 프로세스는, 존재한다면 부가 정보를 사용하여 예측 가중치 αi (i=1, ..., p2) 를 초기화하는 프로세싱 로직에 의해 시작한다 (프로세싱 블록 1301). 소정의 블록 x에 대하여, 프로세싱 로직은 픽셀들의 이웃 Λx 을 결정한다 (프로세싱 블록 1302).
그 후, 프로세싱 로직은 Λx 에서 모든 가능한 pxp 블록들을 체크하여, 그 블록에서의 모든 픽셀들이 인코더 및 디코더 양자에 이용가능한지의 여부, 즉, 이전에 인코딩/디코딩되었는지의 여부를 판정한다 (프로세싱 블록 1303 및 1304).
그 블록에서의 모든 픽셀들이 인코더 및 디코더 양자에 이용가능하다면, 프로세싱 로직은 변수 j를 증분시키고 (프로세싱 블록 1305), 모션 보상을 통해 레퍼런스 프레임에서 매칭 블록 u를 결정한다 (프로세싱 블록 1306). 즉, 프로세싱 로직은 블록 t에 대한 모션 보상된 예측을 결정한다. 그 후, 프로세싱 로직은, 블록 t 및 매칭 블록
Figure 112008080540953-PCT00023
에 대한 변환 계수들을 계산한다 (프로세싱 블록 1307).
일단 모든 고려된 블록들과 관련된 변환 계수들이 계산되면, 프로세싱 로직은, 이용가능한 임의의 부가 정보의 보조에 의해 (예를 들어, 상기 수학식 (3) 을 사용하여) 예측 가중치를 푼다 (프로세싱 블록 1308). 그 후, 프로세싱 로직은 예측 가중치를 출력한다 (프로세싱 블록 1309).
컴퓨터 시스템의 일 예
도 14는 여기에 설명된 하나 이상의 동작들을 수행할 수도 있는 예시적인 컴퓨터 시스템의 블록도이다. 도 14를 참조하면, 컴퓨터 시스템 (1400) 은 예시적인 클라이언트 또는 서버 컴퓨터 시스템을 포함할 수도 있다. 컴퓨터 시스템 (1400) 은 정보를 전달하기 위한 통신 메커니즘 또는 버스 (1411), 및 정보를 프로세싱하기 위해 버스 (1411) 와 커플링된 프로세서 (1412) 를 포함한다. 프로세서 (1412) 는, 마이크로프로세서를 포함하지만, 예를 들어, PentiumTM, PowerPCTM, AlphaTM 등과 같은 마이크로프로세서에 제한되지는 않는다.
시스템 (1400) 은, 랜덤 액세스 메모리 (RAM), 또는 프로세서 (1412) 에 의해 실행될 명령들 및 정보를 저장하기 위해 버스 (1411) 에 커플링된 (메인 메모리로서 지칭되는) 다른 동적 저장 디바이스 (1404) 를 더 포함한다. 또한, 메인 메모리 (1404) 는, 프로세스 (1412) 에 의한 명령들의 실행 동안 임시 변수들 또는 다른 중간 정보를 저장하기 위해 사용될 수도 있다.
또한, 컴퓨터 시스템 (1400) 은, 판독 전용 메모리 (ROM) 및/또는 프로세서 (1412) 에 대한 명령들 및 정적 정보를 저장하기 위해 버스 (1411) 에 커플링된 다른 정적 저장 디바이스 (1406), 및 자성 디스크 또는 광 디스크 및 그 디스크의 대응 디스크 드라이브와 같은 데이터 저장 디바이스 (1407) 를 포함한다. 데이터 저장 디바이스 (1407) 는 정보 및 명령들을 저장하기 위해 버스 (1411) 에 커플링된다.
또한, 컴퓨터 시스템 (1400) 은, 컴퓨터 사용자에게 정보를 디스플레이하기 위해 버스 (1411) 에 커플링되는 음극선 튜브 (CRT) 또는 액정 디스플레이 (LCD) 와 같은 디스플레이 디바이스 (1421) 에 커플링될 수도 있다. 또한, 영숫자 및 다른 키들을 포함하는 영숫자 입력 디바이스 (1422) 는 정보 및 커맨드 선택을 프로세서 (1412) 에 전달하기 위해 버스 (1411) 에 커플링될 수도 있다. 부가적인 사용자 입력 디바이스는, 방향 정보 및 커맨드 선택을 프로세서 (1412) 에 전달하고 디스플레이 (1421) 상에서 커서 이동을 제어하기 위해 버스 (1411) 에 커플링된, 마우스, 트랙볼, 트랙패드, 스타일러스, 또는 커서 방향 키와 같은 커서 제어 (1423) 이다.
버스 (1411) 에 커플링될 수도 있는 또 다른 디바이스는, 종이, 필름, 또는 유사한 타입의 매체와 같은 매체 상에서 정보를 마킹하기 위해 사용될 수도 있는 하드 카피 디바이스 (1424) 이다. 버스 (1411) 에 커플링될 수도 있는 또 다른 디바이스는, 전화기 또는 핸드헬드 팜 디바이스와 통신하기 위한 유선/무선 통신 능력 (1425) 이다.
시스템 (1400) 의 임의의 또는 모든 컴포넌트들 및 관련 하드웨어들이 본 발명에서 사용될 수도 있음을 유의한다. 그러나, 컴퓨터 시스템의 다른 구성들이 디바이스들 중 일부 또는 전부를 포함할 수도 있다는 것을 인식할 수 있다.
본 발명의 많은 수정들 및 변형들이 전술한 설명을 판독한 이후 당업자에게 명백해질 것이라는 것은 의심의 여지가 없을 것이만, 예로서 도시되고 설명된 임의의 특정 실시형태는 제한하려고 의도되지는 않는다. 따라서, 다양한 실시형태들의 세부사항들에 대한 참조는, 그 자체에서 본 발명에 대한 본질로서 간주되는 이들 특성들만을 열거하는 청구항의 범위를 제한하려고 의도되지는 않는다.

Claims (5)

  1. 이전에 코딩된 프레임으로부터의 제 1 블록을 사용하여 제 1 모션 보상된 예측치를 생성하기 위해 모션 보상을 수행하는 단계;
    공간 도메인에서 복수의 예측치들을 사용하여, 상기 제 1 모션 보상된 예측치로부터 코딩될 제 2 블록에 대한 제 2 모션 보상된 예측치를 생성하는 단계;
    잔여 프레임을 생성하기 위해 현재의 프레임에서의 블록으로부터 상기 제 2 모션 보상된 예측치를 감산하는 단계; 및
    상기 잔여 프레임을 코딩하는 단계를 포함하며,
    상기 제 2 모션 보상된 예측치를 생성하는 단계는,
    변환을 사용하여 상기 제 1 블록에 대한 블록 변환 계수들을 생성하고,
    상기 블록 변환 계수들을 사용하여 코딩될 상기 제 2 블록의 예측된 변환 계수들을 생성하며, 그리고,
    픽셀 도메인에서 상기 제 2 모션 보상된 예측치를 생성하기 위해 상기 예측된 변환 계수들에 대해 인버스 변환을 수행함으로써 상기 복수의 예측치들 각각을 생성하는 단계를 포함하는, 방법.
  2. 제 1 블록에 대한 제 1 모션 보상된 예측치를 생성하기 위해 모션 보상을 수행하는 모션 보상 예측 모듈;
    상기 제 1 모션 보상된 예측치를 수신하고, 공간 도메인에서 복수의 예측치 들로부터 코딩될 제 2 블록에 대한 제 2 모션 보상된 예측치를 생성하는 제 2 예측 모듈;
    잔여 프레임을 생성하기 위해 현재의 프레임에서의 블록으로부터 상기 제 2 모션 보상된 예측치를 감산하는 감산기; 및
    상기 잔여 프레임을 코딩하는 코더를 포함하며,
    상기 제 2 예측 모듈은,
    변환을 사용하여 상기 제 1 블록에 대한 블록 변환 계수들을 생성하고,
    상기 블록 변환 계수들을 사용하여 코딩될 상기 제 2 블록의 예측된 변환 계수들을 생성하며, 그리고,
    픽셀 도메인에서 상기 제 2 모션 보상된 예측치를 생성하기 위해 상기 예측된 변환 계수들에 대해 인버스 변환을 수행함으로써 상기 복수의 예측치들 각각을 생성하는, 인코더.
  3. 명령들을 저장하는 하나 이상의 컴퓨터 판독가능 매체를 갖는 제조품으로서, 상기 명령들은 시스템에 의해 실행될 경우 상기 시스템으로 하여금,
    이전에 코딩된 프레임으로부터의 제 1 블록을 사용하여 제 1 모션 보상된 예측치를 생성하기 위해 모션 보상을 수행하는 단계;
    공간 도메인에서 복수의 예측치들을 사용하여, 상기 제 1 모션 보상된 예측치로부터 코딩될 제 2 블록에 대한 제 2 모션 보상된 예측치를 생성하는 단계;
    잔여 프레임을 생성하기 위해 현재의 프레임에서의 블록으로부터 상기 제 2 모션 보상된 예측치를 감산하는 단계; 및
    상기 잔여 프레임을 코딩하는 단계를 포함하는 방법을 수행하게 하며,
    상기 제 2 모션 보상된 예측치를 생성하는 단계는,
    변환을 사용하여 상기 제 1 블록에 대한 블록 변환 계수들을 생성하고,
    상기 블록 변환 계수들을 사용하여 코딩될 상기 제 2 블록의 예측된 변환 계수들을 생성하며, 그리고,
    픽셀 도메인에서 상기 제 2 모션 보상된 예측치를 생성하기 위해 상기 예측된 변환 계수들에 대해 인버스 변환을 수행함으로써 상기 복수의 예측치들 각각을 생성하는 단계를 포함하는, 하나 이상의 컴퓨터 판독가능 매체를 갖는 제조품.
  4. 이전에 디코딩된 프레임으로부터의 제 1 블록을 사용하여, 예측된 블록을 생성하는 단계;
    상기 예측된 블록에 응답하여, 공간 도메인에서 복수의 예측치들을 사용하여 모션 보상된 예측치를 생성하는 단계;
    잔여 프레임을 디코딩하는 단계; 및
    상기 잔여 프레임을 상기 모션 보상된 예측치에 부가하는 단계를 포함하며,
    상기 모션 보상된 예측치를 생성하는 단계는,
    변환을 사용하여 상기 예측된 블록에 대한 블록 변환 계수들을 생성하고,
    상기 블록 변환 계수들을 사용하여 코딩될 제 2 블록의 예측된 변환 계수들을 생성하며, 그리고,
    픽셀 도메인에서 상기 모션 보상된 예측치를 생성하기 위해 상기 예측된 변환 계수들에 대해 인버스 변환을 수행함으로써 상기 복수의 예측치들 각각을 생성하는 단계를 포함하는, 방법.
  5. 이전에 디코딩된 프레임으로부터의 제 1 블록을 사용하여, 예측된 블록을 생성하는 모션 보상 유닛;
    상기 예측된 블록에 응답하여, 공간 도메인에서 복수의 예측치들로부터 모션 보상된 예측치를 생성하는 제 2 예측 모듈;
    잔여 프레임을 디코딩하는 디코더; 및
    상기 잔여 프레임을 상기 모션 보상된 예측치에 부가하는 가산기를 포함하며,
    상기 제 2 예측 모듈은,
    변환을 사용하여 상기 예측된 블록에 대한 블록 변환 계수들을 생성하고,
    상기 블록 변환 계수들을 사용하여 코딩될 제 2 블록의 예측된 변환 계수들을 생성하며, 그리고,
    픽셀 도메인에서 상기 모션 보상된 예측치를 생성하기 위해 상기 예측된 변환 계수들에 대해 인버스 변환을 수행함으로써 상기 복수의 예측치들 각각을 생성하는, 장치.
KR1020087028608A 2006-10-31 2007-10-31 비디오 압축을 위한 공간 희소성 유도된 시간적 예측 KR101048634B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US85604806P 2006-10-31 2006-10-31
US60/856,048 2006-10-31
US11/929,420 US8059902B2 (en) 2006-10-31 2007-10-30 Spatial sparsity induced temporal prediction for video compression
US11/929,420 2007-10-30
PCT/US2007/023037 WO2008054799A2 (en) 2006-10-31 2007-10-31 Spatial sparsity induced temporal prediction for video compression

Publications (2)

Publication Number Publication Date
KR20090018922A true KR20090018922A (ko) 2009-02-24
KR101048634B1 KR101048634B1 (ko) 2011-07-12

Family

ID=39330254

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087028608A KR101048634B1 (ko) 2006-10-31 2007-10-31 비디오 압축을 위한 공간 희소성 유도된 시간적 예측

Country Status (6)

Country Link
US (1) US8059902B2 (ko)
EP (1) EP2105030A2 (ko)
JP (1) JP5203379B2 (ko)
KR (1) KR101048634B1 (ko)
CN (1) CN101449588B (ko)
WO (1) WO2008054799A2 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090060373A1 (en) * 2007-08-24 2009-03-05 General Electric Company Methods and computer readable medium for displaying a restored image
TWI498003B (zh) 2009-02-02 2015-08-21 Thomson Licensing 代表一序列圖像的碼式資料連流之解碼方法和一序列圖像之寫碼方法及碼式圖像資料結構
IT1394145B1 (it) * 2009-05-04 2012-05-25 St Microelectronics Srl Procedimento e dispositivo per la codifica video digitale, relativo segnale e prodotto informatico
CN102098519B (zh) * 2009-12-09 2013-04-17 浙江大学 视频编码方法、解码方法、编码及解码装置
CN101848393B (zh) * 2010-06-08 2011-08-31 上海交通大学 可伸缩视频稀疏信息处理系统
US8396126B2 (en) * 2010-06-18 2013-03-12 Cisco Technology, Inc. Systems and methods for video coding and transmission
US8428375B2 (en) * 2010-11-17 2013-04-23 Via Technologies, Inc. System and method for data compression and decompression in a graphics processing system
GB2487197B (en) 2011-01-11 2015-06-17 Canon Kk Video encoding and decoding with improved error resilience
GB2488816A (en) 2011-03-09 2012-09-12 Canon Kk Mapping motion vectors from a plurality of reference frames to a single reference frame
US8837582B2 (en) 2011-06-22 2014-09-16 Blackberry Limited Compressing image data
US8768082B2 (en) 2011-06-22 2014-07-01 Blackberry Limited Compressing image data
CA2841143C (en) * 2011-06-22 2017-02-07 Blackberry Limited Compressing image data
WO2012174636A1 (en) 2011-06-22 2012-12-27 Research In Motion Limited Compressing image data
WO2014138633A2 (en) * 2013-03-08 2014-09-12 Board Of Regents, The University Of Texas System Systems and methods for digital media compression and recompression
SG10202004573WA (en) * 2020-04-03 2021-11-29 Avanseus Holdings Pte Ltd Method and system for solving a prediction problem

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100371130B1 (ko) * 1996-05-28 2003-02-07 마쯔시다덴기산교 가부시키가이샤 화상예측 복호화 장치 및 그 방법과 화상예측 부호화 장치및 그 방법
JP4166305B2 (ja) * 1996-09-20 2008-10-15 エイ・ティ・アンド・ティ・コーポレーション ビデオの画像コーディング及びイントラコーディングのための暗黙の係数予測及び走査適合化を提供するビデオコーダー
US6341144B1 (en) 1996-09-20 2002-01-22 At&T Corp. Video coder providing implicit coefficient prediction and scan adaptation for image coding and intra coding of video
US6505299B1 (en) * 1999-03-01 2003-01-07 Sharp Laboratories Of America, Inc. Digital image scrambling for image coding systems
US20040252758A1 (en) * 2002-08-14 2004-12-16 Ioannis Katsavounidis Systems and methods for adaptively filtering discrete cosine transform (DCT) coefficients in a video encoder
US6944224B2 (en) * 2002-08-14 2005-09-13 Intervideo, Inc. Systems and methods for selecting a macroblock mode in a video encoder
JP2004336103A (ja) 2003-04-30 2004-11-25 Texas Instr Japan Ltd 画像情報圧縮装置
KR100566191B1 (ko) 2003-07-30 2006-03-29 삼성전자주식회사 H.263 멀티미디어 칩을 이용한 엠펙-4 부호화기
US7388999B2 (en) 2003-10-29 2008-06-17 Hewlett-Packard Development Company, L.P. Transformations for denoising images
US7599565B2 (en) * 2004-03-10 2009-10-06 Nokia Corporation Method and device for transform-domain video editing
KR100668345B1 (ko) * 2004-10-05 2007-01-12 삼성전자주식회사 움직임 보상된 계층 생성장치 및 방법
KR100694093B1 (ko) * 2005-02-18 2007-03-12 삼성전자주식회사 영상 블럭의 계수 예측 장치 및 그 방법
US20060285590A1 (en) 2005-06-21 2006-12-21 Docomo Communications Laboratories Usa, Inc. Nonlinear, prediction filter for hybrid video compression

Also Published As

Publication number Publication date
JP5203379B2 (ja) 2013-06-05
WO2008054799A2 (en) 2008-05-08
CN101449588B (zh) 2012-12-05
US8059902B2 (en) 2011-11-15
WO2008054799A3 (en) 2008-07-24
CN101449588A (zh) 2009-06-03
JP2010508708A (ja) 2010-03-18
KR101048634B1 (ko) 2011-07-12
US20080101709A1 (en) 2008-05-01
EP2105030A2 (en) 2009-09-30

Similar Documents

Publication Publication Date Title
KR101048634B1 (ko) 비디오 압축을 위한 공간 희소성 유도된 시간적 예측
US8625682B2 (en) Nonlinear, prediction filter for hybrid video compression
CN103270700B (zh) 使用平面表达的增强帧内预测编码
US8218634B2 (en) Nonlinear, in-the-loop, denoising filter for quantization noise removal for hybrid video compression
US9055298B2 (en) Video encoding method enabling highly efficient partial decoding of H.264 and other transform coded information
EP3684059A1 (en) Decoding method for intra predicting a block by first predicting the pixels at the boundary
US7620108B2 (en) Integrated spatial-temporal prediction
MX2014008778A (es) Decodificador de video, codificador de video, metodo de decodificacion de video, y metodo de codificacion de video.
CA3014052A1 (en) Low-complexity intra prediction for video coding
US10652541B2 (en) Method and device for encoding video data
JP2006511113A (ja) 選択されたマクロブロックにおける動き推定のスキップを伴うビデオエンコーディング
WO2008148272A1 (en) Method and apparatus for sub-pixel motion-compensated video coding
KR100984650B1 (ko) H.264 및 다른 변환 코딩된 정보에 대한 매우효율적인 부분 디코딩을 가능하게 하는 비디오 인코딩 방법
US8792549B2 (en) Decoder-derived geometric transformations for motion compensated inter prediction
EP2587803A1 (en) Methods for coding and reconstructing a pixel block and corresponding devices.
US10735733B2 (en) Method and device for encoding video data
KR20100136907A (ko) 비디오 부호화 및 복호화를 위한 부호화 모드 보상 적응적 인루프 필터링 방법과 그 장치
EP2571271B1 (en) Method for coding and reconstructing a pixel block and corresponding devices
Cho et al. Perceptually-driven video coding with the Daala video codec

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140626

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150618

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160617

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170616

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180619

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190619

Year of fee payment: 9