KR100782829B1 - 움직임 보상 시간 필터링에서 i-블록들을 처리하는 방법 - Google Patents

움직임 보상 시간 필터링에서 i-블록들을 처리하는 방법 Download PDF

Info

Publication number
KR100782829B1
KR100782829B1 KR1020057023767A KR20057023767A KR100782829B1 KR 100782829 B1 KR100782829 B1 KR 100782829B1 KR 1020057023767 A KR1020057023767 A KR 1020057023767A KR 20057023767 A KR20057023767 A KR 20057023767A KR 100782829 B1 KR100782829 B1 KR 100782829B1
Authority
KR
South Korea
Prior art keywords
frame
block
pixels
spatial interpolation
unconnected
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020057023767A
Other languages
English (en)
Other versions
KR20060036056A (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 KR20060036056A publication Critical patent/KR20060036056A/ko
Application granted granted Critical
Publication of KR100782829B1 publication Critical patent/KR100782829B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • 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
    • H04N19/615Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding using motion compensated temporal filtering [MCTF]
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]

Landscapes

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

Abstract

비디오 프레임들을 처리하는 방법, 시스템, 컴퓨터 프로그램 제품, 및 컴퓨터 시스템이 개시된다. 한 쌍의 연속적인 프레임들의 프레임 A 및 B는 각각 픽셀들의 블록들을 포함한다. 프레임 A는 프레임 B보다 시간상 선행한다. 프레임 A의 픽셀들과 관련되어 프레임 B의 각 픽셀 연결 상태가 결정된다. 연결 상태는 연결된 상태 또는 비연결된 상태이다. 프레임 B의 각 블록은 비연결된 것 또는 단일 연결된 것 중 하나로 분류된다. 재분류 기준을 만족하는 프레임 B의 단일 연결된 블록들은 비연결된 것으로 재분류된다. 프레임 B의 비연결된 각 블록은 P-블록 또는 I-블록으로 분류된다. 프레임 B의 각 I-블록의 픽셀들의 값들은 각 I-블록과 관련된 이용가능한 최근접 이웃 픽셀들에 기초한 공간 보간에 의하여 계산된다. 프레임 B의 각 I-블록의 레지듀얼 에러 블록이 생성된다.

Description

