KR20080053935A - 비디오 시퀀스에서 가변 외형 움직임 추정 - Google Patents

비디오 시퀀스에서 가변 외형 움직임 추정 Download PDF

Info

Publication number
KR20080053935A
KR20080053935A KR1020087008978A KR20087008978A KR20080053935A KR 20080053935 A KR20080053935 A KR 20080053935A KR 1020087008978 A KR1020087008978 A KR 1020087008978A KR 20087008978 A KR20087008978 A KR 20087008978A KR 20080053935 A KR20080053935 A KR 20080053935A
Authority
KR
South Korea
Prior art keywords
combination
value
acceptable
block
blocks
Prior art date
Application number
KR1020087008978A
Other languages
English (en)
Other versions
KR101362545B1 (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 KR20080053935A publication Critical patent/KR20080053935A/ko
Application granted granted Critical
Publication of KR101362545B1 publication Critical patent/KR101362545B1/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • 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/57Motion estimation characterised by a search window with variable size or shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/12Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal

Landscapes

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

Abstract

타겟 이미지에서 가변-외형 블록을 작성하는 방법은, 타겟 블록의 초기 패턴을 생성하는 단계, 타겟 블록의 허용 가능한 조합을 식별하는 단계, 각각의 허용 가능한 조합에 대한 조합값을 계산하는 단계, 상기 조합값을 사용하여 허용 가능한 조합 중 하나를 선택하는 단계, 및 상기 선택된 허용 가능한 조합을 수행하여 가변-외형 블록을 작성하는 단계를 포함한다.
타겟 이미지, 가변-외형 블록, 타겟 블록, 초기 패턴, 허용 가능한 조합, 조합값

Description

비디오 시퀀스에서 가변 외형 움직임 추정{VARIABLE SHAPE MOTION ESTIMATION IN VIDEO SEQUENCE}
본 발명은 비디오 압축 분야에 관한 것이다.
비디오 시퀀스에 대한 고압축 이득은 이미지들(프레임들) 간의 시간적 중복성을 제거함으로써 달성될 수 있다. 예를 들어, 이미지를 인코드하는 경우, 미리 인코드된 이미지들에 기초하여 인코드될 이미지의 시간 예측이 생성된다. 그 시간 예측이 실제 이미지와 비교되어, 예측 에러를 결정하고, 그 예측 에러는 인코드된다. 예측은 널리 사용되는 블록-기반 움직임 추정 및 보상 방법(예컨대, MPEG 표준)을 사용하여 실시될 수 있다.
움직임 보상 및 추정 방법이 사용되어, 하나 이상의 기준 이미지 내에서 기준 블록을 발견하여 타겟 이미지 내에서 대응 타겟 블록의 위치를 예측함으로써, 그 결과 통상적으로 예측 에러 및 움직임 벡터인 타겟 블록의 예측 잔여만 코드될 필요가 있다. 이러한 방법들은 블록 매칭을 수행하여 타겟 이미지 내에서의 대응 타겟 블록과 가장 유사한 기준 이미지 내에서의 픽셀의 기준 블록을 식별한다.
도 1은 예시적인 움직임 벡터, 기준 블록, 및 타겟 블록의 개략도이다. 타겟 이미지(120)는 기준 이미지(110)로부터의 정보를 이용하여 인코딩될 것이다. 기준 블록(115)은 기준 이미지(110) 내에서, 타겟 이미지(120) 내의 타겟 블록(125)에 가장 밀접하게 매치하는 블록으로서 식별된다. 기준 블록이 식별된 이후에, 움직임 벡터(130)(단지 예시적인 목적으로 화살표로 도시됨)가 생성되어 기준 블록(115)의 위치에 대응하는 타겟 블록(125)의 위치를 식별한다. 움직임 벡터(130)는 기준 블록(115)과 타겟 블록(125) 간의 관계를 나타내는 2개의 요소로서: 수평 변위(horizontal displacement) 및 수직 변위(vertical displacement)를 갖는다. 예를 들어, 실례로 3×3 화소 그룹인 기준 블록(115)은 위치 (i', j')에 있고, 타겟 블록(125)은 위치 (i, j)에 있다. 두 개 블록 간의 거리는 움직임 벡터 (i'-i, j'-j)이다.
움직임 벡터의 값은 기준 블록과 함께 비디오 압축에 사용되고, 타겟 블록에 대한 예측값 생성에 사용된다. 예를 들어, 타겟 블록 S가 움직임 벡터 및 대응 기준 블록과 관련되는 경우, 타겟 블록 내의 각 화소는 다음과 같이 예측된다.
Figure 112008026703707-PCT00001
여기서,
Figure 112008026703707-PCT00002
는 화소 좌표 (x,y)에 위치한, 타겟 블록 내의 예측 화소값이고, t는 타겟 이미지의 시간 인덱스이고, v(x+mx,y_my,k)는 기준 블록 내의 화소값(k에 의해 인덱스됨)이고, [mx,my]는 타겟 블록 내에서 예측될 화소의 위치에 대응하는 기준 블록 내의 화소의 오프셋을 나타내기 위한 움직임 벡터이다.
전체 타겟 이미지를 예측하기 위해, 통상의 방법에서는 타겟 이미지를 여러 개의 비-중첩 타겟 블록으로 나눈다. 그 다음, 각 타겟 블록에 대한 움직임 추정이 수행되어 그것의 대응 기준 블록과 움직임 벡터를 결정한다. 일반적으로, 움직임 추정 프로세스에 의해 작성된 타겟 및 기준 블록은 동일한 외형(shape)을 갖고 동일한 양의 화소를 포함하여, 각 타겟과 기준 화소 사이는 일대일 맵핑이다.
타겟 블록을 작성하는 방법의 일례는 MPEG에서 발견될 수 있고, 이는, 타겟 이미지를 고정된 양의 화소(즉, 16×16 화소)를 갖는 타겟 블록으로 나눈다. 보다 개선된 비디오 코덱들은 타겟 블록의 외형과 사이즈의 변화를 허용한다(일부 제한이 있음). 예를 들어, MPEG/AVC는 블록 사이즈가 4×4에서 16×16까지 변하는 것을 허용한다.
일반적으로, 전통적인 블록 작성 방법은 고정 사이즈 및 통상 패턴의 타겟 및 기준 블록을 작성하는 경우에 적합하다. 반면에, 움직임 추정 방법은 타겟 및 기준 블록이 가변 외형 및 사이즈를 갖는 경우에 더 나은 예측 성과를 거둔다. 그러나, 사이즈 및 외형에 있어서 변하는 효율적인 패턴의 타겟 블록을 작성하는 것은 전통적인 블록 작성 방법의 능력을 벗어난다. 움직임 추정 방법에 의해 사용될 타겟 이미지 내의 가변 외형 블록을 효율적으로 작성하는 방법이 필요하다.
타겟 이미지 내의 가변-외형 블록을 작성하는 방법은, 타겟 블록의 초기 패턴을 생성하는 단계, 타겟 블록의 허용 가능한 조합을 식별하는 단계, 각 허용 가능한 조합에 대한 조합 값을 계산하는 단계, 조합 값을 사용하여 허용 가능한 조합 중 하나를 선택하는 단계, 및 선택된 허용 가능한 조합을 수행하여 가변-외형 블록을 작성하는 단계를 포함한다.
본 발명은 예에 의해 설명되며, 후속하는 설명은 첨부 도면을 참조함으로써 더욱 잘 이해될 수 있을 것이다.
도 1은 예시적인 움직임 벡터, 기준 블록, 및 타겟 블록의 개략도이다.
도 2는 움직임 추정을 위한 가변-외형 블록 작성 방법의 일례이다.
도 3A, 3B, 3C, 및 3D는 움직임 추정을 위한 가변-외형 블록 작성 방법에 의해 사용된 허용 가능한 외형 및 외형의 조합의 예를 도시한다.
도 4는 움직임 추정을 위한 가변-외형 블록 작성 방법에 의해 사용된 허용 가능한 블록 조합을 위한 허용 가능한 위치의 일례를 도시한다.
도 5는 움직임 추정을 위한 가변-외형 블록 작성 방법의 또 다른 예이다.
도 6은 가변-외형 블록 작성 방법을 사용하는 시스템의 일례를 도시한다.
이하의 설명에서, 그 일부를 형성하고 본 발명이 실시되는 특정 실시예를 예시로서 도시된 첨부된 도면을 참조한다. 다른 실시예들이 활용될 수 있고, 본 발명의 범주에서 벗어나지 않고 구조적 변경이 실시될 수 있다. 예를 들면, 당업자라면, 다양한 실시예를 설명하는데 이용되는 이미지라는 용어는 일반적으로 비디오 데이터를 참조하여 이용되는 바와 같이 필드, 프레임, 또는 픽처라는 용어와 교환가능하다는 것을 이해할 것이다.
움직임 추정에 사용하기 위한 가변-외형 타겟 블록의 패턴을 작성하는 방법 이 제공된다. 상기 방법은, 타겟 이미지 및 기준 이미지를 수신하고, 타겟 이미지를 다양한 외형 및 사이즈의 타겟 블록으로 나누고, 각 가변-외형 타겟 블록에 대한 움직임 벡터를 생성한다. 일 실시예에서, 상기 방법은 반복적으로 및 적응적으로 보다 작은 블록을 보다 큰 블록으로 합체하여 가변-외형 블록을 작성한다.
상기 방법은 예를 들어, 2×2 화소를 포함하는 타겟 블록의 통상 패턴 등, 타겟 블록의 임의의 초기 패턴으로 시작할 수 있다. 상기 방법은 보다 큰 블록을 형성할 수 있는 보다 작은 블록의 허용 가능한 조합을 식별한다. 각각의 허용 가능한 조합에 대해, 그것의 비용과 이익을 반영하는 값이 결정된다. 조합의 비용은 예측 에러에 있어서의 증가분이고, 이득은 보다 큰 블록에 대해 감소된 움직임 벡터의 수이다. 용인할 수 있는 값을 갖는 허용 가능한 조합이 식별된 이후에, 관련있는 보다 작은 블록들이 조합되어 보다 큰 블록을 형성하고, 보다 큰 블록에 대한 새로운 움직임 벡터가 결정된다. 상기 방법은 원하는 정지 지점에 도달할 때까지 반복될 수 있다. 예를 들어, 일 실시예에서, 상기 방법은 타겟 이미지 내의 블록의 수가 주어진 수 아래로 떨어질 때까지 계속된다.
가변-외형 블록을 작성하는 방법의 일례가 도 2에 도시된다. 210에서, 타겟 블록에 대해 허용 가능한 외형이 정의된다. 일반적으로, 상기 방법은 임의의 외형을 갖는 블록의 초기 패턴으로 시작할 수 있고, 블록의 임의의 조합을 수행하여 임의의(arbitrarily) 외형을 갖는 블록의 출력 패턴을 작성할 수 있다. 상기 방법에 의해 작성되는 외형이 많을수록, 움직임 추정의 성과는 더 좋아 진다. 그러나, 외형의 수가 증가할수록 상기 방법 수행의 복잡성이 증가한다. 합리적인 복잡도를 갖는 방법을 수행하기 위해, 일부 실시예는 미리 정해진 수의 허용 가능한 외형 및 미리 정해진 수의 허용 가능한 조합을 사용한다.
이 예에서, 복잡성을 줄이기 위해, 210에서, 간단한 외형 집합, 예컨대, 사각형 블록이 정의되어, 초과적인 수의 계산을 수행하지 않고도 보다 작은 외형을 보다 큰 외형으로 합체시킬 수 있다. 210에서 정의된 허용 가능한 외형의 예는 도 3A에 도시되며, 이는 2×2 블록의 화소(302), 2×4 블록(304), 및 4×4 블록(306)을 포함한다.
215에서, 보다 작은 블록을 보다 큰 블록으로 합체하는 허용 가능한 조합이 정의된다. 허용가능한 조합에 대한 일부 예시적인 정의는: (1) 서로 접속된 단지 현존하는 (보다 작은) 외형들이 하나의 보다 큰 외형으로 합체될 수 있다는 것, (2) 보다 큰 외형이 현존하는 미리 정의된 외형이라는 것, 및 (3) 보다 큰 외형이 타겟 이미지 내에서 허용 가능한 위치에 놓인다는 것을 포함한다. 이러한 정의들은 전체 픽처에서 허용 가능한 조합의 수를 상당히 줄이고, 따라서, 가변-외형 블록의 작성의 복잡성을 줄인다. 상기 정의는 시스템에 의해 설정되거나 사용자에 의해 선택될 수 있으므로, 허용 가능한 조합의 수는 움직임 추정을 적절하게 수행할 수 있을 만큼 충분히 크고, 가변-외형 블록 작성의 복잡도를 다루기 쉬울 정도로 줄일 수 있을 만큼 충분히 작다.
보다 작은 블록을 보다 큰 블록으로 합체하는 허용 가능한 조합의 예는 도 3B, 3C, 및 3D에 도시된다. 도 3B에서, 2×2 화소의 블록은 또 다른 2×2 화소의 블록과 조합되는 것이 허용되어, 2×4 화소의 보다 큰 블록을 형성한다. 도 3C에 서, 2×2 화소의 블록이 4×4 화소의 보다 큰 블록으로 합체되는 것이 허용된다. 도 3D에서, 2×2 화소의 2개의 블록과 2×4 화소의 하나의 블록이 4×4 화소의 보다 큰 블록으로 합체되는 것이 허용된다.
허용 가능한 조합의 정의는 허용 가능한 조합의 위치도 포함할 수 있다. 예를 들면, 2×4 외형을 갖는 블록은, 블록 내에서 선택된 화소가 2의 배수인 y-좌표, 또는 4의 배수인 x-좌표(예컨대, y=0, 2, 4,.. 또는 x=0, 4, 8,...)에 위치하는 경우에 특정한 위치에 허용될 수 있다. 조합된 블록에 대해 허용 가능한 및 금지된 위치의 예는 도 4에 도시된다. 보다 작은 블록이 보다 큰 블록(410)으로 합체되는 조합이 허용되는데, 이는 보다 큰 블록의 위치가 2의 배수인 x-좌표 4를 갖기 때문이다. 반면에, 블록(420)을 형성하는 조합은 금지되는데, 이는 블록(420)의 x-좌표가 9이고, 이는 2의 배수가 아니기 때문이다.
또 다른 예로서, 사용자는, 그의 선택된 화소가 2의 배수인 x 및 y 좌표(예컨대, y=0,2,4,8... 및 x=0,2,4,8...)에 위치하는 경우에 작성될 4×4 블록을 허용할 수 있다. 도 4에서, 블록(430)은 작성되도록 허용될 수 있는데, 이는 선택된 화소가 x-좌표 2, y-좌표 2를 갖기 때문이다. 블록(440)은 금지되는데, 이는 그의 y-좌표는 2의 배수이지만, 그의 x-좌표가 9이기 때문이다. 미리 정의된 허용 가능한 위치에 대한 이러한 예들에 도시된 바와 같이, 2×4 또는 4×4 블록을 작성하기 위해 모든 2×2 블록이 조합될 수 있는 것은 아니다. 허용 가능한 위치의 수는 움직임 추정 성과 및 계산 복잡도를 비교 평가한다.
220에서, 전체 타겟 이미지에 대한 타겟 블록의 초기 패턴이 생성된다. 이 예에서, 초기 패턴은 210에서 정의된 허용 가능한 외형을 사용하여 생성된다. 생성된 초기 패턴은 고정 사이즈의 작은 블록(예컨대, 2×2 블록)의 통상 패턴일 수 있다. 초기 패턴이 생성된 이후에, 225에서 각 타겟 블록에 대해 움직임 벡터가 결정된다. 많은 현존 알고리즘이 사용되어 움직임 벡터를 발견할 수 있다(예컨대, MPEG에서). 초기 블록수, N block , 및 초기 움직임 벡터수, N mv 가 기록된다.
230에서, 움직임 벡터를 사용하여 각 블록에 대한 움직임 추정이 수행되어, 타겟 블록의 예측 및 관련 예측 에러를 생성한다. 235에서, 예측 에러가 사용되어 타겟 블록의 움직임 보상 예측의 왜곡 D S 을 계산한다. 왜곡은 타겟 블록의 예측 성과의 측정치이다. 왜곡을 결정하는데 서로 다른 함수들이 사용될 수 있다. 일례는 화소 예측 에러의 제곱의 총합이다.
Figure 112008026703707-PCT00003
여기서, x,y∈S는 타겟 블록 S 내의 모든 화소를 나타내고, v x ,y 는 타겟 픽처에서 원래 화소값이고,
Figure 112008026703707-PCT00004
는 타겟 화소의 예측값이다. 예측 값은 움직임 벡터를 사용하여 결정되어 기준 이미지 내의 화소를 식별한다.
왜곡 함수의 또 다른 예는 예측 에러의 절대값의 총 합이다.
Figure 112008026703707-PCT00005
이러한 함수들이나 또 다른 함수 중 어느 하나가 사용자에 의해 선택되어 타겟 블록의 왜곡을 측정할 수 있다.
240에서, 허용 가능한 조합의 정의가 사용되어 타겟 이미지 내에 현존하는 블록의 허용 가능한 조합을 식별한다. 임의의 허용 가능한 조합으로부터 형성될 수 있는 보다 큰 블록 각각의 움직임 벡터도 결정된다. 당업자에게 공지된 움직임 추정 방법이 사용되어 움직임 벡터를 결정할 수도 있다.
245에서, 각각의 허용 가능한 조합에 대한 조합 값이 결정된다. 허용 가능한 조합이 수행되는 경우, 그 결과물은 왜곡에 있어서는 증가분이지만 움직임 벡터의 수에 있어서는 감소분이다. 따라서, 보다 작은 블록을 보다 큰 블록으로 합체하는 조합에 의해 왜곡이 증가되더라도, 보다 작은 블록에 대해 더 이상 필요없는 움직임 벡터는 움직임 추정 방법에 이용할 수 있게 된다. 그 결과, 예측 타겟 이미지의 왜곡에 있어서의 총체적인 감소를 야기한다. 허용 가능한 조합이 수행되어야 하는지 여부를 결정하기 위해, 조합을 수행하는 비용은 이익에 불리하게 작용한다. 비용 대 이익은 증가된 왜곡과 감소된 이동 벡터수의 함수로 표현될 수 있다. 이익에 불리하게 작용하는 조합 비용에 대한 함수의 예는 다음과 같다.
Figure 112008026703707-PCT00006
여기서, M은 조합 값이다. 조합 값이 사용되어 타겟 이미지의 특정 영역에서 다수의 허용 가능한 블록 조합들을 비교한다.
왜곡에 있어서의 증가분은, 결과적으로 보다 큰 블록의 왜곡으로부터 허용 가능한 조합 내에서의 보다 작은 블록의 총 왜곡을 빼는 계산에 의한 왜곡 차 ΔD에 의해 결정된다. 보다 작은 외형의 총 왜곡, D 0 은 허용 가능한 조합에서의 보다 작은 외형의 예측 왜곡 D S 의 총합이다. 보다 작은 외형 각각의 왜곡은 수학식 2 또는 수학식 3과 같은 왜곡 함수를 사용하여 계산된다. 보다 작은 블록의 총 왜곡은 다음과 같다.
Figure 112008026703707-PCT00007
여기서, S∈SL은 허용 가능한 조합에서의 보다 작은 블록 전체를 나타낸다. 조합 이후의 왜곡 D1은, 보다 작은 블록들을 조합함으로써 작성된 보다 큰 블록의 왜곡이다. 일반적으로, 보다 큰 블록에 대한 왜곡량은 보다 작은 블록에 대한 왜곡량보다 크다. 조합에 의해 야기된 증가된 왜곡은 다음과 같다.
Figure 112008026703707-PCT00008
조합의 결과로 얻어진 움직임 벡터 수에 있어서의 감소, ΔRDMS 조합 전에 존재하는 보다 작은 블록에 있어서 움직임 벡터의 수, RO으로부터, 조합에 의해 작성된 보다 큰 블록에 있어서 움직임 벡터의 수, R1을 빼는 것에 의해 결정된다(하나의 기준 이미지가 사용되는 경우, 각 블록에서 움직임 백터의 수는 1이다). 조합으로부터 얻어진 움직임 벡터량에 있어서의 감소는 다음과 같다.
Figure 112008026703707-PCT00009
왜곡에 있어서의 증가분 ΔD 및 움직임 벡터에 있어서의 감소분 ΔR을 계산한 후에, 수학식 4를 사용하여 조합값이 결정된다.
250에서, 조합값이 사용되어 수행될 허용 가능한 조합을 선택한다. 일 실시예에서, 특정한 허용 가능한 조합에 대한 조합값이 타겟 이미지의 특정한 영역에 있는 그 외의 허용 가능한 조합의 값과 비교된다. 그 다음, 최소 조합값을 갖는 허용 가능한 조합이 선택된다.
255에서, 선택된 조합이 수행된다. 선택된 조합의 보다 작은 블록이 보다 큰 블록과 대체된다. 또한, 보다 작은 블록의 움직임 벡터는 보다 큰 블록과 관련된 움직임 벡터와 대체된다.
260에서, 방법은 또 다른 조합을 수행할지 여부를 결정한다. 또 다른 조합을 수행할 것인지 여부를 결정하는데 사용될 수 있는 함수는, 고정된 정지 함수(fixed stopping function) 및 적응성 정지 함수(adaptive stopping function)를 포함한다.
고정된 정지 함수는 타겟 이미지 내의 블록수가 임계수 Th block 이하인 이후에 상기 방법을 정지한다. 예를 들어, 720×480 사이즈를 갖는 이미지(720 수직 라인 및 480 수평 라인)에 대해, 사용자는 타겟 이미지에 대한 최대 블록 수를 1350이 되도록, 즉, Th block = 1350로 설정할 수 있다. 외형의 임계값은 입력 파라미터로서 인코더에 의해 설정되거나 사용자에 의해 특정될 수 있다. 대안적으로, 고정된 정지 함수는 타겟 이미지 내의 움직임 벡터수가 임계수 Th mv 이하인 이후에 방법을 정지한다. (하나의 기준 이미지가 사용되어 타겟 이미지를 예측할 경우, 타겟 외형의 수는 타겟 이미지 내에서 움직임 벡터의 수와 동일하다(Th block =Th mv )). 각각의 반복 실행 이후에, 나머지 외형수(N block ) 또는 움직임 벡터수(N mv )가 기록된다. 인코더가 N block Th blcok (또는 N mv Th mv )임을 검출하였을 때, 방법을 정지한다.
또 다른 정지 함수가 임계값 Th stop 을 사용하여, 또 다른 조합 수행의 이익은 무시해도 좋을 때 방법을 정지한다. 예를 들어, 현재 선택된 허용 가능한 조합의 조합값이 임계값 Th stop 을 초과할 때, 방법은 정지한다. 이로써, 타겟 픽처에서 외형 및 움직임 벡터의 수는 타겟 이미지의 콘텐츠에 적합하게 될 수 있다. 이는 비디오 스트림에서의 이미지들이 큰 시간적 변화를 갖는 경우에 유용하다.
또 다른 조합이 수행될 경우, 265에서, 타겟 픽처의 외형 패턴이 갱신되어 가장 최근의 조합을 반영한다. 또한, 외형수 및 움직임 벡터수의 값, N block N mv 이 갱신되어, 조합에 의해 생성된 변화를 반영한다. 그 다음, 방법을 240으로 되돌아 간다.
더 이상 수행될 조합이 없는 경우, 방법은 270에서 종료한다.
가변-외형 블록을 작성하는 방법의 또 다른 예가 도 5에 도시되는데, 이는 도 2의 방법의 여러 계산들을 보다 간단한 함수로 대체한다. 예를 들어, 도 2에 도시된 방법의 각각의 반복 실행 동안, 조합값은 모든 허용 가능한 조합에 대해 계산된다. 그러나, 특정한 반복 실행에서의 많은 허용 가능한 조합이 이전의 반복 실행에서 존재했고, 따라서, 그들의 조합 값은 이전의 반복 실행 동안 계산되었다. 현재의 반복 실행에 대해 수행된 계산량은 이전에 계산된 값을 재사용함으로써 줄일 수 있다.
도 5의 방법은 움직임 추정을 위한 가변 외형을 작성할 때, 이전에 계산된 비율을 재사용하고, 상기 방법의 현재 반복 실행에서 발생하는 임의의 값들로의 변화를 갱신 및 저장한다. 510에서, 첫 번째 반복 실행 동안, 상기 방법은 허용 가능한 조합에 대한 M의 값을 계산하고, 그 값들을 예를 들어 전자 메모리 디바이스와 같은 컴퓨터 판독가능 매체 내의 다-차원 어레이에 저장한다. 어레이에서, M의 값은 Ml ,x,y로서 인덱스된다. 인덱스에 사용된 l, x 및 y의 정의는 표 1에서 주어진다.
표 1. M값의 인덱스 설명
인덱스 범위 설명
기호
l [l,N L ] 허용 가능한 외형 인덱스
x 외형 l에 대한 허용 가능한 외형 위치 인덱스
허용 가능한 화소 위치 (타겟 픽처에서)
(x-좌표, 수평 방향에서)
y 외형 l에 대한 허용 가능한 외형 위치 인덱스
허용 가능한 화소 위치 (타겟 픽처에서)
(y-좌표, 수직 방향에서)
도 3의 방법의 복잡도는, 여러 다른 값들 대신, 임계값에 특정한 허용 가능한 조합의 조합값을 비교함으로써 더 감수될 수 있어, 그 조합을 수행할지 여부를 판정할 수 있다. 예를 들어, 도 2의 방법에서, 최소 값 M=ΔD|ΔR을 갖는 조합이 선택된다. 그러나, 최소값을 식별하는 경우, 그 방법에 대해, 허용 가능한 조합 전체에 걸친 스캔을 요구받는다. 조합 전체에 걸친 스캔 대신, 도 5의 방법에서 520은, 미리 정해진 임계값, Th merge 에 특정한 허용 가능한 조합에 대한 조합값을 비교한다. M<Th merge 이면, 그 때, 이 조합은 즉시 선택되어 수행되고, 이 반복 실행 동안 그 외의 허용 가능한 조합은 무시된다. 조합값이 임계값 이상이면, 어레이 내의 그 다음 조합값이 임계값에 비교된다. (이 임계값 Th merge 는 위에서 논의된 임계값 Th stop 과는 다르다)
530에서, 방법은 또 다른 조합을 수행할지 여부를 결정한다. 수행하지 않으면, 프로세스는 550에서 종료한다. 수행하면, 540에서, 이 조합에 영향을 받는 M l ,x,y 의 값들이 갱신되고, 프로세스는 520으로 되돌아 간다. 그 결과, 첫 번째 반복 실행 후에, 어레이 내의 M 값의 소부분(fraction)만 다시 계산되고, M 값의 나머지는 변하지 않고 남아 있는다. 이는 복잡도를 감소시키고 방법의 처리 시간을 줄인다.
가변-외형 블록 작성 방법이 수행된 이후에, 가변-외형 블록의 패턴을 재구성하기 위한 정보는 물론, 가변-외형 블록에 대한 움직임 벡터는 재구성을 위해 리코더로 전송된다. 가변-외형 블록의 패턴 및 움직임 벡터는 디코더에 의해 사용되어 타겟 이미지에 대한 움직임 보상을 수행한다.
가변-외형 블록의 패턴을 작성하는 방법은, 임의의 비디오 압축 혹은 움직임 추정 및 움직임 보상이 수행되는 또 다른 애플리케이션에 적용될 수 있다. 상기 방법은 비디오 압축에서 움직임 예측에 관련된 그 외의 방법들과 공동으로 혹은 그와는 독립적으로 작용할 수 있다. 도 6은 가변-외형 블록 작성 방법을 사용하는 시스템의 일례를 도시한다. 디지털 비디오 카메라(610)는 전자적 형태로 이미지를 촬영하고, 압축 디바이스(620)를 사용하여 그 이미지를 처리하며, 이는 압축 및 인코딩 프로세스 동안 가변-외형 블록 작성 방법을 구현한다. 인코드된 이미지는 전자 전송 매체(630)를 통해 디지털 재생 디바이스(640)로 전송된다. 이미지는 디코딩 디바이스(650)에 의해 디코드되는데, 디코딩 프로세스동안 상기 방법을 사용한 다.
본원은 특정 시스템 환경에서 예시적인 실시예들의 관점에서 설명되는 한편, 당업자라면, 본원이 첨부된 청구 범위의 의도 및 범위 내에서 그 외의 및 서로 다른 하드웨어 및 소프트웨어 환경에서 다양한 방식으로 실행될 수 있음을 인지할 것이다

Claims (21)

  1. 전자 데이터 프로세서에 의해 실행되는 방법으로서,
    타겟 블록의 초기 패턴을 생성하는 단계;
    타겟 블록의 허용 가능한 조합을 식별하는 단계;
    각각의 허용 가능한 조합에 대한 조합값을 계산하는 단계;
    상기 조합 값을 사용하여 상기 허용 가능한 조합 중 하나를 선택하는 단계; 및
    상기 선택된 허용 가능한 조합을 수행하여 가변-외형 블록(variable-shaped block)을 작성하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 조합 규칙 세트(a set of combination rules)를 사용하여 상기 허용 가능한 조합을 정의하는 단계를 더 포함하는 방법.
  3. 제1항에 있어서, 상기 조합값은,
    M=ΔD|ΔR
    을 사용하여 계산되고,
    상기 ΔD는 상기 조합으로부터의 왜곡에 있어서의 증가분이고, ΔR은 상기 조합으로부터의 움직임 벡터에 있어서의 감소분이고, M은 상기 조합값인 방법.
  4. 제1항에 있어서, 상기 조합값을 사용하는 단계는, 최소값을 갖는 허용 가능한 조합을 식별하는 단계를 포함하는 방법.
  5. 제1항에 있어서, 상기 조합값을 사용하는 단계는, 임계값 아래의 허용 가능한 조합을 식별하는 단계를 포함하는 방법.
  6. 제1항에 있어서, 가변-외형 블록의 수가 임계값보다 적을 때까지 상기 방법을 반복하는 단계를 더 포함하는 방법.
  7. 제1항에 있어서, 선택된 허용 가능한 조합의 조합값이 임계값보다 적을 때까지 상기 방법을 반복하는 단계를 더 포함하는 방법.
  8. 타겟 블록의 초기 패턴을 생성하는 생성기;
    타겟 블록의 허용 가능한 조합을 식별하는 식별기;
    각각의 허용 가능한 조합에 대한 조합값을 계산하는 계산기;
    상기 조합값을 사용하여 상기 허용 가능한 조합 중 하나를 선택하는 선택기; 및
    성기 선택된 허용 가능한 조합을 수행하여 가변-외형 블록을 작성하는 블록 작성기
    를 포함하는 장치.
  9. 제8항에 있어서, 조합 규칙 세트를 사용하여 상기 허용 가능한 조합을 사용하는 정의기(definer)를 더 포함하는 장치.
  10. 제8항에 있어서, 상기 조합값은
    M=ΔD|ΔR
    을 사용하여 계산되고,
    상기 ΔD는 상기 조합으로부터의 왜곡에 있어서의 증가분이고, ΔR은 상기 조합으로부터의 움직임 벡터에 있어서의 감소분이고, M은 상기 조합값인 장치.
  11. 제8항에 있어서, 상기 조합값을 사용하는 경우, 최소값을 갖는 허용 가능한 조합을 식별하는 수단을 포함하는 장치.
  12. 제8항에 있어서, 상기 선택기는 임계값 아래의 허용 가능한 조합을 식별하는 장치.
  13. 제8항에 있어서, 가변-외형 블록의 수가 임계값보다 적을 때까지 상기 방법을 반복하는 반복기를 더 포함하는 장치.
  14. 제8항에 있어서, 선택된 허용 가능 조합의 조합값이 임계값보다 적을 때까지 상기 방법을 반복하는 반복기를 더 포함하는 장치.
  15. 프로세싱 시스템에 의해 실행될 때, 상기 시스템이 방법을 실행하게 하는 명령어들의 프로그램을 저장하는 컴퓨터 판독가능 매체로서,
    상기 방법은,
    타겟 블록의 초기 패턴을 작성하는 단계;
    타겟 블록의 허용 가능한 조합을 식별하는 단계;
    각각의 허용 가능한 조합에 대한 조합값을 계산하는 단계;
    상기 조합값을 사용하여 상기 허용 가능한 조합 중 하나를 선택하는 단계; 및
    상기 선택된 허용 가능한 조합을 수행하여 가변-외형 블록을 작성하는 단계를 포함하는 컴퓨터 판독가능 매체.
  16. 제15항에 있어서, 조합 규칙 세트를 사용하여 상기 허용 가능한 조합을 정의하는 단계를 더 포함하는 컴퓨터 판독가능 매체.
  17. 제15항에 있어서, 상기 조합값은
    M=ΔD|ΔR
    을 사용하여 계산되고,
    상기 ΔD는 상기 조합으로부터의 왜곡에 있어서의 증가분이고, ΔR은 상기 조합으로부터의 움직임 벡터에 있어서의 감소분이고, M은 상기 조합값인 컴퓨터 판독가능 매체.
  18. 제15항에 있어서, 상기 조합값을 사용하는 단계는 최소값을 갖는 허용 가능한 조합을 식별하는 단계를 포함하는 컴퓨터 판독가능 매체.
  19. 제15항에 있어서, 상기 조합값을 사용하는 단계는 임계값 아래의 허용 가능한 조합을 식별하는 단계를 포함하는 컴퓨터 판독가능 매체.
  20. 제15항에 있어서, 가변-외형 블록의 수가 임계값보다 적을 때까지 상기 방법을 반복하는 단계를 더 포함하는 컴퓨터 판독가능 매체.
  21. 제15항에 있어서, 선택된 허용 가능한 조합의 조합값이 임계값보다 적을 때까지 상기 방법을 반복하는 단계를 더 포함하는 컴퓨터 판독가능 매체.
KR1020087008978A 2005-09-16 2006-09-01 비디오 시퀀스에서 가변 외형 움직임 추정 KR101362545B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/229,387 US7885335B2 (en) 2005-09-16 2005-09-16 Variable shape motion estimation in video sequence
US11/229,387 2005-09-16
PCT/US2006/034386 WO2007035236A2 (en) 2005-09-16 2006-09-01 Variable shape motion estimation in video sequence

Publications (2)

Publication Number Publication Date
KR20080053935A true KR20080053935A (ko) 2008-06-16
KR101362545B1 KR101362545B1 (ko) 2014-02-14

Family

ID=37884055

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087008978A KR101362545B1 (ko) 2005-09-16 2006-09-01 비디오 시퀀스에서 가변 외형 움직임 추정

Country Status (6)

Country Link
US (1) US7885335B2 (ko)
EP (1) EP1925095A4 (ko)
JP (1) JP5043849B2 (ko)
KR (1) KR101362545B1 (ko)
CN (1) CN101268623B (ko)
WO (1) WO2007035236A2 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100809354B1 (ko) * 2007-02-02 2008-03-05 삼성전자주식회사 복원된 프레임의 프레임율을 업컨버팅하는 장치 및 방법
US20090168871A1 (en) * 2007-12-31 2009-07-02 Ning Lu Video motion estimation
CN102547103A (zh) * 2010-12-28 2012-07-04 华晶科技股份有限公司 电子装置、影像拍摄装置及其方法

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3877105D1 (ko) * 1987-09-30 1993-02-11 Siemens Ag, 8000 Muenchen, De
US5690934A (en) * 1987-12-31 1997-11-25 Tanox Biosystems, Inc. Peptides relating to the extracellular membrane-bound segment of human alpha chain
US5047850A (en) * 1989-03-03 1991-09-10 Matsushita Electric Industrial Co., Ltd. Detector for detecting vector indicating motion of image
US5872866A (en) 1995-04-18 1999-02-16 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression by predetermination of IDCT results based on image characteristics
US5654771A (en) * 1995-05-23 1997-08-05 The University Of Rochester Video compression system using a dense motion vector field and a triangular patch mesh overlay model
WO1997017797A2 (en) * 1995-10-25 1997-05-15 Sarnoff Corporation Apparatus and method for quadtree based variable block size motion estimation
JP3790804B2 (ja) * 1996-04-19 2006-06-28 ノキア コーポレイション 動きに基づく分割及び合併を用いたビデオ・エンコーダ及びデコーダ
US6101276A (en) * 1996-06-21 2000-08-08 Compaq Computer Corporation Method and apparatus for performing two pass quality video compression through pipelining and buffer management
JP3967405B2 (ja) * 1996-10-09 2007-08-29 テキサス インスツルメンツ インコーポレイテツド 画像信号の符号化方法
JP4034380B2 (ja) * 1996-10-31 2008-01-16 株式会社東芝 画像符号化/復号化方法及び装置
DE19648016A1 (de) * 1996-11-20 1998-05-28 Philips Patentverwaltung Verfahren zur fraktalen Bildkodierung und Anordnung zur Durchführung des Verfahrens
WO1998036576A1 (en) * 1997-02-13 1998-08-20 Mitsubishi Denki Kabushiki Kaisha Moving picture prediction system
US6633611B2 (en) * 1997-04-24 2003-10-14 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for region-based moving image encoding and decoding
US6178205B1 (en) * 1997-12-12 2001-01-23 Vtel Corporation Video postfiltering with motion-compensated temporal filtering and/or spatial-adaptive filtering
US6208692B1 (en) * 1997-12-31 2001-03-27 Sarnoff Corporation Apparatus and method for performing scalable hierarchical motion estimation
US6591015B1 (en) * 1998-07-29 2003-07-08 Matsushita Electric Industrial Co., Ltd. Video coding method and apparatus with motion compensation and motion vector estimator
KR100301833B1 (ko) 1998-08-20 2001-09-06 구자홍 오류은폐방법
US6711278B1 (en) 1998-09-10 2004-03-23 Microsoft Corporation Tracking semantic objects in vector image sequences
US6466624B1 (en) * 1998-10-28 2002-10-15 Pixonics, Llc Video decoder with bit stream based enhancements
JP2000308064A (ja) * 1999-04-22 2000-11-02 Mitsubishi Electric Corp 動きベクトル検出装置
US6480615B1 (en) * 1999-06-15 2002-11-12 University Of Washington Motion estimation within a sequence of data frames using optical flow with adaptive gradients
JP3753578B2 (ja) * 1999-12-07 2006-03-08 Necエレクトロニクス株式会社 動きベクトル探索装置および方法
US6864994B1 (en) * 2000-01-19 2005-03-08 Xerox Corporation High-speed, high-quality descreening system and method
WO2001078402A1 (en) 2000-04-11 2001-10-18 Koninklijke Philips Electronics N.V. Video encoding and decoding method
AU2002228884A1 (en) 2000-11-03 2002-05-15 Compression Science Video data compression system
US6782054B2 (en) * 2001-04-20 2004-08-24 Koninklijke Philips Electronics, N.V. Method and apparatus for motion vector estimation
MXPA05000335A (es) * 2002-07-09 2005-03-31 Nokia Corp Metodo y sistema para seleccionar tipo de filtro de interpolacion en codificacion de video.
US7068722B2 (en) * 2002-09-25 2006-06-27 Lsi Logic Corporation Content adaptive video processor using motion compensation
JP4462823B2 (ja) 2002-11-20 2010-05-12 ソニー株式会社 画像信号の処理装置および処理方法、それに使用される係数データの生成装置および生成方法、並びに各方法を実行するためのプログラム
JP3997171B2 (ja) * 2003-03-27 2007-10-24 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法、及び動画像復号プログラム
JP2005012439A (ja) * 2003-06-18 2005-01-13 Nippon Hoso Kyokai <Nhk> 符号化装置、符号化方法および符号化プログラム
US7471724B2 (en) * 2003-06-23 2008-12-30 Vichip Corp. Limited Method and apparatus for adaptive multiple-dimensional signal sequences encoding/decoding
KR20050045746A (ko) * 2003-11-12 2005-05-17 삼성전자주식회사 계층 구조의 가변 블록 크기를 이용한 움직임 추정 방법및 장치
US6872866B1 (en) * 2003-12-15 2005-03-29 Uop Llc Liquid phase process for C8 alkylaromatic isomerization
US7480334B2 (en) * 2003-12-23 2009-01-20 Genesis Microchip Inc. Temporal motion vector filtering
KR20050075483A (ko) 2004-01-15 2005-07-21 삼성전자주식회사 비디오 코딩 및 디코딩 방법, 및 이를 위한 장치

Also Published As

Publication number Publication date
US7885335B2 (en) 2011-02-08
JP5043849B2 (ja) 2012-10-10
KR101362545B1 (ko) 2014-02-14
CN101268623A (zh) 2008-09-17
EP1925095A4 (en) 2010-04-28
JP2009509405A (ja) 2009-03-05
WO2007035236A3 (en) 2007-08-02
WO2007035236A2 (en) 2007-03-29
CN101268623B (zh) 2013-05-22
EP1925095A2 (en) 2008-05-28
US20070064810A1 (en) 2007-03-22

Similar Documents

Publication Publication Date Title
JP5021712B2 (ja) 並列補間及びサーチ・ハードウェアを備えた運動評価エンジン
JP7100772B2 (ja) 双方向オプティカル・フローに対するビット幅制御方法およびデバイス
KR101342268B1 (ko) 모션 보상을 위한 자연 형상 영역
JP4922302B2 (ja) 移動物体境界のための適応影響エリアフィルタ
RU2683591C1 (ru) Способ и устройство для компенсации движения с предсказанием
JP5068265B2 (ja) 動きベクトルの選択
US9621901B1 (en) Encoding of computer-generated video content
US20230063062A1 (en) Hardware codec accelerators for high-performance video encoding
CN112075080A (zh) 帧内预测装置、图像编码装置、图像解码装置以及程序
JP6232075B2 (ja) 映像符号化装置及び方法、映像復号装置及び方法、及び、それらのプログラム
JP2006518157A (ja) オブジェクトベースの動き補償の方法及び装置
JP7202091B2 (ja) 画質評価装置、学習装置及びプログラム
KR101362545B1 (ko) 비디오 시퀀스에서 가변 외형 움직임 추정
EP3843399B1 (en) Video image component prediction method and apparatus, and computer storage medium
WO2016179261A1 (en) Methods and apparatus for optical blur modeling for improved video encoding
KR100265721B1 (ko) 2차원삼각형조각선격자모델을이용한동영상의움직임추정방법
JPWO2020054060A1 (ja) 動画像符号化方法及び動画像符号化装置
CN110876082B (zh) 一种视频帧的复杂度的确定方法及装置
CN114598877A (zh) 帧间预测方法及相关设备
JP6317720B2 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム
US20240267529A1 (en) Context-aware quantization for high-performance video encoding
JPH04340886A (ja) 動画像符号化装置及び動画像復号化装置
JP2018186456A (ja) 画像符号化装置、画像符号化方法及びプログラム
JP7310919B2 (ja) フィルタ生成方法、フィルタ生成装置及びプログラム
CN114666600B (zh) 基于不规则模板的数据编码方法、装置、电子设备及介质

Legal Events

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