움직임 보상 시간 필터링에서 I-블록들을 처리하는 방법{A method for processing i-blocks used with motion compensated temporal filtering}
[관련출원]
본원은 2003년 6월 10일에 출원된 미국 가출원 제60/477,183에 의한 우선권을 주장하며, 상기 가출원에 기재된 내용 전체는 본 명세서에서 참조로 이용된다.
본 발명은 일반적으로 비디오 프레임들을 처리하는 방법, 시스템, 컴퓨터 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체 및 컴퓨터 시스템에 관련되며, 보다 상세하게는 움직임 보상 시간 필터링(Motion Compensated Temporal Filtering:MCTF)에서 이용되는 I-블록들을 처리하는 방법, 시스템, 컴퓨터 프로그램 제품 및 컴퓨터 시스템에 관한 것이다.
연속적인 비디오 프레임들 내의 픽셀들에 대해서 움직임 보상 시간 필터링(Motion Compensated Temporal Filtering:MCTF)을 수행하는 종래의 방법은 시간의 경과에 따라서 프레임들이 진행될수록 공간 영역들의 커버링(covering) 및 언커버링(uncovering)으로 인해서 연속적인 프레임들 내의 픽셀들 사이에 열악한 매치를 발생시킨다. 이러한 열악한 매치는 시간의 경과에 따라 객체들이 서로 다른 객체의 전면을 통과할 때의 폐쇄 효과(occlusion effect)에 의하여 발생될 수 있다. 열악한 매치는 확장 또는 수축되는 경치(view)의 이미지 필드와 같은 다른 효과에 의해서도 발생될 수 있다. 결과적인 열악한 매치는 낮은 코딩 효율 뿐만 아니라 MCTF로부터 출력되는 낮은 프레임율(frame-rate)의 비디오에서 결함을 초래하게 된다.
따라서, 종래 기술보다 더욱 효율적 및/또는 정확하게 연속적인 비디오 프레임들내의 픽셀들의 움직임 보상 시간 필터링(Motion Compensated Temporal Filtering:MCTF)에서 열악한 매치를 다루는 방법이 요구된다.
본 발명은 비디오 프레임들을 처리하는 방법에 있어서,
프레임들의 각 쌍은 프레임 A 및 프레임 B로 구성되고, 상기 프레임 A 및 B 각각은 픽셀들의 블록들을 구비하며, 상기 프레임 A는 시간상 상기 프레임 B 보다 선행하는, 한 쌍의 연속적인 비디오 프레임들을 제공하는 단계;
상기 프레임 A의 픽셀들과 관련된 상기 프레임 B의 각 픽셀들의 연결된 상태 또는 비연결된 상태인 연결 상태를 결정하는 단계;
상기 프레임 B의 각 블록을 비연결된 것 또는 단일 연결된 것 중 하나로 분류하는 단계;
상기 분류 후에, 재분류 기준을 만족하는 상기 프레임 B의 단일 연결된 블록들을 비연결된 것으로 재분류하는 단계;
상기 재분류 후에, 상기 프레임 B의 각 비연결된 블록을 P-블록 또는 I-블록으로 카테고리를 나누는 단계;
상기 카테고리를 나눈 후에, 각 I-블록과 관련된 이용가능한 최근접 이웃 픽셀들의 값들에 기초한 공간 보간에 의하여 상기 프레임 B의 각 I-블록의 픽셀들의 값들을 계산하는 단계; 및
상기 계산 후에, 상기 프레임 B의 각 I-블록에 대한 레지듀얼 에러 블록을 생성하는 단계를 포함하는 것을 특징으로 하는 방법을 제공한다.
본 발명은 프레임들의 각 쌍은 프레임 A 및 프레임 B로 구성되고, 상기 프레임 A 및 B 각각은 픽셀들의 블록들을 구비하며, 상기 프레임 A는 시간상 상기 프레임 B 보다 선행하는, 한 쌍의 연속적인 비디오 프레임들을 처리하는 시스템에 있어서,
상기 프레임 A의 픽셀들과 관련된 상기 프레임 B의 각 픽셀들의 연결된 상태 또는 비연결된 상태인 연결 상태를 결정하는 수단;
상기 프레임 B의 각 블록을 비연결된 것 또는 단일 연결된 것 중 하나로 분류하는 수단;
재분류 기준을 만족하는 상기 프레임 B의 단일 연결된 블록들을 비연결된 것으로 재분류하는 수단;
상기 프레임 B의 각 비연결된 블록들을 P-블록 또는 I-블록으로 카테고리를 나누는 수단;
각 I-블록과 관련된 이용가능한 최근접 이웃 픽셀들의 값들에 기초한 공간 보간에 의하여 상기 프레임 B의 각 I-블록의 픽셀들의 값들을 계산하는 수단; 및
상기 프레임 B의 각 I-블록에 대한 레지듀얼 에러 블록을 생성하는 수단을 포함하는 것을 특징으로 하는 컴퓨터 시스템을 제공한다.
본 발명은 컴퓨터로 읽을 수 있는 구체화된 프로그램 코드를 구비한 컴퓨터 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체에 있어서, 상기 컴퓨터로 읽을 수 있는 프로그램 코드는 비디오 프레임들을 처리하는 방법을 실행하기에 적합한 알고리즘을 구비하며, 상기 방법은,
프레임들의 각 쌍은 프레임 A 및 프레임 B로 구성되고, 상기 프레임 A 및 B 각각은 픽셀들의 블록들을 구비하며, 상기 프레임 A는 시간상 상기 프레임 B 보다 선행하는, 한 쌍의 연속적인 비디오 프레임들을 제공하는 단계;
상기 프레임 A의 픽셀들과 관련된 상기 프레임 B의 각 픽셀들의 연결된 상태 또는 비연결된 상태인 연결 상태를 결정하는 단계;
상기 프레임 B의 각 블록을 비연결된 것 또는 단일 연결된 것 중 하나로 분류하는 단계;
상기 분류 후에, 재분류 기준을 만족하는 상기 프레임 B의 단일 연결된 블록들을 비연결된 것으로 재분류하는 단계;
상기 재분류 후에, 상기 프레임 B의 각 비연결된 블록들을 P-블록 또는 I-블록으로 카테고리를 나누는 단계;
상기 카테고리를 나눈 후에, 각 I-블록과 관련된 이용가능한 최근접 이웃 픽셀들의 값들에 기초한 공간 보간에 의하여 상기 프레임 B의 각 I-블록의 픽셀들의 값들을 계산하는 단계; 및
상기 계산 후에, 상기 프레임 B의 각 I-블록에 대한 레지듀얼 에러 블록을 생성하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품을 제공한다.
본 발명은 처리부, 상기 처리부에 연결된 컴퓨터로 읽을 수 있는 메모리 유니트를 구비하는 컴퓨터 시스템에 있어서, 상기 메모리 유니트는 상기 처리부에 의해서 실행될 때 비디오 프레임들을 처리하는 방법을 실행하는 지시들을 구비하고, 상기 방법은,
프레임들의 각 쌍은 프레임 A 및 프레임 B로 구성되고, 상기 프레임 A 및 B 각각은 픽셀들의 블록들을 구비하며, 상기 프레임 A는 시간상 상기 프레임 B 보다 선행하는, 한 쌍의 연속적인 비디오 프레임들을 제공하는 단계;
상기 프레임 A의 픽셀들과 관련된 상기 프레임 B의 각 픽셀들의 연결된 상태 또는 비연결된 상태인 연결 상태를 결정하는 단계;
상기 프레임 B의 각 블록을 비연결된 것 또는 단일 연결된 것 중 하나로 분류하는 단계;
상기 분류 후에, 재분류 기준을 만족하는 상기 프레임 B의 단일 연결된 블록들을 비연결된 것으로 재분류하는 단계;
상기 재분류 후에, 상기 프레임 B의 각 비연결된 블록들을 P-블록 또는 I-블록으로 카테고리를 나누는 단계;
상기 카테고리를 나눈 후에, 각 I-블록과 관련된 이용가능한 최근접 이웃 픽셀들의 값들에 기초한 공간 보간에 의하여 상기 프레임 B의 각 I-블록의 픽셀들의 값들을 계산하는 단계; 및
상기 계산 후에, 상기 프레임 B의 각 I-블록에 대한 레지듀얼 에러 블록을 생성하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 시스템을 제공한다.
본 발명은 연속적인 비디오 프레임들의 픽셀들의 움직임 보상 시간 필터링(MCTF)에서 객체의 폐쇄(occlusion)를 다루는 훌륭한 방법을 제공하며, 본 발명에 따른 방법은 종래 기술에 존재하는 방법에 비하여 더욱 효율적 및/또는 정확한 것이다.
이하에서, 서론; 움직임 보상 시간 필터링(Motion Compensated Temporal Filtering:MCTF); I-블록들의 처리; 및 컴퓨터 시스템의 4 부분으로 나누어 본 발명에 대하여 상세하게 설명한다.
서론
비디오 압축 방식들은 입력 비디오 신호의 전송에 앞서서, 상기 입력 비디오 신호의 프레임들에 의하여 구성된 근사적인 영상들을 표현하는 압축된 정보로 상기 입력 비디오 신호들의 프레임들을 인코딩함으로써 상기 입력 비디오 신호로부터 여분의(redundant) 정보를 제거한다. 목적지에 압축된 정보를 전송하면, 비디오 신호는 압축된 정보로부터 근사적인 영상을 디코딩함으로써 재구성된다. 시간적 리던던시에 있어서, 픽셀값들은 독립적이지 못하고 입력 비디오 신호의 연속적인 프레임들에 걸쳐서 그들의 이웃들과 상호 관련되어 있다.
동영상 전문가 그룹(Motion Picture Expert Group:MPEG)의 하이브리드 코딩방식에서, 시간적 리던던시는 움직임-보상 예측(Motion-Compensated Prediction:MCP)에 의하여 제거될 수 있다. 비디오 신호는 흔히 일련의 픽쳐 그룹들(Group Of Picture:GOP)로 분할되고, 각 GOP는 인트라 코딩된 프레임(I)부터 시작하여, 전방향 예측 코딩된 프레임들(P) 및 양방향 예측된 프레임들(B)로 된 배열이 그 뒤를 잇는다. 상기 P-프레임들 및 B-프레임들 모두는 인터 프레임들이다. P-프레임내의 타겟 매크로블록은 과거의 참조 프레임으로부터 예측될 수 있다(전방향 예측). 움직임 보상(MC) 보간이라고도 불려지는 양방향 예측은 MPEG 비디오의 중요한 특징 중의 하나다. 양방향 예측 코딩된 B-프레임들은 과거와 미래에서 하나씩 2개의 참조 프레임들을 이용한다. B-프레임내의 타겟 매크로블록은 과거의 참조 프레임으로부터 예측되거나(전방향 예측) 미래의 참조 프레임으로부터 예측되거나(역방향 예측), 과거와 미래의 각 참조 프레임으로부터 각각 예측된 2개의 예측 매크로블록의 평균치(보간)에 의하여 예측될 수 있다. P-프레임 또는 B-프레임 중 어느 하나의 타겟 매크로 블록은 뒤에서 정의되는 바와 같이 I-블록 또는 P-블록으로서 인트라 코딩될 수 있다.
현재 입력 프레임 및 참조 프레임 모두에서 픽셀들의 휘도 및/또는 색차 값을 고려하고, 이전의 또는 다음의 참조 프레임 각각의 내용에 기반하여, 전방향 또는 역방향 예측은 현재 입력 프레임(즉, 픽쳐)내의 데이터를 부호화한다. 따라서 예측 부호화에 이용되는 참조 프레임은 이전의 참조 프레임이거나 다음의 참조 프레임 중 하나이다. 현재 입력 프레임 내의 소정 입력 블록의 화소들(예를 들어 16×16 배열의 화소들)에 대해서, 예측 부호화는 소정의 탐색 범위 내에서, 연속적으로 상기 블록을 참조 프레임 내에서 이동시키는 움직임 보상 예측(MCP)을 이용하여, 참조 프레임 내에서 상기 입력 블록과 적어도 소정의 최소 상관 관계 정도를 갖는 16×16 픽셀 배열이 존재하는지를 결정한다. 만약 상기 소정의 최소 상관 관계 정도를 갖는 배열이 존재한다면, 발견된 상기 참조 프레임의 16×16 픽셀 배열과 입력 블록 사이의 변위의 크기 및 방향이 수평 및 수직 성분을 갖는 움직임 벡터(Motion Vector:MV) 형태로 얻어진다. 입력 블록의 픽셀값들(예를 들어, 휘도값, 색차값 등)과 상기 발견된 참조 프레임의 16×16 픽셀 배열 내부의 대응되는 픽셀과의 상대적인 값의 차이는 움직임 보상 예측 에러값들이다. 전술한 바와 같이, 이전의 참조 프레임으로부터의 예측은 전방향 예측으로 언급되고, 다음의 참조 프레임으로부터의 예측은 역방향 예측이라고 언급된다. 만약 참조 프레임에서 관련된 16×16 블록이 탐색 범위 내에서 발견되지 않는다면, 입력 블록은 입력 프레임 내에서 인트라 코딩되고, I-블록으로 언급된다. 양방향 예측에 있어서, 입력 블록의 값들은 이전 및 다음의 참조 프레임 각각에 존재하는 2개의 16×16 블록들에 기반하여 예측될 수 있다. 전술한 16×16 픽셀 블록에 대한 설명은 예시적인 것에 불과하며, 본 발명에 따른 사상은 다른 다양한 픽셀 배열 크기를 갖는 픽셀 블록들에 대해서도 적용될 수 있다.
본 발명에 있어서, 현재 입력 프레임 내부의 비연결된 블록은 I-블록 또는 P-블록 중 어느 하나로 분류된다. I-블록은 프레임에 관하여 전방향 또는 역방향 예측에 이용되는 참조 프레임 내의 대응되는 블록의 픽셀들과 충분한 상관 관계(예를 들어, 소정의 최소 상관 관계 정도)를 갖지 않는 현재 입력 프레임 내의 입력 블록으로 정의된다. 충분한 상관 관계의 부족으로 인해서, I-블록은 참조 프레임과 독립적으로 소정의 프레임 내에서 전체로 인코딩된다. P-블록은 참조 프레임이 소정 프레임에 선행한다는 전제하에 참조 프레임으로부터 전방향 예측에 의하여; 참조 프레임이 소정 프레임의 뒤를 잇는다는 가정하에서 역방향 예측에 의하여; 또는 이전 및 다음의 참조 프레임 모두를 이용하는 양방향 예측에 의하여 인코딩된다.
I-블록의 예로 이전의 프레임에서 대응되는 픽셀을 갖지 않는 현재 입력 프레임내의 새롭게 노출된 픽셀들의 블록을 들 수 있다. I-블록의 다른 예들로, 특히 현재 입력 프레임에서 부분적으로 덮어지거나 또는 부분적으로 폐쇄된 픽셀들과 같이 잘 매치되지 않는 움직임 블록들이 포함된다. 여기서 잘 매치되지 않는 움직임 블록들은 참조 프레임의 대응되는 블록 픽셀들과 충분한 상관 관계를 갖지 못한다. 본 발명은 I-블록들을 결정하고 부호화하는 방법을 제공한다.
정의
본 발명을 설명함에 있어서 사용되는 용어를 다음과 같이 정의한다.
"비디오 코딩 시스템"은 비디오 데이터를 부호화하는 시스템이다.
"비디오 코더"는 리던던시를 제거하고 제어된 왜곡을 도입함으로써 비디오 클립을 저장하는데 필요한 비트 수를 감소시키는 알고리즘이다.
"서브밴드/웨이블릿 코더"는 리던던시 감소 과정에 있어서 서브밴드/웨이블릿 변환을 사용하는 비디오 코더이다.
"시간적 상관관계"는 인접한 또는 가까운 프레임들의 픽셀들 사이의 상관관계이다.
"공간적 상관관계"는 동일한 프레임 내의 픽셀들 사이의 상관관계이다.
"움직임 예측"은 다른 프레임의 매칭되는 블록을 위치시키는 움직임 또는 변위 벡터의 예측이다.
"움직임 보상(MC)"은 현재 프레임 내의 블록을 다른 프레임 내의 매칭되는 블록에 실제적으로 정렬시키는 과정이다.
"움직임 보상 시간 필터링(MCTF)"는 후술되는 도 2와 관련하여 기술되는 방식으로 블록 또는 픽셀들의 배열을 시간축(즉, 움직임 경로(trajectory))을 따라서 필터링하는 과정이다.
"저(low) 시간 프레임"은 한 쌍(또는 더 큰 집합)의 프레임들에서 공통되는 낮은 공간 주파수를 포함하는 프레임이다.
"고(high) 시간 프레임"은 한 쌍(또는 더 큰 집합)의 프레임들에서 MC 차이를 구성하는 높은 공간 주파수를 포함하는 프레임이다.
"시간적 리던던시"는 인접한 또는 가까운 프레임들의 픽셀들 사이의 상호의존성(dependancy)을 나타낸다.
"블록 매칭"은 어느 한 프레임으로부터 인접한 또는 가까운 프레임으로 픽셀 블록의 움직임을 예측하는 방법이다.
"가변 크기 블록 매칭"은 움직임 필드를 더 잘 나타내기 위하여 가변 크기 블록을 사용하는 블록 매칭 움직임 예측이다. 블록 크기는, 특히, 4×4 부터 64×64의 범위일 수 있다.
"전역 움직임 벡터"는 관련된 블록 크기가 프레임 크기와 동일한 전체 프레임에 이용되는 움직임 벡터이다.
"국부 움직임 벡터 필드"는 전체 프레임보다 작은 블록들의 사용에 의하여 발생되는 움직임 벡터 배열이다.
"움직임 보상 예측(MCP)"은 움직임 벡터들을 현재 프레임의 예측을 위한 사용에 앞서서 이전에 전송된 프레임을 이동(warp)하고, 결과적인 예측 에러만을 양자화하여 전송하는 데이터 감소 기술이다.
"변위 프레임 차이(Displaced frame difference(DFD)"는 움직임 보상 예측에 의하여 발생되는 에러이다.
"하이브리드 코더"는 시간적으로 데이터를 압축하기 위해 피드백 루프 내에서 MC 예측을 사용하는 비디오 코더 및 다음으로 결과 예측 에러를 코딩하기 위한 공간 변환 코더이다.
움직임 보상 시간 필터링(Motion Compensated Temporal Filtering: MCTF )
스케일러블 비디오 코딩은 국제 표준화 기구(ISO)의 동영상 전문가 그룹(MPEG)내에서 조사되는 분야이다. MPEG의 목적은 결합된 오디오 및 비디오 신호의 전송 및 저장에 관련된 국제적인 표준을 마련하는 데에 있다. 이를 위한 핵심 요소는 시청각적 신호의 비압축시 큰 크기로 인해, 이러한 시청각적 신호를 압축하는데에 있다. 스케일러블 비디오 코더는, 스케일러블 코더에 입력되는 풀(full) 프레임율 및 풀 해상도에 부가하여, 모든 범위의 비트레이트, 더 낮은 해상도 및 더 낮은 프레임율을 포함하는 임베딩된 비트스트림을 제공한다. 상기 임베딩으로 인해서, 더 낮은 비트율 결과는 더 높은 비트율을 갖는 스트림들 각각에 임베딩된다.
도 1은 본 발명의 바람직한 실시예들에 따른 비디오 코딩 시스템(50)을 도시한 것이다. 입력 비디오(51)는 MCTF 처리부(52)에 의하여 수신되고, 16개의 입력 프레임들과 같은 픽쳐들의 그룹(GOP)을 포함한다. 각 프레임은 픽셀들을 갖고, 각 픽셀은 휘도 및 색차의 픽셀 특징을 위한 픽셀값을 갖는다. MCTF 처리부(52)에 의하여 처리되는 각 블록 데이터에 대해서, 상기 MCTF 처리부(52)는 움직임 벡터 형태의 움직임 정보를 필요로 한다. 따라서, 상기 입력 비디오(51) 데이터는 상기 MCTF 처리부(52)로부터, 움직임 벡터들을 결정하고 결정된 움직임 벡터를 다시 움직임 보상 시간 필터링을 수행하는 상기 MCTF 처리부(52)로 전송하는 움직임 예측부(56)에 전송된다. 또한, 움직임 정보는 움직임 필드 코딩 처리부(57)에서 코딩된 다음, 패킷화부(55)로 전송된다.
MCTF 처리부(52)는 후술되는 도 2에 대한 설명에서 기술되는 바와 같이, 입력 비디오(51)의 입력 프레임들로부터 유도되는, 변환된 픽셀값들을 갖는 하나의 저시간 프레임 및 복수 개의 고 시간 프레임들을 포함하는 출력 프레임들을 발생한다. 발생된 출력 프레임들은 서브밴드 웨이블릿 코더, 즉 이산 웨이블릿 변환을 이용하여 공간적으로 분석됨으로써 공간 분석부(53)에 의하여 처리된다. MCTF 처리부(52)를 사용함으로써, 비디오 코딩 시스템(50)은 피드백 루프를 갖는 하이브리드 코더들에서 보여지는 유동성(drift) 문제를 겪지 않는다.
공간 분석부(53)는 발생된 출력 프레임들(즉, 하나의 저 시간 프레임 및 복수개의 고 시간 프레임들)을 하나의 낮은 주파수 대역 및 점점 더 높은 주파수의 증가하는 스케일을 갖는 대역들로 분해한다. 따라서, 상기 공간 분석부(53)는 시간 영역에서 상기 MCTF 처리부(52)에 의하여 수행되는 픽셀 변환과 유사한 방식으로 공간 서브밴드들을 유도하기 위한 공간적 픽셀 변환을 수행한다. 공간 분석부(53)의 출력은 압축되지 않은 부동 소수점(floating point) 데이터이고, 많은 수의 서브밴드들은 대부분 0 값 근처의 값으로 구성될 수 있다.
상기 공간 분석부(53)에 의하여 발생되는 공간에서 이러한 공간 서브밴드들은 품질/비트율, 공간 해상도 및 프레임율에 완전히 임베드되지 않은 시간적 상관관계를 이용하는 서브밴드/웨이블릿 코더 계열 중 하나인 EZBC(Embedded Zero Block Coder)(54)로 전송된다. 상기 EZBC(54) 알고리즘은 각 공간 해상도와 고 시간 서브밴드들을 개별적으로 코딩함으로써 기본적인 스케일러빌리티(scalability) 특성을 제공한다. 상기 EZBC(54)는 서브밴드 계수들을 양자화하고 상기 양자화된 서브밴드 계수들에 비트를 할당하는 압축 블록을 포함한다. 상기 양자화는 상기 공간 분석부(53)의 부동 소수점 출력을 이진 비트 표현으로 변환하고, 이어서 오직 무시할만한 왜곡이 발생될 정도로 상기 이진 비트 표현을 단축(truncation)함으로써 상대적으로 중요하지 않은 비트를 폐기한다. 상기 EZBC(54)는 고정된 비트 스트링을 가변 길이 스트링으로 변환하고, 그 결과 추가적인 압축을 실현하는 적응적 산술 코더이다. 따라서, 상기 EZBC(54)는 양자화기 및 조건부 적응적 산술 코더(Conditional Adaptive Arithmetic Coder)라고 불리는 가변 길이 코더이다. 반면에 양자화기는 비트를 버리는 것이고, 상기 가변 길이 코더는 상기 양자화기로부터의 출력을 손실없이 압축한다. 상기 EZBC(54)에 의하여 발생된 비트스트림은 인터리브되어 상기 패킷화부(55)로 전송된다.
상기 패킷화부(55)는 상기 EZBC(54)에 의하여 발생된 스트림들의 비트들과 움직임 필드 코딩부(57)로부터 전송된 (나중의 디코딩을 위해 필요한) 움직임 벡터들의 비트들을 결합하고, 원하는 크기의 패킷들(예를 들어 500 킬로바이트 또는 그 이하의 인터넷 패킷들)로 비트들의 조합을 분해한다. 상기 패킷화부(55)는 이어서 상기 패킷을 통신 채널을 통해 목적지(예를 들어 부호화된 비디오 정보를 저장하는 소정의 저장 영역)에 보낸다.
도 2는 본 발명의 바람직한 실시예들에 따라서, 예시적으로 16개의 프레임 크기를 갖는 GOP에 대하여 상기 도 1의 MCTF 처리부(52)에 의하여 구현되는 MCTF 처리 과정을 도시한 것이다. 도 2에서, 연속적인 필터링의 MCTF 처리과정에서의 5 레벨, 즉 각각 16,8,4,2 및 1 프레임들을 갖는 레벨 5,4,3,2 및 1을 도시하고 있다. 따라서, 각 레벨 N(N=1,2,3,4,5)은 2N-1 개의 프레임들을 포함한다. 레벨 5는 상기 도 1의 입력 비디오(51)의 16개의 입력 프레임들, 즉 왼쪽에서부터 오른쪽으로 증가하는 방향의 순서로 배열된 입력 프레임 F1, F2, ..., F16을 포함한다. MC 시간 필터링은 다음 하위 시간 스케일 또는 프레임율의 저시간 (t-L) 및 고시간(t-H) 서브 밴드 프레임들을 생성하기 위하여 프레임쌍들에 대하여 수행된다. 도 2에서, 실선들은 저시간 프레임들을 가리키고, 점선은 고시간 프레임들을 가리킨다. 각 시간 스케일에서, 곡선은 대응되는 움직임 벡터들을 가리킨다.
도 2에서, MC 시간 필터링은 4번 수행되어 5개의 시간 스케일 또는 프레임율들, 즉 원 프레임율 및 네 개의 더 낮은 프레임율들을 발생한다. 상기 발생된 프레임율들은 레벨 5,4,3,2 및 1 각각에서 풀(full)레이트, 1/2 풀레이트, 1/4 풀레이트, 1/8 풀레이트 및 1/16 풀레이트이다. 따라서, 만약 입력 프레임율이 초당 32 프레임들(frames per second:fps)라면, 레벨 1에서의 최저 결과 프레임율은 2fps이다. 도 2에서, 최적 프레임율은 (1)로 표시하였으며, 다음 상위의 프레임율은 (2) 등으로 표시하였다.
레벨 5로부터 레벨 4까지의 움직임 예측 및 관련된 시간 필터링에서, 상기 도 1의 움직임 예측부(56)는 F1으로부터 F2, F3로부터 F4, F5로부터 F6, F7으로부터 F8, F9으로부터 F10, F11으로부터 F12, F13으로부터 F14, 및 F15로부터 F16으로의 움직임 예측을 수행하여 각각 관련된 움직임 벡터들 M1, M2, M3, M4, M5, M6, M7 및 M8을 결정한다. 상기 도 1의 MCTF 처리부(52)는 프레임 F1 및 F2에 대한 시간 필터링을 수행하여 저시간 프레임 L1 및 고시간 프레임 H1을 발생; 프레임 F3 및 F4에 대한 시간 필터링을 수행하여 저시간 프레임 L2 및 고시간 프레임 H2를 발생; 프레임 F5 및 F6에 대한 시간 필터링을 수행하여 저시간 프레임 L3 및 고시간 프레임 H3를 발생; 프레임 F7 및 F8에 대한 시간 필터링을 수행하여 저시간 프레임 L4 및 고시간 프레임 H4을 발생; 프레임 F9 및 F10에 대한 시간 필터링을 수행하여 저시간 프레임 L5 및 고시간 프레임 H5을 발생; 프레임 F11 및 F12에 대한 시간 필터링을 수행하여 저시간 프레임 L6 및 고시간 프레임 H6을 발생; 프레임 F13 및 F14에 대한 시간 필터링을 수행하여 저시간 프레임 L7 및 고시간 프레임 H7을 발생; 및 프레임 F15 및 F16에 대한 시간 필터링을 수행하여 저시간 프레임 L8 및 고시간 프레임 H9을 발생한다. 일반적으로, 자식 프레임들에서 대응되는 픽셀 값들을 VA 및 VB라고 하면, 하르(Haar) 필터들이 시간 필터링에 사용되는 특수한 경우에 있어서, 저시간 및 고시간 프레임들에서 대응되는 픽셀값들은 각각 VA+VB 및 VA-VB에 비례한다. 따라서, 저시간 프레임들의 픽셀값들은 자식 프레임들에서 대응되는 픽셀값들의 평균에 비려한다. 반대로, 고시간 프레임들의 픽셀값들은 자식 프레임들에서 대응되는 픽셀값들 사이의 차이에 비례한다. 따라서, 자식 프레임들에서 픽셀값들이 서로 가깝다면, 고시간 프레임의 픽셀들은 낮은 에너지(즉, 많은 수의 값이 0 근처에 있음)를 갖고, 이로 인해 더 크게 압축할 수 있다.
레벨 4로부터 레벨 3으로의 움직임 예측 및 관련된 시간 필터링에서, 상기 도 1의 움직임 예측부(56)는 L1으로부터 L2, L3로부터 L4, L5로부터 L6, 및 L7으로부터 L8으로의 움직임 예측을 수행하여 각각 관련된 움직임 벡터들 M9, M10, M11 및 M12를 결정한다. 상기 도 1의 MCTF 처리부(52)는 프레임 L1 및 L2에 대한 시간 필터링을 수행하여 저시간 프레임 L9 및 고시간 프레임 H9을 발생; 프레임 L3 및 L4에 대한 시간 필터링을 수행하여 저시간 프레임 L10 및 고시간 프레임 H10를 발생; 프레임 L5 및 L6에 대한 시간 필터링을 수행하여 저시간 프레임 L11 및 고시간 프레임 H11을 발생; 및 프레임 L7 및 L8에 대한 시간 필터링을 수행하여 저시간 프레임 L12 및 고시간 프레임 H12을 발생한다.
레벨 3으로부터 레벨 2로의 움직임 예측 및 관련된 시간 필터링에서, 상기 도 1의 움직임 예측부(56)는 L9으로부터 L10, 및 L11로부터 L12로의 움직임 예측을 수행하여 각각 관련된 움직임 벡터들 M13 및 M14를 결정한다. 상기 도 1의 MCTF 처리부(52)는 프레임 L9 및 L10에 대한 시간 필터링을 수행하여 저시간 프레임 L13 및 고시간 프레임 H13을 발생; 및 프레임 L11 및 L12에 대한 시간 필터링을 수행하여 저시간 프레임 L14 및 고시간 프레임 H14를 발생한다.
레벨 2로부터 레벨 1로의 움직임 예측 및 관련된 시간 필터링에서, 상기 도 1의 움직임 예측부(56)는 L13으로부터 L14로의 움직임 예측을 수행하여 관련된 움직임 벡터들 M15를 결정한다. 상기 도 1의 MCTF 처리부(52)는 프레임 L13 및 L14에 대한 시간 필터링을 수행하여 저시간 프레임 L15 및 고시간 프레임 H15를 발생한다.
상기 도 2의 MCTF 수행 결과, 이 예시적인 5개의 레벨에서 저시간 프레임 L15 및 고시간 프레임들 H1, H2, ..., H15로 구성된 16개의 프레임들은 상기 MCTF 처리부(52)로부터 출력으로서 상기 도 1의 공간 분석부(53)로 전송된다. 전술한 바와 같이, 상기 고시간 프레임들 H1, H2, ..., H15은 많은 수의 0값 근처의 값들을 포함하기 때문에, 상기 고시간 프레임들 H1, H2, ..., H15은 높은 압축이 가능하다.
L15, H1, H2, ..., H15의 프레임들이 주어지면, 레벨 2,3,4 및 5의 프레임들은 상기 L15, H1, H2, ..., H15의 프레임들을 발생하는 과정을 순차적으로 반대로 함으로써 재생성될 수 있다. 예를 들면, 레벨 1의 프레임 L15 및 H15는 수학적으로 결합되어 레벨 2의 L13 및 L14를 재생성한다. 유사하게, 레벨 2의 L13 및 H13은 수학적으로 결합되어 레벨 3의 L9 및 L10 프레임들을 재생성하고, 레벨 2의 L14 및 H14는 수학적으로 결합되어 레벨 3의 L11 및 L12를 재생성한다. 이러한 과정은 레벨 1의 F1, F2, ..., F16의 프레임들의 재생성될 때까지 순차적으로 계속될 수 있다. 상기 도 1의 EZBC(54)에 의하여 수행되는 압축은 손실적이기 때문에, 상기 레벨 2-5의 재생성된 프레임들은 시간적으로 필터되기 전의 레벨 2-5의 원래 프레임들과 정확하지는 않지만 대략적으로 동일할 것이다.
I-블록들의 처리
도 2와 관련하여 전술한 바와 같이, MCTF 분해는 복수 개의 프레임쌍들에 대하여 유사하게 적용되기 때문에, 상기 도 2의 한 레벨에서 대표적인 한 쌍의 연속적인 프레임들(예를 들어, 레벨 4의 프레임 L1 및 L2)에 초점을 맞추기로 한다. 이러한 한 쌍의 연속적인 프레임들의 2개 대표 프레임들을 프레임 A 및 B라고 나타내며, 전방향 예측은 프레임 A로부터 프레임 B로 수행되어서, 프레임 A가 프레임 B보다 시간적으로 선행된다. 프레임 B에서 새롭게 노출된 픽셀들은 프레임 A에 대응되는 픽셀들이 없다. 유사하게, 픽셀 A에서 보이지 않던 픽셀들은 픽셀 B에서 대응되는 픽셀들이 없다. 본 발명은 프레임 B에서 새롭게 노출되는 픽셀들로부터 유발되는 열악하게 매칭되는 움직임 블록들을 국부적으로 처리하기 위하여 I-블록들을 사용한다. 후술되는 바와 같이 본 발명에 따라서 식별되는 I-블록들에 대해서, MC 시간 필터링은 생략되고 I-블록에서의 픽셀값을 결정하는 대신에 공간 보간이 이용된다. I-블록에 대한 결과적인 공간 보간 에러 블록(또한 "보간된 I-블록의 레지듀얼 에러 블록"이라고 함)은 다음으로 관련된 MCTF 고 시간 프레임의 대응되는 블록에 오버레이(즉, 삽입)된다.
본 발명은 입력 프레임 A 및 B를 갖는 대표 쌍과 같이, 입력 프레임들의 쌍들에서 움직임 보상된 블록들을 이용하는 시공간적 또는 공간-시간 변환을 포함하는 비디오 압축 방법을 개시한다. 이러한 블록들은 다양한 크기를 갖고 국부 움직임 벡터 필드에 매치되도록 선택되어서, 높은 공간 변화도(gradient)를 갖는 필드에서는 작은 블록들이 존재하고, 공간 변화도가 작은 좀 더 평평한 영역에서는 큰 블록들이 존재하게 된다. 이러한 움직임 필드에 기반한 블록은 대략적인 움직임 경로를 따라 필터를 수행하기 위해서 시공간적 변환을 제어하는데 이용된다. 이러한 변환의 결과는 전송 또는 저장을 위해 압축된다.
일부 블록들은 예를 들어 정적인 배경 객체의 앞을 지나가는 공과 같은 움직임으로 인해서 프레임에서 덮어지거나 노출되는 영역들 때문에 (시간상으로) 다음 프레임의 이웃들에 연결되지 않을 수도 있다. MC 시간 필터링이 낮은 프레임율의 비디오에서 결함을 초래할 수도 있기 때문에, 그러한 영역들(즉, I-블록들)은 MC 시간 필터링에 참가해서는 안된다. 이러한 I-블록들은 고시간 프레임의 다른 블록들(즉, P-블록)을 따라서 압축될 필요가 있다. P-블록들은 공간 보간을 통해 비연결된 I-블록들을 공간적으로 예측하는데 이용될 수 있다. 이러한 I-블록들은 따라서 비하이브리드(non-hybrid) MCTF를 대상으로 하는 것이 적합하다.
도 3은 본 발명의 바람직한 실시예들에 따라서, MCTF 고시간 프레임들에서 I-블록들을 이용하는 단계 31-38을 도시한 플로우 차트이다.
단계 31에서 하나의 MCTF 필터링 레벨에서 두 개의 연속적인 프레임들 A 및 B를 이용하여, 프레임 A로부터 프레임 B로 전방향 예측이 수행된다. 예를 들면, 프레임 A 및 B는 상기 도 2의 레벨 5에서 프레임 F1 및 F2, 또는 상기 도 2의 레벨 4의 프레임 L1 및 L2를 나타낼 수 있다.
단계 32 및 33에서 프레임 A 및 B 각각의 픽셀들의 연결 상태를 결정한다. 프레임 A 및 B 내의 각 픽셀은 다음과 같이 "연결된" 또는 "비연결된" 것 중 하나의 연결 상태를 갖는 것으로 분류될 것이다. 도 4는 프레임 A의 A1, A2, ..., A12 픽셀들 및 프레임 B의 B1, B2, .., B12 픽셀들을 도시하고 있다. 픽셀 A1, A2, A3 및 A4는 프레임의 A의 블록 1 내에 존재한다. 픽셀 A5, A6, A7 및 A8는 프레임의 A의 블록 2 내에 존재한다. 픽셀 A9, A10, A11 및 A12는 프레임의 A의 블록 3 내에 존재한다. 픽셀 B1, B2, B3 및 B4는 프레임의 B의 블록 1 내에 존재한다. 픽셀 B5, B6, B7 및 B8는 프레임의 B의 블록 2 내에 존재한다. 픽셀 B9, B10, B11 및 B12는 프레임의 B의 블록 3 내에 존재한다. 프레임 A 내의 픽셀들은 프레임 A로부터 프레임 B로의 전방향 움직임 예측과 관련하여 프레임 B 내의 픽셀들을 위한 참조로서 이용된다. 프레임 A 및 B의 블록들이 4×4 픽셀 블록들이며, 상기 도 4는 단지 각 4개의 열 블록들 중 하나의 열만을 도시하고 있음에 유의한다. 도 4에서, 프레임 B의 한 픽셀 PB로부터 화살표로 가리켜지는 프레임 A의 한 픽셀 PA는 상기 픽셀 PB의 참조로서 이용되고 있다. 예를 들면, 프레임 A의 픽셀 A1은 프레임 B의 픽셀 B1의 참조로서 이용되고 있다.
단계 32에서, 프레임 A의 한 픽셀은 프레임 B의 어떤 픽셀에 의해서도 참조로서 이용되지 않는다면 비연결된 것으로 분류된다. 따라서, 픽셀 A7 및 A8은 비연결되었다. 프레임 A의 한 픽셀은 프레임 B의 픽셀에 의하여 참조로서 이용되면 연결된 것이다. 따라서, 픽셀 A1-A6 및 A9-A12는 연결된 것이다. 그러나, 픽셀 A3 및 A4 각각은 프레임 B의 하나 이상의 픽셀에 의하여 참조로서 이용되고 있기 때문에 특별한 취급을 필요로 한다. 예를 들면, 픽셀 A3는 프레임 B의 픽셀 B3 및 B5에 의하여 참조로서 이용되고 있고, 본 발명은 픽셀 B3 및 B5 모두에 대한 것이 아니라 픽셀 B3 또는 픽셀 B5 중 하나의 참조로서 픽셀 A1을 유지하기 위한 (하기에서 정의되는 바와 같은) 최소 제곱-평균 변위 프레임 차이(minimum mean-squared displaced frame difference(DFD)) 계산에 기반한 알고리즘을 이용한다. 픽셀 A3은 프레임 A의 블록 1 내부에 존재하고, 픽셀 B3는 프레임 B의 블록 1 내부에 존재한다는 점에 유의하면, 상기 알고리즘은 프레임 A의 블록 1과 프레임 B의 블록 1 사이의 제곱-평균 DFD인 DFD11을 계산한다. 픽셀 A3는 프레임 A의 블록 1 내부에 있고, 픽셀 B5는 프레임 B의 블록 2 내부에 있는 점에 유의하면, 상기 알고리즘은 프레임 A의 블록 1과 프레임 B의 블록 2 사이의 제곱-평균 DFD인 DFD12를 계산한다. 만약 DFD11이 DFD12보다 작으면, 픽셀 A3는 픽셀 B3의 참조로서 유지되고, 픽셀 B5의 참조로서는 탈락된다. 만약 DFD12가 DFD11보다 작으면, 픽셀 A3는 픽셀 B5의 참조로서 유지되고, 픽셀 B3의 참조로서는 탈락된다. 만약 DFD11과 DFD12가 동일하다면, 다양한 타이브레이커(tie-breaker)가 이용될 수 있다. 이러한 타이브레이커의 일 예는 픽셀 B3 및 B5 중 어느 것이든 먼저 픽셀 A3를 참조로서 이용하는 픽셀에 대해서 상기 픽셀 A3가 참조로서 계속 유지되는 "스캔 순서"이다. 두 번째 타이브레이커의 예는 0과 1 사이의 균일한 분포로부터 임의의 숫자 R을 선택하고, 만약 상기 R이 0.5보다 작으면 상기 픽셀 A3를 픽셀 B3의 참조로서 유지하거나; 또는 상기 R이 0.5 이상이면 상기 픽셀 A3를 픽셀 B5의 참조로서 유지하는 것이다. 도 4의 예에서, DFD11은 DFD12보다 작아서, 픽셀 A3는 픽셀 B3의 참조로서 유지되고, 픽셀 B5의 참조로서는 탈락된다. 유사하게, 픽셀 B4 및 B6 각각은 픽셀 A4를 참조로서 이용하고, 전술한 DFD-기반 알고리즘은 상기 픽셀 A4가 상기 픽셀 B4 또는 B6 모두를 위한 것이 아니라 상기 픽셀 B4 또는 B6 중 어느 하나를 위한 참조로서 유지되는데 이용될 수 있다. 도 4의 예에서, 픽셀 A4는 픽셀 B4의 참조로서 유지되고, 전술한 DFD-기반 알고리즘에 기초하여 픽셀 B6의 참조로서는 탈락되었다.
단계 33에서, 프레임 A의 한 픽셀이 프레임 B의 한 픽셀 이상에 의하여 참조로서 이용되는 경우를 해결하는데 DFD-기반 알고리즘이 적용된 다음, 프레임 A의 참조 픽셀을 이용하지 않는 프레임 B의 한 픽셀은 연결되지 않은 것으로 표시된다. 예를 들면, 전술한 바와 같이 DFD-기반 알고리즘을 적용한 다음에, 픽셀 A3 및 A4는 각각 픽셀 B5 및 B6의 참조로서는 탈락되었다. 따라서, 픽셀 B5 및 B6는 비연결되었다. 다른 프레임 B의 픽셀들은 연결되었다. 따라서, 픽셀 B1-B4 및 B7-B12는 연결되었다. 만약 전술한 DFD-기반 알고리즘이 실행되었다면(즉, 프레임 A의 픽셀들의 연결 상태들이 결정되었을 때), 픽셀 A3 및 A4는 이미 픽셀 B5 및 B6의 참조로서 탈락되었기 때문에 도 4에서 픽셀 B5로부터 픽셀 A3를 가리키는 화살표 및 픽셀 B6로부터 픽셀 A4를 가리키는 화살표는 무의미해진다는 점에 유의한다. 도 4에서는 단계 33이 단계 32 다음에 수행되는 것을 도시하고 있지만, 상기 단계 33은 대체적으로 단계 32 이전에 수행될 수도 있다. 프레임 A의 한 픽셀이 프레임 B의 한 픽셀 이상에서 참조로서 이용되는 경우를 해결하는 전술한 DFD-기반 알고리즘은 상기 단계 32 및 33가 수행되기 이전, 수행되는 동안 또는 수행된 다음에 수행될 수 있다. 또 다른 예로서, 만약 단계 33이 단계 32에 앞서서 수행된다면, 전술한 DFD-기반 알고리즘은 단계 33 이전, 단계 33과 단계 32 사이, 또는 단계 32 이후에 수행될 수 있다.
단계 32 및 33을 수행한 결과로서 실제로 필요한 것은 프레임 A에 관련된 프레임 B의 각 픽셀들의 연결 상태(즉, 연결 또는 비연결)이다. 따라서, 단계 32는 대체적으로 생략될 수 있다. 왜냐하면, 프레임 B의 각 픽셀의 연결 상태는 프레임 B의 각 픽셀에 대한 프레임 A의 참조 픽셀들의 정보를 요구하는 것이지 프레임 A의 각 픽셀들의 연결 상태에 관한 정보를 요구하는 것이 아니기 때문이다.
프레임 A의 한 블록과 프레임 B의 한 블록 사이의 제곱-평균 DFD는 다음과 같이 정의된다. n은 상기 블록들 각각의 픽셀들의 수라고 한다. VA1, VA2, ... VAn을 프레임 A의 블록의 픽셀들의 값(예를 들어 휘도 또는 색차)이라고 한다. VB1, VB2, ... VBn을 프레임 B의 블록의 대응되는 픽셀들의 값이라고 한다. 프레임 A의 블록과 프레임 B의 블록 사이의 상기 제곱-평균 DFD은 다음의 수학식 1과 같다.
Figure 112005072261197-pct00001
전술한 DFD-기반 알고리즘은 고성능의 비디오 코더들에서 이용되는 바와 같이, 서브 픽셀들 사이의 연결에 관련되어 서브 픽셀 정확도를 갖는 움직임 벡터들에도 적용할 수 있다. 서브픽셀은 인접한 픽셀들 사이의 위치이다. 보간된 서브픽셀은 상기 DFD를 계산하는데 이용된다. 따라서, 참조 픽셀이 정수가 아닐 때 미리 정해진 공간 보간 형태를 사용하는 것을 제외하고는 DFD 알고리즘에 다른 변화 는 필요하지 않다. 예를 들어, 분리가능한 9-탭(tap) FIR 보간 필터가 이러한 목적을 위해 이용될 수 있다.
도 4의 단계 32 및 33이 수행된 다음에, 프레임 A 및 프레임 B의 모든 픽셀들은 "비연결된" 또는 "연결된" 것으로 분류된다. 전술한 DFD-기반 알고리즘은 프레임 B의 2개 또는 그 이상의 픽셀들로부터 프레임 A의 한 참조 픽셀로의 다중 연결을 제거하기 때문에, 프레임 A의 각 "연결된" 픽셀들은 프레임 B의 한 픽셀에 정확하게 연결되며, 그 반대의 경우도 마찬가지이다.
단계 34는 본 발명의 바람직한 실시예들에 따라서, 프레임 B의 블록들을 "단일 연결된(uni-connected)" 또는 "비연결된" 것으로 분류한다. 한 프레임의 한 블록 내의 픽셀들의 적어도 분수 F가 연결되지 않았다면, 그 블록은 "비연결된" 블록이다; 그렇지 않다면 그 블록은 "단일 연결된" 블록이다. I-블록들은 별도의 처리 시간을 요구하기 때문에, 상기 분수 F는 영상 품질과 처리시간 사이의 트레이드오프(tradeoff)를 반영하는 값을 갖는다. 상기 분수 F는 특히, 적어도 0.50(예를 들면 0.50에서 0.60, 0.50에서 0.75, 0.60에서 0.80, 0.50에서 1.00, 0.30에서 1.00, 0.50에서 1보다 작은 범위 내)의 값을 갖는다. 프레임 B의 단일 연결된 블록 내의 픽셀들이 연결된 프레임 A의 참조 픽셀들을 조사함으로써, 프레임 B의 각 단일 연결된 블록에 대한 프레임 A의 매칭된 블록("프레임 A의 단일 연결된 블록"이라고 함)이 결정될 수 있다. 프레임 A 및 B의 결과적인 단일 연결된 블록들은 단일 연결된 블록들의 매칭된 쌍들의 집합을 구성하며, 여기서 각 매칭된 쌍들은 프레임 B의 단일 연결된 블록들 및 프레임 A의 매칭된 단일 연결된 블록으로 구성된다. 단일 연결된 블록들의 매칭된 쌍을 각각 프레임 A 및 프레임 B에서 첫 번째 및 두 번째 단일 연결된 블록들이라고 나타낸다.
단계 35에서 본 발명의 바람직한 실시예들에 따라서, 상기 단일 연결된 블록들의 매칭된 쌍의 첫 번째 및 두 번째 단일 연결된 블록들을 다음의 재분류 기준을 만족하는 경우에 비연결된 것으로 재분류한다. V1 및 V2를 각각 첫 번째 및 두 번째 단일 연결된 블록들의 픽셀 분산이라고 한다. 한 블록에서 픽셀 분산은 그 블록 내의 픽셀값들과 그 블록의 평균 픽셀값 사이의 제곱-평균 편차이다. VMIN을 V1 및 V2의 최소값이라고 표시한다. 그러면, 상기 첫 번째과 두 번째 블록들 사이의 제곱-평균 DFD가 fVMIN(여기서 f는 0과 1사이의 실수)을 초과하면, 상기 첫 번째 및 두 번째 단일 연결된 블록들은 비연결된 블록들로 재분류된다. 예를 들면, f는 특히, 0.4에서 0.6, 0.5에서 0.7, 0.4에서 0.75, 0.5에서 0.9, 0.4에서 1.00 등의 범위일 수 있다. 단계 35가 수행된 다음에, 프레임 B의 각 블록들을 "비연결된" 또는 "연결된" 것으로 분류하는 것이 완료된다.
단계 36에서 본 발명의 바람직한 실시예들에 따라서, 프레임 B의 비연결된 각 블록을 P-블록 또는 I-블록으로 카테고리를 나눈다. 후술되는 바와 같이, I-블록은 상기 I-블록 외부의 인접한 픽셀들로부터 추출되는 공간적으로 보간된 값들에 의하여 대체된 초기 픽셀값을 갖는다. I-블록 픽셀의 초기 픽셀값과 공간적으로 보간된 픽셀값과의 차이는 보간된 I-블록 픽셀의 레지듀얼 에러이다. I-블록내의 모든 픽셀들에서 레지듀얼 에러의 블록은 I-블록의 또는 I-블록과 관련된 레지듀얼 에러 블록이라고 부른다.
비연결된 블록이 I-블록 또는 P-블록인지를 결정하기 위해서, 보간된 I-블록이 형성되고, 그 레지듀얼 에러 블록이 계산되며, 레지듀얼 에러 블록 내의 레지듀얼 에러들의 합(SRES)의 절대값이 또한 계산된다. SRES는 "레지듀얼 보간 에러"라고도 부른다. 레지듀얼 에러들은 레지듀얼 에러 블록의 픽셀들에서의 에러들이다. 또한, 전방향 및 역방향 움직임은 비연결된 블록들에 대해서 수행된다. 전방향 및 역방향 움직임 보상 예측 에러들의 DFD 절대값의 합들이 계산된다. 상기 전방향 및 역방향 움직임 보상 예측 에러들의 DFD 절대값의 합들의 최소값(SMC-MIN)이 결정된다. SMC -MIN은 또한 비연결된 블록의 "최소 움직임 보상 에러"라고도 부른다. 비연결된 블록은 SRES가 SMC -MIN보다 작지 않다면 P-블록으로 분류된다.
단계 37에서, 본 발명의 바람직한 실시예들에 따라서 상기 단계 36에서 결정된 I-블록들은 이용가능한 인접 픽셀들로부터 공간 보간에 의하여 처리되고, 상기 보간된 I-블록과 관련된 레지듀얼 에러 블록이 생성된다. 한 프레임 내의 블록들은 고정된 크기 또는 가변 크기를 갖을 수 있다. 후술되는 바와 같이, 도 5-7 및 9는 본 발명의 바람직한 실시예들에 따라서 고정된 블록 크기를 갖는 경우의 보간에 대한 것이고, 도 8은 가변 블록 크기를 갖는 경우의 보간에 대한 것이다.
단계 38에서, 보간된 I-블록과 관련된 레지듀얼 에러 블록은, 상기 도 2의 공간 분석부(53)의 수행 다음에 상기 EZBC(54)에 의한 관련 고시간 프레임의 압축을 위해서, 분석되고 있는 프레임쌍 A 및 B에 관계된 관련된 고시간 프레임에 오버 레이(즉, 그 내부에 위치)된다. 후술되는 도 7c에서는 상기 레지듀얼 에러 블록이 다수의 0값 근처의 값을 갖고, 이로 인해 효율적으로 압축되는데 적합함을 도시하고 있다.
도 5는 I-블록들, P-블록들, 및 단일 연결된 블록들을 포함하는 프레임을 도시한다. 상기 I-블록들은 블록 1-3을 포함하고, P-블록들 및 단일 연결된 블록들은 블록 4-10을 구비하는 나머지 블록들을 포함한다. 각 I-블록은 네 개의 가능한 인접한 블록들: 위쪽 블록, 아래쪽 블록, 왼쪽 블록 및 오른쪽 블록을 갖는다. 여기서 이용되는 보간 알고리즘에서, 한 프레임의 블록들은 스캔 순서에 따라서 처리되고, 오직 "이용가능한" 블록들(즉, 픽셀값을 갖는 이전에 처리된 I-블록들, 원래 데이터를 갖는 P-블록들, 및/또는 단일 연결된 블록들)은 공간 보간을 위해 사용될 수 있다. 예를 들면, 도 5에서 블록 1에 대해서 왼쪽에서 오른쪽 및 위쪽에서 아래쪽의 스캔 순서를 사용하면, 블록 2 및 블록 3 모두는 이용가능하지 않기 때문에, 오직 인접 블록 4-5만이 블록 1의 공간 보간을 위해 이용될 수 있다. 그러나, 블록 2에 있어서, 블록 1이 보간된 이후에 블록 2의 공간 보간을 위해 이용가능한 4개의 인접 블록, 즉 블록 1 및 6-8이 존재한다. 유사하게, 블록 1이 보간된 이후에, 블록 3의 공간 보간을 위해 이용가능한 4개의 인접 블록, 즉 블록 1 및 8-10이 존재한다.
공간 보간은 전술한 왼쪽에서 오른쪽 및 위쪽에서 아래쪽의 스캐닝 규칙과 같은 래스터 스캐닝 규칙에 따라서 수행된다. 이용가능한 인접 블록들 및 그 위치에 기초하여 다른 보간 함수가 존재한다. 도 6은 다음의 표시를 도시한 것이다: "u"는 위쪽의 인접 픽셀들, "lw"는 아래쪽의 인접 픽셀들, "lf"는 왼쪽의 인접 픽셀들, "r"은 오른쪽의 인접 픽셀들, "in"은 I-블록에서 보간된 픽셀값을 나타낸다. 보간은 선형적이거나 비선형적일 수 있으며, 다양한 서로 다른 보간 방식이 이용될 수 있다.
도 7a-7c(포괄적으로 "도 7"이라 함)은 오직 하나의 인접 블록만이 이용가능한 경우를 도시한 것이다. 도 7a의 4×4 픽셀 크기의 I 블록(40)은 열 세그먼트 41-44에 의하여 정의되고, 블록(40) 위쪽의 인접한 위쪽 블록에서 열 세그먼트(45)만이 오직 이용가능한 이웃이라고 가정한다. 도 7a에서 I-블록(40)에 대하여 도시된 예시적인 픽셀값들은 공간 보간 이전의 초기값들이다. 열 세그먼트(45)의 픽셀값들은 공간 보간을 위해 사용된다. 이러한 경우를 위해, 표 1의 C-코드가 공간 보간을 실시하기 위해 이용될 수 있다.
for (i=0; i<4; i++) for (j=0; j<4; j++) in[i*4+j] = u[j];
도 7b는 상기 표 1의 C-코드의 실행 결과에 따른 I-블록(40)의 결과적인 보간된 값들을 도시한 것이다. 도 7c는 상기 도 7a의 초기 픽셀값으로부터 상기 도 7b의 보간된 픽셀값들을 빼서 결정된 레지듀얼 에러 블록을 도시한 것이다. 도 7c에 도시된 레지듀얼 에러 블록은 도 2의 EZBC(54)에 의한 관련된 고시간 프레임의 압축을 위해서, 분석되고 있는 프레임쌍 A 및 B에 관련된 고시간 프레임들 내에 오버레이(즉, 위치)된다. 도 7a-7c는 오직 위쪽의 인접 픽셀들만이 보간을 위해 이용가능한 실시예에 대하여 설명하였지만, 오직 왼쪽, 오른쪽 또는 아래쪽의 인접 픽셀들만이 보간을 위해 이용가능한 경우에도 전술한 위쪽 인접 픽셀들을 이용한 경우로부터, 또는 적절한 좌표 회전을 통해서 유사하게 추론될 수 있다.
표 2 및 3은 2개의 인접 블록들이 이용가능한 경우의 보간 알고리즘을 도시한 것이다. 표 2는 도 6에 도시된 표시에 따라서 위쪽 및 왼쪽 위치의 이용가능한 인접 픽셀들을 이용하여 4×4 I-블록에서 in[0]...in[15]의 보간된 픽셀값들(도 6 참조)을 계산하기 위한 공식들을 구체화한 것이다. 표 3은 도 6에 도시된 표시에 따라서 위쪽 및 아래쪽 위치의 이용가능한 인접 픽셀들을 이용하여 4×4 I-블록에서 in[0]...in[15]의 보간된 픽셀값들을 계산하는 C-코드를 구체화한 것이다.
in[0]=(lf[0]+u[0])/2; in[1]=u[1]; in[2]=u[2]; in[3]=u[3]; in[4]=lf[1]; in[5]=(in[4]+in[1])/2; in[6]=in[2]; in[7]=in[3]; in[8]=lf[2]; in[9]=in[8]; in[10]=(in[9]+in[6])/2; in[11]=in[7]; in[12]=lf[3]; in[13]=in[12]; in[14]=in[13]; in[15]=(in[11]+in[14])/2
for (i=0; i<4; i++) { in[i]=u[i]; in[12+i]=lw[i]; in[4+i] = in[8+i] = (u[i]+lw[i])/2; }
두 개의 인접 블록들이 이용 가능한 경우의 다른 실시예들도 각각 표 2 및 3과 관련하여 전술한 상기 "위쪽 및 왼쪽" 또는 "위쪽 및 아래쪽" 인접한 경우와 유사하게 유도되거나, 또는 적절한 좌표 회전을 통해 유도될 수 있다.
표 4는 3개의 인접 블록들이 이용가능한 경우의 보간 알고리즘을 도시한 것이다. 표 4는 도 6에 도시된 표시에 따라서 위쪽, 왼쪽 및 오른쪽 위치의 이용가능한 인접 픽셀들을 이용하여 4×4 I-블록에서 in[0]...in[15]의 보간된 픽셀값들(도 6 참조)을 계산하는 C-코드를 구체화한 것이다.
in[0]=(lf[0]+u[0])/2; in[1]=u[1]; in[2]=u[2]; in[3]=(u[3]+r[0])/2; in[4]=lf[1]; in[5]=(in[4]+in[1])/2; in[7]=r[1]; in[6]=(in[2]+in[7])/2; in[8]=lf[2]; in[9]=in[8]; in[11]=r[2]; in[10]=in[11]; in[12]=lf[3]; in[13]=in[12]; in[15]=r[3]; in[14]=in[15];
세 개의 인접 블록들이 이용 가능한 경우의 다른 실시예들도 각각 표 4와 관련하여 전술한 상기 "위쪽, 왼쪽 및 오른쪽"에 인접한 경우와 유사하게 유도되거나, 또는 적절한 좌표 회전을 통해 유도될 수 있다.
표 5는 4개의 인접 블록들이 이용가능한 경우의 보간 알고리즘을 도시한 것이다. 표 5는 도 6에 도시된 표시에 따라서 위쪽, 아래쪽, 왼쪽 및 오른쪽 위치의 이용가능한 인접 픽셀들을 이용하여 4×4 I-블록에서 in[0]...in[15]의 보간된 픽셀값들(도 6 참조)을 계산하는 C-코드를 구체화한 것이다.
in[0]=(lf[0]+u[0])/2; in[1]=u[1]; in[2]=u[2]; in[3]=(u[3]+r[0])/2; in[4]=lf[1]; in[5]=(in[4]+in[1])/2; in[7]=r[1]; in[6]=(in[2]+in[7])/2; in[12]=(lf[3]+lw[0])/2; in[13]=lw[1]; in[14]=lw[2]; in[15]=(lw[3]+r[3])/2; in[8]=lf[2]; in[9]=(in[8]+in[13])/2; in[11]=r[2]; in[10]=(in[14]+in[11])/2
도 8은 블록 크기가 4×4로부터 64×64 범위의 5-레벨 계층적 가변 크기 블록 매칭으로부터 발생되는 가변 블록 크기의 경우를 도시한 것이다. 도 8의 예에서, I-블록들(11,12)이 도시되었다. 블록(11)은 8×8 픽셀 크기를 갖고 블록(12)은 4×4 픽셀 크기를 갖는다. I-블록들(11,12)가 전술한 왼쪽에서 오른쪽 및 위쪽에서 아래쪽의 스캐닝 순서(즉, 블록(12)이 보간되기 이전에 블록(11)이 보간됨)에 의하여 처리된다면, 블록(12)은 블록(11)의 보간에 이용될 수 없을 것이다. 보간을 간단화하기 위해서, 블록(11)은 보간 목적을 위해 4개의 분리된 4×4 I-블록들로 다루어져서, 공간 보간은 고정된-블록 보간으로서 구현될 수 있다.
도 9a-9f(포괄하여, "도 9"라 함)는 본 발명의 바람직한 실시예에 따른 I-블록들의 픽셀값을 결정하는 방향 공간 보간 방식을 도시한 것이다. 도 9a-9f는 프레임(60)의 일 부분 내의 4×4 I-블록(61)을 도시한다. 상기 프레임(60)의 부분은 픽셀들(P11 ...P99)을 포함한다. I-블록(61)은 픽셀들(P22,P23,P24,P25,P32,P33,P35,P42,P43,P44,P45,P52,P53,P54 및 P55)을 포함한다. 도 9a-9f에서, I-블록(61) 내에 있지 않은 모든 픽셀들은 I-블록(61)의 픽셀들의 이웃들이다. I-블록(61)의 픽셀들의 보간은 도 9a에 도시된 바와 같이, X축과 고정된 각도 θ를 갖는 평행선들 중 하나, 즉 라인(66)을 따른다. 도 9b-9f의 각 도면은 다른 θ 값을 갖는 경우의 실시예들을 나타낸다. 예시적으로 θ값을 예측하고, 설명의 편의를 위해 각 픽셀은 정사각형이라고 가정한다. 따라서, 도 9a에서 픽셀들 P25,P34,P43 및 P52의 마주보는 꼭지점들을 대각선으로 관통하는 라인(66)에 의한 θ=45˚이다. 물론, 상기 픽셀들이 직사각형이나 비사각형 형태를 갖는 경우, 상기 도 9a의 라인(66)에 의한 θ는 45도와 다를 것이다. 여기서, θ 및 θ+180는 동일한 집합의 평행선들을 나타낸다는 것에 유의한다. 이러한 각 라인을 따른 보간은 상기 라인 위의 이용가능한 최근접 이웃들의 픽셀값을 이용하며, 여기서 이용가능한 이웃은 이전에 설립된 픽셀값을 갖는 이웃들이다. 방향 보간 방식은 평행선들의 각 라인에 대해서 적어도 하나의 이웃이 항상 이용가능하다는 것을 가정한다.
도 9b는 평행선들(63,64, ..., 69)들에 대해서 θ=45˚인 경우의 방향 보간을 도시한 것이다. 상기 라인들(63,64,...69)을 "방향 라인들"이라고 부른다. 라인(63)은 픽셀 P22를 관통하기 때문에, 라인(63)은 다음과 같은 이웃: P13 및 P31 모두가 이용가능한 경우 P13 및 P31 이웃들; P13은 이용가능하지만 P31은 이용가능하지 않은 경우 오직 P13 이웃; 또는 P31은 이용가능하지만 P13은 이용가능하지 않은 경우 오직 P31 이웃을 이용한 보간에 기초하여 픽셀 P22의 픽셀값을 결정하는데 이용된다. 라인(64)은 픽셀 P23 및 P32를 관통하기 때문에, 라인(64)는 다음과 같은 이웃: P14 및 P41 모두가 이용가능한 경우 P14 및 P41 이웃들: P14는 이용가능하지만 P41은 이용가능하지 않은 경우 오직 P14 이웃; 또는 P41은 이용가능하지만 P14는 이용가능하지 않은 경우 오직 P41 이웃을 이용하는 보간에 기초하여 픽셀들 P23 및 P32의 값들을 결정하는데 이용된다. 유사하게, 라인들(65,66,67,68 및 69)을 따른 보간은 각각 (P24,P33,P42),(P25,P34,P43,P52),(P35,P44,P53),(P45,P54) 및 (P55)의 픽셀값들을 결정하는데 이용된다.
라인들(67-69)은 최근접 이웃들이 대체될 수 있는 가능성을 나타낸다. 예를 들면, 라인(68)은 I-블록(61)의 맞은편 경계에서 (P36,P27 및 P18) 및 (P63,P72 및 P81) 이웃들을 갖는다. (P36,P27 및 P18) 이웃들 중 이용할 이웃을 결정하는데 있어서, 상기 픽셀 P36이 (P36,P27 및 P18) 이웃들 중 최근접 이웃이기 때문에 이용가능하다면 방향 보간은 픽셀 P36을 이용한다. 만약 픽셀 P36이 이용가능하지 않다면, 상기 픽셀 P27이 이웃들 (P27 및 P18) 중에서 최근접 이웃이기 때문에 이용가능하다면 방향 보간은 픽셀 P27을 이용한다. 만약 픽셀 P27이 이용가능하지 않다면 방향 보간은 이용가능하다면 남아있는 픽셀 P18을 이용한다. 만약 픽셀 P27이 이용가능하지 않다면, 방향 보간은 상기 픽셀들(P36,P27 및 P18) 중 어떠한 픽셀도 이용하지 않는다. 유사하게, 방향 보간은 상기 이용가능한 최근접 이웃의 판단기준에 기초하여 이웃 픽셀들(P63,P72 및 P81) 중 한 픽셀을 선택한다. 그러므로, 최근접 이웃의 판단 기준을 적용한 결과로서, 픽셀 P45 및 P54의 픽셀값을 결정하기 위한 라인(68)을 따른 방향 보간은 다음과 같은 이웃의 조합: P63만, P72만, P81만, P63 및 P36, P63 및 P27, P63 및 P18, P72 및 P36, P72 및 P27, P72 및 P18, P81 및 P36, P81 및 P27, P81 및 P18, P36만, P27만, P18만 중 하나를 이용할 것이다.
이웃 픽셀들 P36 및 P63 모두가 이용가능하다는 가정하에서, 픽셀들 P45 및 P54의 픽셀값들을 결정하기 위한 라인(68)을 따른 선형 보간을 위한 방향 보간이 다음에 도시된다. 도 9b에서는 라인(68)을 따른 포인트들(Q0,Q1,Q2,Q3 및 Q4)를 도시하고 있다. 상기 포인트들(Q0,Q1,Q2,Q3 및 Q4)은 각각 픽셀 P27,P36,P45,P54 및 P63에 놓여진 라인(68) 부분들의 중간점들에 위치한다. D12, D13 및 D14를 각각 포인트 Q1과 포인트 Q2,Q3,Q4 들 사이의 거리를 나타낸다고 한다. F1214 및 F1314는 각각 D12/D14 및 D13/D14를 나타낸다고 한다. V36 및 V63은 각각 픽셀 P36 및 P63에서의 픽셀값을 나타낸다고 한다. 그러면, 픽셀 P45 및 P54에서의 픽셀값들은 각각 (1-F1214)×V36+F1214×V63 및 (1-F1314)×V36+F1314×V63 이다.
라인(68)을 따른 선형 보간을 위한 방향 보간은 이웃 픽셀 P36은 이용할 수 없고, 이웃 픽셀 P27은 이용할 수 있는 경우 보간을 수행하는 방법에 대한 의문을 제기한다. V27을 픽셀 P27의 픽셀값을 나타낸다고 하면, V27은 보간 수식에서 V36이 나타나는 부분마다 V36을 대체할 것이다. 그러나, 본 발명의 범위는 라인(68)을 따른 거리를 다루는데 있어서 세 가지의 옵션을 포함한다.
첫 번째 옵션은 보간 공식에서 F1214 및 F1314 파라미터들을 유지하는 것으로, 이것은 이용가능한 최근접 이웃으로 픽셀 P36이 픽셀 P27로 대체된 경우에도 거리를 측정하는데 있어서 참조로서 포인트 Q1을 이용하는 것과 개념적으로 동일하다. 첫 번째 옵션에 있어서, 픽셀 P45 및 P54에서의 픽셀값은 각각 (1-F1214)×V27+F1214×V63 및 (1-F1314)×V27+F1314×V63 이다.
두 번째 옵션은 이웃 픽셀 P27에서 시작되는 라인(68)의 포인트 Q0로부터의 거리를 이용하는 것이다. 두 번째 옵션에 있어서, D02, D03 및 D04는 각각 포인트 Q0와 포인트 Q2, Q3 및 Q4 사이의 거리를 나타낸다고 한다. F0204 및 F0304는 각각 D02/D04 및 D03/D04를 나타낸다고 한다. 그러면, 픽셀 P45 및 P54의 픽셀값은 각각 (1-F0204)×V27 + F0204×V63 및 (1-F0304)×V27 + F0304×V63 이다.
세 번째 옵션은 첫 번째 옵션과 두 번째 옵션 사이의 절충안을 이용하는 것이다. 첫 번째 및 두 번째 옵션에서 (F1214 및 F1314) 또는 (F0204 및 F0304) 중 하나를 이용하는 대신에, (F1214,F0204)AVE 및 (F1314,F0304)AVE 파라미터들이 이용된다. 여기서, (F1214,F0204)AVE는 F1214 및 F0204의 가중 또는 비가중 평균이며, (F1314,F0304)AVE 는 F1314 및 F0304의 가중 또는 비가중 평균이다. 그러면, 픽셀 P45 및 P54의 픽셀값들은 각각 (1-(F1214,F0204)AVE)×V27 + (F1214,F0204)AVE×V63 및 (1-(F1314,F0304)AVE)×V27 + (F1314,F0304)AVE×V63 이다. 만약 (F1214,F0204)AVE 및 (F1314,F0304)AVE 이 가중 평균들이면, 라인(68)을 따라서 포인트 Q2 및 Q3로부터 픽셀들 P36 및 P27의 거리에 상관없이, 상기 가중은 라인(68)을 따라서 I-블록(61)의 영상 품질에 상기 픽셀들 P36 및 P27의 상대적인 중요성에 관한 외부적인 지식과 같은 외부 요소에 기초한다.
도 9c-9f는 θ값을 제외하고 상기 도 9b와 유사하다. 도 9c에서 방향 라인들(71 내지 74)의 θ=90˚이다. 픽셀들 P22,P32,P42 및 P52에서의 값은, 이웃 픽셀들 P12,P62,P72,P82 및 P92의 부분 집합을 이용하는 라인(71)을 따른 보간으로부터 결정된다. 픽셀들 P23,P33,P43 및 P53의 값들은 이웃 픽셀들 P13,P63,P73,P83 및 P93의 부분 집합을 이용하는 라인(72)을 따른 보간으로부터 결정된다. 픽셀들 P24,P34,P44 및 P54의 값들은 이웃 픽셀들 P14,P64,P74,P84 및 P94의 부분 집합을 이용하는 라인(73)을 따른 보간으로부터 결정된다. 픽셀들 P25,P35,P45 및 P55의 값들은 이웃 픽셀들 P15,P65,P75,P85 및 P95의 부분 집합을 이용하는 라인(74)을 따른 보간으로부터 결정된다.
도 9d에서, 방향 라인들(81 내지 87)의 θ=135˚이다. 픽셀 P52의 값은 이웃 픽셀들 P41,P63,P74,P85 및 P96의 부분집합을 이용하는 라인(81)을 따른 보간으로부터 결정된다. 픽셀들 P42 및 P53의 값은 이웃 픽셀들 P31,P64,P75,P86 및 P97의 부분집합을 이용하는 라인(82)을 따른 보간으로부터 결정된다. 픽셀들 P32,P43 및 P54의 값은 이웃 픽셀들 P21,P65,P76,P87 및 P98의 부분집합을 이용한 라인(83)을 따른 보간으로부터 결정된다. 픽셀들 P22,P33,P44 및 P55의 값들은 이웃 픽셀들 P11,P66,P77,P88 및 P99의 부분집합을 이용하는 라인(84)을 따른 보간으로부터 결정된다. 픽셀들 P23,P34 및 P45의 값들은 P12,P56,P67,P78 및 P89의 부분집합을 이용하는 라인(85)을 따른 보간으로부터 결정된다. 픽셀들 P24 및 P35의 값들은 이웃 픽셀들 P13,P46,P57,P68 및 P79의 부분집합을 이용하는 라인(86)을 따른 보간으로부터 결정된다. 픽셀 P25의 값은 이웃 픽셀들 P14,P36,P47,P58 및 P69의 부분집합을 이용하는 라인(87)을 따른 보간으로부터 결정된다.
도 9e에서, 방향 라인들(76 내지 79)의 θ=0˚(또는 180˚)이다. 픽셀들 P22,P23,P24 및 P25의 값은 이웃 픽셀들 P21,P26,P27,P28 및 P29의 부분집합을 이용하는 라인(76)을 따른 보간으로부터 결정된다. 픽셀들 P32,P33,P34 및 P35의 값들은 이웃 픽셀들 P31,P36,P37,P38 및 P39의 부분집합을 이용하는 라인(77)을 따른 보간으로부터 결정된다. 픽셀들 P42,P43,P44 및 P45의 값은 이웃 픽셀들 P41,P46,P47,P48 및 P49의 부분집합을 이용한 라인(78)을 따른 보간으로부터 결정된다. 픽셀들 P52,P53,P54 및 P55의 값들은 이웃 픽셀들 P51,P56,P57,P58 및 P59의 부분집합을 이용하는 라인(79)을 따른 보간으로부터 결정된다.
도 9f에서, 방향 라인들(101 내지 105)의 θ=26.56˚(즉, θ는 2/4의 역탄젠트)이다. 픽셀들 P22 및 P23의 값들은 이웃 픽셀들 P13 및 P14의 부분집합을 이용하는 라인(101)을 따른 보간으로부터 결정된다. 픽셀들 P32,P33,P24 및 P25의 값들은 이웃 픽셀들 P41 및 P16의 부분집합을 이용하는 라인(102)을 따른 보간으로부터 결정된다. 픽셀들 P42,P43,P34 및 P35의 값은 이웃 픽셀들 P51,P26,P27,P18 및 P19의 부분집합을 이용한 라인(103)을 따른 보간으로부터 결정된다. 픽셀들 P52,P53,P44 및 P45의 값들은 이웃 픽셀들 P61,P36,P37,P28 및 P29의 부분집합을 이용하는 라인(104)을 따른 보간으로부터 결정된다. 픽셀들 P54 및 P55의 값들은 이웃 픽셀들 P71,P46,P47,P38 및 P39의 부분집합을 이용하는 라인(105)을 따른 보간으로부터 결정된다.
도 9a 내지 9f는 평행 방향 라인들을 따라 공간 보간을 통해 결정되는 I-블록내의 모든 픽셀값들에 특징이 있는 방향 공간 보간을 도시한다. 대조적으로, 도 7a-7c 및 표 1-5는 I-블록내의 모든 픽셀값들이, 공간 보간에서 이용되는 I-블록을 관통하는 방향 라인들을 이용하지 않고 이용가능한 최근접 이웃 공간 보간에 의하여 결정되는 것에 특징이 있는 비방향 공간 보간을 도시한 것이다. I-블록의 또 다른 공간 보간은 방향 공간 보간과 비방향 공간 보간의 결합을 포함하는 하이브리드 공간 보간이다. 하이브리드 공간 보간에 있어서, 적어도 하나의 방향 라인은 I-블록의 일부분의 공간 보간을 위해 이용되고, I-블록의 일부 픽셀값들은 I-블록을 관통하는 방향 라인을 이용하지 않고 이용가능한 최근접 이웃 공간 보간을 통해 결정된다. 방향 공간 보간 또는 하이브리드 공간 보간이 이용될 때, 선택된 방향 및 하이브리드 마스크는 부가 정보로서 코딩되어 전송되어야 한다. 본 발명의 실시예에 있어서 이러한 목적을 위해 짧은 고정 허프만 코드를 이용한다.
도 10은 본 발명의 실시예에 따른 하이브리드 공간 보간을 도시한 것이다. 도 10은 (라인 121을 따른) 픽셀들 P25,P34,P43 및 P52,(라인 122를 따른) 픽셀들 P35,P44 및 P53, (라인 123을 따른) 픽셀들 P45 및 P54, (라인 124를 따른) 픽셀 P55의 값들을 결정하기 위한 공간 보간에 이용되는 방향 라인들(121-124)을 포함한다. 그러나, 픽셀들 P22,P23,P24,P32,P33 및 P42의 값들은 위쪽의 최근접 이웃 픽셀들 P12,P13,P14 및 왼쪽의 최근접 이웃 픽셀들 P21,P31 및 P41을 이용한 비방향 공간 보간에 의하여 결정된다.
상기 도 6-10 및 표 1-5와 관련하여 전술한 공간 보간 예들에 도시된 바와 같이, 소정의 한 프레임 내의 각 I-블록의 픽셀들의 값들은 상기 소정 프레임 내의 각 I-블록과 관련된 이용가능한 최근접 이웃 픽셀들의 값들에 기초한 공간 보간에 의하여 계산된다. 소정 프레임의 특정 I-블록 바깥쪽의 소정 픽셀은, 상기 소정 픽셀이 상기 공간 보간에 의한 I-블록의 픽셀값에 잠재적으로 공헌하는 I-블록에 충분히 가깝다면, I-블록과 관련된 이웃 픽셀이라고 불려진다.
상기 도 6-10 및 표 1-5와 관련하여 전술한 보간에 의한 I-블록들의 픽셀값들을 결정하는 것에 대한 논의는 선형 보간에 초점을 맞추었다. 그러나, 본 발명의 범위는 I-블록내의 픽셀값에 공헌하는 다양한 이웃 픽셀들의 상대적인 중요성을 활용하는 어떠한 비방향 보간 방식이라도 포함한다.
도 11은 본 발명의 실시예들에 따른 움직임 보상 시간 필터링(MCTF)에서 이용되는 I-블록들의 처리를 위한 컴퓨터 시스템(90)을 도시한 것이다. 상기 컴퓨터 시스템(90)은 처리부(91), 상기 처리부(91)에 연결된 출력장치(93), 및 각각 상기 처리부(91)에 연결된 메모리 장치(94,95)를 포함한다. 상기 입력 장치(92)는 키보드, 마우스 등이 될 수 있다. 출력 장치(93)는 프린터, 자기 테이프, 내장 하드 디스크 또는 디스크 배열, 삭제할 수 있는 하드 디스크, 플로피 디스크, 정보 네트워크 등이 될 수 있다. 상기 메모리 장치(94,95)는 하드 디스크, 플로피 디스크, 자기 테이프, CD(Compact Disc)나 DVD(Digital Video Disc)와 같은 광학 저장 매체, DRAM(Dynamic Random Access Memory), ROM(Read-Only Memory) 등이 될 수 있다. 상기 메모리 장치(95)는 컴퓨터 코드(97)를 포함한다. 상기 컴퓨터 코드(97)는 움직임 보상 시간 필터링(MCTF)에 이용되는 I-블록들의 처리를 위한 알고리즘을 포함한다. 상기 처리부(91)는 상기 컴퓨터 코드(97)를 실행한다. 상기 메모리 장치(94)는 입력 데이터(96)를 포함한다. 상기 입력 데이터(96)는 상기 컴퓨터 코드(97)에서 요구되는 입력을 포함한다. 상기 출력 장치(93)는 상기 컴퓨터 코드(97)로부터의 결과를 표시한다. 하나 또는 양 메모리 장치(94,95)(또는 상기 도 11에 도시되지 않은 하나 또는 그 이상의 부가 메모리 장치들)는 상기 컴퓨터 코드(97)를 포함하는 컴퓨터로 읽을 수 있는 프로그램 코드가 구현되거나 및/또는 그러한 코드가 구현된 다른 데이터를 구비하는 컴퓨터로 읽을 수 있는 프로그램 코드를 구비한 컴퓨터에서 이용가능한 매체(또는 컴퓨터에서 읽을 수 있는 매체 또는 프로그램 저장 장치)로서 이용될 수 있다. 일반적으로, 상기 컴퓨터 시스템(90)의 컴퓨터 프로그램 제품(또는 대체적으로 물품 또는 생산물)은 상기 컴퓨터에서 이용할 수 있는 매체(또는 상기 프로그램 저장 장치)를 포함할 수 있다.
상기 도 11에서 하드웨어 또는 소프트웨어적인 특정한 구성으로 상기 컴퓨터 시스템(90)을 도시하였지만, 당업자에게 알려진 다른 형태의 하드웨어 또는 소프트웨어 구성은 상기 도 11의 특정 컴퓨터 시스템(90)과 관련된 목적을 위하여 이용될 수 있다. 예를 들면, 상기 메모리 장치(94,95)는 개별적인 메모리 장치들보다는 하나의 메모리 장치의 일 부분들일 수 있다.
이제까지 설명한 본 발명의 실시예들은 예시적인 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1은 본 발명의 바람직한 실시예들에 따른 움직임 보상 시간 필터링(Motion Compensated Temporal Filtering:MCTF) 처리부를 포함하는 비디오 코딩 시 스템을 도시한 도면이다.
도 2는 본 발명의 바람직한 실시예들에 따라서 도 1의 MCTF 처리부에 의하여 수행되는 MCTF 과정을 도시한 도면이다.
도 3은 본 발명의 바람직한 실시예들에 따라서 도 2의 MCTF 과정에 의하여 발생되는 고 시간 프레임들의 I-블록들을 이용하는 방법을 나타낸 플로우 차트이다.
도 4는 본 발명의 바람직한 실시예들에 따라서 연속적인 프레임들의 픽셀들 사이의 연결을 도시한 도면이다.
도 5는 본 발명의 바람직한 실시예들에 따른 I-블록들 및 P-블록들을 구비한 하나의 프레임을 도시한 도면이다.
도 6은 본 발명의 바람직한 실시예들에 따라서 하나의 I-블록의 공간 보간에 이용되는 기호(notation)를 도시한 도면이다.
도 7a 내지 도 7c는 본 발명의 바람직한 실시예들에 따라서 오직 하나의 이웃 블록이 이용가능한 경우에 I-블록의 공간 보간을 도시한 도면이다.
도 8은 본 발명의 바람직한 실시예들에 따라서 프레임 내의 가변 블록 크기를 갖는 I-블록들을 도시한 도면이다.
도 9a 내지 9f는 본 발명의 바람직한 실시예들에 따라서 I-블록의 방향 공간 보간을 도시한 도면이다.
도 10은 본 발명의 바람직한 실시예들에 따라서 I-블록의 하이브리드 공간 보간을 도시한 도면이다.
도 11은 본 발명의 바람직한 실시예들에 따라서 MCTF에서 이용되는 I-블록들을 처리하는 컴퓨터 시스템을 도시한 도면이다.

Claims (41)

  1. 비디오 프레임들을 처리하는 방법에 있어서,
    프레임들의 각 쌍은 프레임 A 및 프레임 B로 구성되고, 상기 프레임 A 및 B 각각은 픽셀들의 블록들을 구비하며, 상기 프레임 A는 시간상 상기 프레임 B 보다 선행하는, 한 쌍의 연속적인 비디오 프레임들을 제공하는 단계;
    상기 프레임 A의 픽셀들과 관련된 상기 프레임 B의 각 픽셀들의 연결된 상태 또는 비연결된 상태인 연결 상태를 결정하는 단계;
    상기 프레임 B의 각 블록을 비연결된 것 또는 단일 연결된 것 중 하나로 분류하는 단계;
    상기 분류 후에, 재분류 기준을 만족하는 상기 프레임 B의 단일 연결된 블록들을 비연결된 것으로 재분류하는 단계;
    상기 재분류 후에, 상기 프레임 B의 각 비연결된 블록을 P-블록 또는 I-블록으로 카테고리를 나누는 단계;
    상기 카테고리를 나눈 후에, 각 I-블록과 관련된 이용가능한 최근접 이웃 픽셀들의 값들에 기초한 공간 보간에 의하여 상기 프레임 B의 각 I-블록의 픽셀들의 값들을 계산하는 단계; 및
    상기 계산 후에, 상기 프레임 B의 각 I-블록에 대한 레지듀얼 에러 블록을 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제 1항에 있어서,
    저 시간 프레임 및 고 시간 프레임을 생성하기 위하여 상기 프레임 A 및 B 내의 픽셀들에 대한 움직임 보상 시간 필터링(Motion Compensated Temporal Filtering:MCTF)을 수행하는 단계; 및
    상기 프레임 B의 각 I-블록들에 대한 상기 레지듀얼 에러 블록을 상기 고 시간 프레임의 대응되는 블록에 삽입하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  3. 제 2항에 있어서,
    상기 삽입 후에 고 시간 프레임을 압축하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  4. 제 1항에 있어서,
    상기 공간 보간은 선형 공간 보간인 것을 특징으로 하는 방법.
  5. 제 1항에 있어서,
    상기 공간 보간은 비선형 공간 보간인 것을 특징으로 하는 방법.
  6. 제 1항에 있어서,
    상기 공간 보간은 방향 공간 보간인 것을 특징으로 하는 방법.
  7. 제 1항에 있어서,
    상기 공간 보간은 비방향 공간 보간인 것을 특징으로 하는 방법.
  8. 제 1항에 있어서,
    상기 공간 보간은 하이브리드 공간 보간인 것을 특징으로 하는 방법.
  9. 제 1항에 있어서,
    상기 분류하는 단계는,
    적어도 픽셀들 중 분수 F는 비연결된 상태를 갖는 상기 프레임 B의 각 블록을 비연결된 것으로 분류하는 단계; 및
    픽셀들 중 상기 분수 F 미만은 비연결된 상태를 갖는 상기 프레임 B의 각 블록을 단일 연결된 것으로 분류하는 단계를 더 포함하고, 상기 분수 F는 0.30에서 1.00의 범위의 값을 갖는 것을 특징으로 하는 방법.
  10. 제 1항에 있어서,
    상기 재분류하는 단계는,
    상기 프레임 B의 단일 연결된 각 블록에 대한 상기 프레임 A의 매칭된 블록을 결정하는 단계;
    상기 프레임 B의 단일 연결된 블록과 그 매칭되는 상기 프레임 A의 블록 사 이의 제곱-평균 변위 프레임 차이(DFD)가 fVMIN을 초과하면, 상기 프레임 B의 단일 연결된 블록을 비연결된 것으로 재분류하는 단계를 더 포함하며, 상기 VMIN은 V1 및 V2의 최소값이고, 상기 V1 및 V2 각각은 상기 프레임 B의 단일 연결된 블록의 픽셀 분산 및 상기 프레임 A의 매칭된 블록의 픽셀 분산이며, 상기 f는 0.40에서 1.00 범위인 것을 특징으로 하는 방법.
  11. 제 1항에 있어서,
    상기 카테고리를 나누는 단계는,
    최소 움직임 보상 에러(SMC -MIN)보다 작은 레지듀얼 보간 에러(SRES)를 갖는 상기 프레임 B의 비연결된 블록을 I-블록으로 카테고리를 나누는 단계; 및
    상기 최소 움직임 보상 에러(SMC -MIN)보다 작지 않은 레지듀얼 보간 에러(SRES)를 갖는 상기 프레임 B의 비연결된 블록을 P-블록으로 카테고리를 나누는 단계를 더 포함하는 것을 특징으로 하는 방법.
  12. 프레임들의 각 쌍은 프레임 A 및 프레임 B로 구성되고, 상기 프레임 A 및 B 각각은 픽셀들의 블록들을 구비하며, 상기 프레임 A는 시간상 상기 프레임 B 보다 선행하는, 한 쌍의 연속적인 비디오 프레임들을 처리하는 시스템에 있어서,
    상기 프레임 A의 픽셀들과 관련된 상기 프레임 B의 각 픽셀들의 연결된 상태 또는 비연결된 상태인 연결 상태를 결정하는 수단;
    상기 프레임 B의 각 블록을 비연결된 것 또는 단일 연결된 것 중 하나로 분류하는 수단;
    재분류 기준을 만족하는 상기 프레임 B의 단일 연결된 블록들을 비연결된 것으로 재분류하는 수단;
    상기 프레임 B의 각 비연결된 블록들을 P-블록 또는 I-블록으로 카테고리를 나누는 수단;
    각 I-블록과 관련된 이용가능한 최근접 이웃 픽셀들의 값들에 기초한 공간 보간에 의하여 상기 프레임 B의 각 I-블록의 픽셀들의 값들을 계산하는 수단; 및
    상기 프레임 B의 각 I-블록에 대한 레지듀얼 에러 블록을 생성하는 수단을 포함하는 것을 특징으로 시스템.
  13. 제 12항에 있어서,
    저 시간 프레임 및 고 시간 프레임을 생성하기 위하여 상기 프레임 A 및 B 내의 픽셀들에 대한 움직임 보상 시간 필터링(Motion Compensated Temporal Filtering:MCTF)을 수행하는 수단; 및
    상기 프레임 B의 각 I-블록들에 대한 상기 레지듀얼 에러 블록을 상기 고 시간 프레임의 대응되는 블록에 삽입하는 수단을 더 포함하는 것을 특징으로 하는 시스템.
  14. 제 12항에 있어서,
    상기 프레임 B의 각 I-블록을 위한 삽입된 레지듀얼 에러 블록을 포함하는 상기 고 시간 프레임을 압축하는 수단을 더 포함하는 것을 특징으로 하는 시스템.
  15. 제 12항에 있어서,
    상기 공간 보간은 선형 공간 보간인 것을 특징으로 하는 시스템.
  16. 제 12항에 있어서,
    상기 공간 보간은 비선형 공간 보간인 것을 특징으로 하는 시스템.
  17. 제 12항에 있어서,
    상기 공간 보간은 방향 공간 보간인 것을 특징으로 하는 시스템.
  18. 제 12항에 있어서,
    상기 공간 보간은 비방향 공간 보간인 것을 특징으로 하는 시스템.
  19. 제 12항에 있어서,
    상기 공간 보간은 하이브리드 공간 보간인 것을 특징으로 하는 시스템.
  20. 프레임들의 각 쌍은 프레임 A 및 프레임 B로 구성되고, 상기 프레임 A 및 B 각각은 픽셀들의 블록들을 구비하며, 상기 프레임 A는 시간상 상기 프레임 B 보다 선행하는, 한 쌍의 연속적인 비디오 프레임들을 제공하는 단계;
    상기 프레임 A의 픽셀들과 관련된 상기 프레임 B의 각 픽셀들의 연결된 상태 또는 비연결된 상태인 연결 상태를 결정하는 단계;
    상기 프레임 B의 각 블록을 비연결된 것 또는 단일 연결된 것 중 하나로 분류하는 단계;
    상기 분류 후에, 재분류 기준을 만족하는 상기 프레임 B의 단일 연결된 블록들을 비연결된 것으로 재분류하는 단계;
    상기 재분류 후에, 상기 프레임 B의 각 비연결된 블록들을 P-블록 또는 I-블록으로 카테고리를 나누는 단계;
    상기 카테고리를 나눈 후에, 각 I-블록과 관련된 이용가능한 최근접 이웃 픽셀들의 값들에 기초한 공간 보간에 의하여 상기 프레임 B의 각 I-블록의 픽셀들의 값들을 계산하는 단계; 및
    상기 계산 후에, 상기 프레임 B의 각 I-블록에 대한 레지듀얼 에러 블록을 생성하는 단계를 포함하는 것을 특징으로 하는 비디오 프레임들을 처리하는 방법을 실행하기 위한 컴퓨터 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체.
  21. 제 20항에 있어서,
    상기 방법은,
    저 시간 프레임 및 고 시간 프레임을 생성하기 위하여 상기 프레임 A 및 B 내의 픽셀들에 대한 움직임 보상 시간 필터링(Motion Compensated Temporal Filtering:MCTF)을 수행하는 단계; 및
    상기 프레임 B의 각 I-블록들에 대한 상기 레지듀얼 에러 블록을 상기 고 시간 프레임의 대응되는 블록에 삽입하는 단계를 더 포함하는 것을 특징으로 하는 기록 매체.
  22. 제 21항에 있어서,
    상기 삽입 후에,
    상기 고 시간 프레임을 압축하는 단계를 더 포함하는 것을 특징으로 하는 기록 매체.
  23. 제 20항에 있어서,
    상기 공간 보간은 선형 공간 보간인 것을 특징으로 하는 기록 매체.
  24. 제 20항에 있어서,
    상기 공간 보간은 비선형 공간 보간인 것을 특징으로 하는 기록 매체.
  25. 제 20항에 있어서,
    상기 공간 보간은 방향 공간 보간인 것을 특징으로 하는 기록 매체.
  26. 제 20항에 있어서,
    상기 공간 보간은 비방향 공간 보간인 것을 특징으로 하는 기록 매체.
  27. 제 20항에 있어서,
    상기 공간 보간은 하이브리드 공간 보간인 것을 특징으로 하는 기록 매체.
  28. 제 20항에 있어서,
    상기 분류하는 단계는,
    적어도 픽셀들 중 분수 F는 비연결된 상태를 갖는 상기 프레임 B의 각 블록을 비연결된 것으로 분류하는 단계; 및
    픽셀들 중 상기 분수 F 미만은 비연결된 상태를 갖는 상기 프레임 B의 각 블록을 단일 연결된 것으로 분류하는 단계를 더 포함하고, 상기 분수 F는 0.30에서 1.00의 범위의 값을 갖는 것을 특징으로 하는 기록 매체.
  29. 제 20항에 있어서,
    상기 재분류하는 단계는,
    상기 프레임 B의 각 단일 연결된 블록에 대한 상기 프레임 A의 매칭된 블록을 결정하는 단계; 및
    상기 프레임 B의 단일 연결된 블록과 그 매칭되는 상기 프레임 A의 블록 사이의 제곱-평균 변위 프레임 차이(DFD)가 fVMIN을 초과하면, 상기 프레임 B의 단일 연결된 블록을 비연결된 것으로 재분류하는 단계를 더 포함하며, 상기 VMIN은 V1 및 V2의 최소값이고, 상기 V1 및 V2 각각은 상기 프레임 B의 단일 연결된 블록의 픽셀 분산 및 상기 프레임 A의 매칭된 블록의 픽셀 분산이며, 상기 f는 0.40에서 1.00 범위인 것을 특징으로 하는 기록 매체.
  30. 제 20항에 있어서,
    상기 카테고리를 나누는 단계는,
    최소 움직임 보상 에러(SMC-MIN)보다 작은 레지듀얼 보간 에러(SRES)를 갖는 상기 프레임 B의 비연결된 블록을 I-블록으로 카테고리를 나누는 단계; 및
    상기 최소 움직임 보상 에러(SMC-MIN)보다 작지 않은 레지듀얼 보간 에러(SRES)를 갖는 상기 프레임 B의 비연결된 블록을 P-블록으로 카테고리를 나누는 단계를 더 포함하는 것을 특징으로 하는 기록 매체.
  31. 처리부, 상기 처리부에 연결된 컴퓨터로 읽을 수 있는 메모리 유니트를 구비하는 컴퓨터 시스템에 있어서, 상기 메모리 유니트는 상기 처리부에 의해서 실행될 때 비디오 프레임들을 처리하는 방법을 실행하는 지시들을 구비하고, 상기 방법은,
    프레임들의 각 쌍은 프레임 A 및 프레임 B로 구성되고, 상기 프레임 A 및 B 각각은 픽셀들의 블록들을 구비하며, 상기 프레임 A는 시간상 상기 프레임 B 보다 선행하는, 한 쌍의 연속적인 비디오 프레임들을 제공하는 단계;
    상기 프레임 A의 픽셀들과 관련된 상기 프레임 B의 각 픽셀들의 연결된 상태 또는 비연결된 상태인 연결 상태를 결정하는 단계;
    상기 프레임 B의 각 블록을 비연결된 것 또는 단일 연결된 것 중 하나로 분류하는 단계;
    상기 분류 후에, 재분류 기준을 만족하는 상기 프레임 B의 단일 연결된 블록들을 비연결된 것으로 재분류하는 단계;
    상기 재분류 후에, 상기 프레임 B의 각 비연결된 블록들을 P-블록 또는 I-블록으로 카테고리를 나누는 단계;
    상기 카테고리를 나눈 후에, 각 I-블록과 관련된 이용가능한 최근접 이웃 픽셀들의 값들에 기초한 공간 보간에 의하여 상기 프레임 B의 각 I-블록의 픽셀들의 값들을 계산하는 단계; 및
    상기 계산 후에, 상기 프레임 B의 각 I-블록에 대한 레지듀얼 에러 블록을 생성하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  32. 제 31항에 있어서,
    상기 방법은,
    저 시간 프레임 및 고 시간 프레임을 생성하기 위하여 상기 프레임 A 및 B 내의 픽셀들에 대한 움직임 보상 시간 필터링(Motion Compensated Temporal Filtering:MCTF)을 수행하는 단계; 및
    상기 프레임 B의 각 I-블록들에 대한 상기 레지듀얼 에러 블록을 상기 고 시간 프레임의 대응되는 블록에 삽입하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  33. 제 32항에 있어서,
    상기 방법은,
    상기 고 시간 프레임을 압축하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  34. 제 31항에 있어서,
    상기 공간 보간은 선형 공간 보간인 것을 특징으로 하는 컴퓨터 시스템.
  35. 제 31항에 있어서,
    상기 공간 보간은 비선형 공간 보간인 것을 특징으로 하는 컴퓨터 시스템.
  36. 제 31항에 있어서,
    상기 공간 보간은 방향 공간 보간인 것을 특징으로 하는 컴퓨터 시스템.
  37. 제 31항에 있어서,
    상기 공간 보간은 비방향 공간 보간인 것을 특징으로 하는 컴퓨터 시스템.
  38. 제 31항에 있어서,
    상기 공간 보간은 하이브리드 공간 보간인 것을 특징으로 하는 컴퓨터 시스템.
  39. 제 31항에 있어서,
    상기 분류하는 단계는,
    적어도 픽셀들 중 분수 F는 비연결된 상태를 갖는 상기 프레임 B의 각 블록을 비연결된 것으로 분류하는 단계; 및
    픽셀들 중 상기 분수 F 미만은 비연결된 상태를 갖는 상기 프레임 B의 각 블록을 단일 연결된 것으로 분류하는 단계를 더 포함하고, 상기 분수 F는 0.30에서 1.00의 범위의 값을 갖는 것을 특징으로 하는 컴퓨터 시스템.
  40. 제 31항에 있어서,
    상기 재분류하는 단계는,
    상기 프레임 B의 각 단일 연결된 블록에 대한 상기 프레임 A의 매칭된 블록을 결정하는 단계; 및
    상기 프레임 B의 단일 연결된 블록과 그 매칭되는 상기 프레임 A의 블록 사이의 제곱-평균 변위 프레임 차이(DFD)가 fVMIN을 초과하면, 상기 프레임 B의 단일 연결된 블록을 비연결된 것으로 재분류하는 단계를 더 포함하며, 상기 VMIN은 V1 및 V2의 최소값이고, 상기 V1 및 V2 각각은 상기 프레임 B의 단일 연결된 블록의 픽셀 분산 및 상기 프레임 A의 매칭된 블록의 픽셀 분산이며, 상기 f는 0.40에서 1.00 범위인 것을 특징으로 하는 컴퓨터 시스템.
  41. 제 31항에 있어서,
    상기 카테고리를 나누는 단계는,
    최소 움직임 보상 에러(SMC -MIN)보다 작은 레지듀얼 보간 에러(SRES)를 갖는 상기 프레임 B의 비연결된 블록을 I-블록으로 카테고리를 나누는 단계; 및
    상기 최소 움직임 보상 에러(SMC -MIN)보다 작지 않은 레지듀얼 보간 에러(SRES)를 갖는 상기 프레임 B의 비연결된 블록을 P-블록으로 카테고리를 나누는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 시스템.
KR1020057023767A 2003-06-10 2004-06-09 움직임 보상 시간 필터링에서 i-블록들을 처리하는 방법 Expired - Fee Related KR100782829B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US47718303P 2003-06-10 2003-06-10
US60/477,183 2003-06-10
US10/864,833 US7627040B2 (en) 2003-06-10 2004-06-09 Method for processing I-blocks used with motion compensated temporal filtering
US10/864,833 2004-06-09

Publications (2)

Publication Number Publication Date
KR20060036056A KR20060036056A (ko) 2006-04-27
KR100782829B1 true KR100782829B1 (ko) 2007-12-06

Family

ID=33544344

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057023767A Expired - Fee Related KR100782829B1 (ko) 2003-06-10 2004-06-09 움직임 보상 시간 필터링에서 i-블록들을 처리하는 방법

Country Status (3)

Country Link
US (1) US7627040B2 (ko)
KR (1) KR100782829B1 (ko)
WO (1) WO2004111789A2 (ko)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2002951574A0 (en) * 2002-09-20 2002-10-03 Unisearch Limited Method of signalling motion information for efficient scalable video compression
EP1455534A1 (en) * 2003-03-03 2004-09-08 Thomson Licensing S.A. Scalable encoding and decoding of interlaced digital video data
FR2873256A1 (fr) * 2004-07-13 2006-01-20 France Telecom Procede et dispositif de densification de champ de mouvement
JP2008521142A (ja) * 2004-11-17 2008-06-19 ロバート エス. ハワード, 数学的に有限な浮動小数点数の写像のためのシステムおよび方法
US7894522B2 (en) * 2005-09-16 2011-02-22 Sony Corporation Classified filtering for temporal prediction
CN100387063C (zh) * 2005-12-01 2008-05-07 西安交通大学 可伸缩视频编码中的三维码率控制方法
TWI335184B (en) * 2007-05-09 2010-12-21 Himax Tech Ltd Method of doubling frame rate of video signals
JP4826546B2 (ja) 2007-06-18 2011-11-30 ソニー株式会社 画像処理装置、画像処理方法、及びプログラム
JP4877090B2 (ja) * 2007-06-18 2012-02-15 ソニー株式会社 画像処理装置、画像処理方法、及びプログラム
KR101563554B1 (ko) * 2008-08-01 2015-10-27 퀄컴 테크놀로지스, 인크. 잡음 제거를 위한 통합 시간 필터를 구비한 비디오 인코더
CN102217315B (zh) * 2008-11-12 2016-03-09 汤姆森特许公司 用于画面组的并行多线程视频编码的i帧去闪烁
EP2347518A4 (en) * 2008-11-12 2012-10-17 Thomson Licensing LIGHT CHANGE CODING
JP5774995B2 (ja) * 2008-11-13 2015-09-09 トムソン ライセンシングThomson Licensing Gopマージおよびビット割付けを用いたマルチスレッド・ビデオ符号化
WO2011128272A2 (en) * 2010-04-13 2011-10-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Hybrid video decoder, hybrid video encoder, data stream
US8503528B2 (en) * 2010-09-15 2013-08-06 Google Inc. System and method for encoding video using temporal filter
WO2012134046A2 (ko) 2011-04-01 2012-10-04 주식회사 아이벡스피티홀딩스 동영상의 부호화 방법
US8780971B1 (en) 2011-04-07 2014-07-15 Google, Inc. System and method of encoding using selectable loop filters
US8781004B1 (en) 2011-04-07 2014-07-15 Google Inc. System and method for encoding video using variable loop filter
US8780996B2 (en) 2011-04-07 2014-07-15 Google, Inc. System and method for encoding and decoding video data
US8885706B2 (en) 2011-09-16 2014-11-11 Google Inc. Apparatus and methodology for a video codec system with noise reduction capability
KR20130049522A (ko) * 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 방법
TWI580264B (zh) * 2011-11-10 2017-04-21 Sony Corp Image processing apparatus and method
US9131073B1 (en) 2012-03-02 2015-09-08 Google Inc. Motion estimation aided noise reduction
KR101659914B1 (ko) * 2012-04-30 2016-09-26 맥마스터 유니버시티 고화질 비디오에 대한 디인터레이싱 및 프레임률 업컨버전
US9344729B1 (en) 2012-07-11 2016-05-17 Google Inc. Selective prediction signal filtering
US10102613B2 (en) 2014-09-25 2018-10-16 Google Llc Frequency-domain denoising
KR101754527B1 (ko) * 2015-03-09 2017-07-06 한국항공우주연구원 패킷 부호화 장치 및 방법
US11490108B2 (en) 2017-08-29 2022-11-01 Kt Corporation Method of decoding/encoding a video signal with sub-block based motion vector derivation
KR102772028B1 (ko) 2017-09-15 2025-02-26 소니그룹주식회사 화상 처리 장치 및 방법
CN111131830B (zh) 2018-10-31 2024-04-12 北京字节跳动网络技术有限公司 重叠块运动补偿的改进
CN113366831B (zh) * 2019-01-13 2024-04-05 北京字节跳动网络技术有限公司 重叠块运动补偿和其他工具之间的协调
US20220038653A1 (en) * 2020-07-30 2022-02-03 Nvidia Corporation Techniques to generate interpolated video frames
US12568184B2 (en) 2020-07-30 2026-03-03 Nvidia Corporation Techniques to generate interpolated video frames

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108448A (en) 1997-06-12 2000-08-22 International Business Machines Corporation System and method for extracting spatially reduced image sequences in a motion compensated compressed format

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4849810A (en) * 1987-06-02 1989-07-18 Picturetel Corporation Hierarchial encoding method and apparatus for efficiently communicating image sequences
US5361105A (en) * 1993-03-05 1994-11-01 Matsushita Electric Corporation Of America Noise reduction system using multi-frame motion estimation, outlier rejection and trajectory correction
US5408274A (en) * 1993-03-11 1995-04-18 The Regents Of The University Of California Method and apparatus for compositing compressed video data
US5473384A (en) * 1993-12-16 1995-12-05 At&T Corp. Method of and system for enhancing distorted graphical information
US5512956A (en) * 1994-02-04 1996-04-30 At&T Corp. Adaptive spatial-temporal postprocessing for low bit-rate coded image sequences
US5621467A (en) * 1995-02-16 1997-04-15 Thomson Multimedia S.A. Temporal-spatial error concealment apparatus and method for video signal processors
KR0174453B1 (ko) * 1995-02-28 1999-03-20 배순훈 디지털 영상 복호화 방법
KR20010105362A (ko) 1999-12-28 2001-11-28 요트.게.아. 롤페즈 정합 추적 알고리즘에 기초한 비디오 인코딩 방법
JP2003518882A (ja) 1999-12-28 2003-06-10 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Snrスケーラブルビデオ符号化方法及び対応する復号化方法
CN101034920A (zh) * 2000-02-23 2007-09-12 Ipr特许公司 反向链路初始功率的设定
WO2001078402A1 (en) * 2000-04-11 2001-10-18 Koninklijke Philips Electronics N.V. Video encoding and decoding method
US20020037046A1 (en) 2000-09-22 2002-03-28 Philips Electronics North America Corporation Totally embedded FGS video coding with motion compensation
KR100783396B1 (ko) 2001-04-19 2007-12-10 엘지전자 주식회사 부호기의 서브밴드 분할을 이용한 시공간 스케일러빌러티방법
US20030202599A1 (en) * 2002-04-29 2003-10-30 Koninklijke Philips Electronics N.V. Scalable wavelet based coding using motion compensated temporal filtering based on multiple reference frames
US7042946B2 (en) * 2002-04-29 2006-05-09 Koninklijke Philips Electronics N.V. Wavelet based coding using motion compensated filtering based on both single and multiple reference frames
US7023923B2 (en) * 2002-04-29 2006-04-04 Koninklijke Philips Electronics N.V. Motion compensated temporal filtering based on multiple reference frames for wavelet based coding
US20040008785A1 (en) 2002-07-15 2004-01-15 Koninklijke Philips Electronics N.V. L-frames with both filtered and unfilterd regions for motion comensated temporal filtering in wavelet based coding
US7408986B2 (en) * 2003-06-13 2008-08-05 Microsoft Corporation Increasing motion smoothness using frame interpolation with motion analysis
US7346224B2 (en) * 2003-11-07 2008-03-18 Mitsubishi Electric Research Laboratories, Inc. System and method for classifying pixels in images

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108448A (en) 1997-06-12 2000-08-22 International Business Machines Corporation System and method for extracting spatially reduced image sequences in a motion compensated compressed format

Also Published As

Publication number Publication date
US20040264576A1 (en) 2004-12-30
KR20060036056A (ko) 2006-04-27
WO2004111789A2 (en) 2004-12-23
WO2004111789A3 (en) 2005-06-02
US7627040B2 (en) 2009-12-01

Similar Documents

Publication Publication Date Title
KR100782829B1 (ko) 움직임 보상 시간 필터링에서 i-블록들을 처리하는 방법
KR100788707B1 (ko) Mctf 스케일러블 비디오 코더에서 가변 크기 블록들의중복 블록 움직임 보상
CN101352046B (zh) 图像编码/解码方法与装置
CA2142150C (en) Motion compensation for interlaced digital video signals
US7379501B2 (en) Differential coding of interpolation filters
US8619860B2 (en) System and method for scalable encoding and decoding of multimedia data using multiple layers
EP0542261B1 (en) Method of performing high efficiency coding of image signal and system therefor
US20100177975A1 (en) Apparatus and method for generating coded block pattern for alpha channel image and alpha channel image encoding/decoding apparatus and method using the same
WO2010087620A2 (ko) 보간 필터를 적응적으로 사용하여 영상을 부호화 및 복호화하는 방법 및 장치
US8855198B2 (en) Moving picture encoding method, moving picture decoding method, moving picture encoding device, moving picture decoding device, and computer program
US20100104022A1 (en) Method and apparatus for video processing using macroblock mode refinement
AU752219B2 (en) Apparatus and method for compressing video information
WO2011090352A2 (ko) 영역 기반의 부호화/복호화 장치 및 방법
US6804299B2 (en) Methods and systems for reducing requantization-originated generational error in predictive video streams using motion compensation
WO2011068332A2 (ko) 공간적 예측장치 및 그 예측방법, 그것을 이용한 영상 부호화 장치 및 방법, 및 영상 복호화 장치 및 방법
CA2200731A1 (en) Method and apparatus for regenerating a dense motion vector field
CN100521778C (zh) 处理运动补偿时间过滤使用的i-块的方法
KR100577364B1 (ko) 적응형 프레임간 비디오 코딩방법, 상기 방법을 위한 컴퓨터로 읽을 수 있는 기록매체, 및 장치
Wang et al. An efficient dual-interpolator architecture for sub-pixel motion estimation
Carrato Video data compression using multilayer perceptrons
KR20190084929A (ko) 인트라 모드를 이용한 쿼터 픽셀 해상도를 갖는 영상 보간 방법 및 장치
Wu et al. A New Multiple Description Motion Compensation Video Coding Scheme for H. 264
Waingankar et al. Low Bit Rate Video Signal Processing Using Dynamic Profiling
JPH03295378A (ja) 画像符号化装置
Ng et al. An adaptive multiresolution modification of the H. 263 video coding algorithm

Legal Events

Date Code Title Description
A201 Request for examination
PA0105 International application

St.27 status event code: A-0-1-A10-A15-nap-PA0105

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

R15-X000 Change to inventor requested

St.27 status event code: A-3-3-R10-R15-oth-X000

R16-X000 Change to inventor recorded

St.27 status event code: A-3-3-R10-R16-oth-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U12-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

FPAY Annual fee payment

Payment date: 20121030

Year of fee payment: 6

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

FPAY Annual fee payment

Payment date: 20131030

Year of fee payment: 7

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

FPAY Annual fee payment

Payment date: 20141030

Year of fee payment: 8

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 8

FPAY Annual fee payment

Payment date: 20151029

Year of fee payment: 9

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 9

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20161201

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20161201