KR100606140B1 - 적응적 모드 결정에 의한 움직임 예측방법 - Google Patents

적응적 모드 결정에 의한 움직임 예측방법 Download PDF

Info

Publication number
KR100606140B1
KR100606140B1 KR20040091077A KR20040091077A KR100606140B1 KR 100606140 B1 KR100606140 B1 KR 100606140B1 KR 20040091077 A KR20040091077 A KR 20040091077A KR 20040091077 A KR20040091077 A KR 20040091077A KR 100606140 B1 KR100606140 B1 KR 100606140B1
Authority
KR
South Korea
Prior art keywords
motion vector
sad
value
motion
amount
Prior art date
Application number
KR20040091077A
Other languages
English (en)
Other versions
KR20060042485A (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 (주)씨앤에스 테크놀로지
Priority to KR20040091077A priority Critical patent/KR100606140B1/ko
Priority to US11/138,036 priority patent/US7133447B2/en
Priority to CNB2005100758142A priority patent/CN100553333C/zh
Priority to JP2005175147A priority patent/JP4224473B2/ja
Publication of KR20060042485A publication Critical patent/KR20060042485A/ko
Application granted granted Critical
Publication of KR100606140B1 publication Critical patent/KR100606140B1/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
    • 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/567Motion estimation based on rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 적응적 모드 결정에 의한 움직임 예측방법에 관한 것으로, 특히 인터 1MV(motion vector) 모드와 인터 4MV 모드 중에서 하나를 결정할 때 SAD(Sum of absolute Difference) 값뿐만 아니라 양자화 계수, 움직임 벡터 부호화량 및 텍스쳐 부호화량을 함께 고려하여 움직임을 예측하는 방법에 관한 것이다.
본 발명의 적응적 모드 결정에 의한 움직임 예측방법은 동영상 압축에서 시간적인 중복성 제거를 위한 움직임 예측방법에 있어서, 현재 블록에 대한 움직임 벡터 예측값 x 성분과 현재 SAD(Sum of absolute Difference)에 해당되는 x 오프셋 입력을 받아 움직임 벡터 차분치를 계산하여 결과로 MVDx(Motion Vector Difference x)를 내보내는 움직임 벡터 차분치 계산단계; MVDx를 가변장 부호화했을 때 나오는 비트열의 길이를 계산하여 결과로 MVDx 부호화 길이를 내보내는 MVD VLC(Variable Length Coding) 단계; 현재 블록에 대한 움직임 벡터 예측값 y 성분과 현재 SAD에 해당되는 y 오프셋 입력을 받아 움직임 벡터 차분치를 계산하여 결과로 MVDy(Motion Vector Difference y)를 내보내는 움직임 벡터 차분치 계산단계; MVDy를 가변장 부호화했을 때 나오는 비트열의 길이를 계산하여 결과로 MVDy 부호화 길이를 내보내는 MVD VLC 단계; MVDx와 MVDy를 합하여 움직임 벡터 부호화량을 만드는 단계; SAD 값과 지나간 매크로 블록들의 양자화 계수를 이용하여 현재 블록 또는 매크로 블록의 텍스쳐 부호화량을 예측하는 단계; 움직임 벡터 부호화량과 텍스쳐 벡터 부호화량을 이용하여 SAD 보정계수를 생성하는 단계; 및 SAD 값과 SAD 보정계수를 곱하는 단계;를 포함하 여 SAD 값을 보정하는 것을 특징으로 한다.
따라서, 본 발명에 따른 적응적 모드 결정에 의한 움직임 예측방법은 인터 1MV 모드와 인터 4MV 모드 중에서 하나를 결정할 때 SAD 값뿐만 아니라 양자화 계수, 움직임 벡터 부호화량 및 텍스쳐 부호화량을 함께 고려하여 비트율의 고저 또는 움직임의 다소에 관계없이 전체의 부호화량을 최소화시킨다.
적응적 모드, 움직임 예측방법

Description

적응적 모드 결정에 의한 움직임 예측방법{A motion estimation method by a determination of adaptive mode}
도 1은 종래의 MPEG-4에서 매크로 블록(16 ×16 크기의 영상처리 단위)의 영상을 부호화하는 과정을 나타낸 것이다.
도 2는 종래의 움직임 예측방법의 단계별 수행과정을 나타낸 것이다.
도 3은 본 발명에 따른 움직임 예측방법의 SAD(Sum of absolute Difference) 보정방법을 나타낸 것이다.
도 4는 본 발명에 따른 입력된 값을 이용하여 텍스쳐의 부호화량을 예측하는 모델을 나타낸 것이다.
본 발명은 적응적 모드 결정에 의한 움직임 예측방법에 관한 것으로, 특히 인터 1MV(motion vector) 모드와 인터 4MV 모드 중에서 하나를 결정할 때 SAD(Sum of absolute Difference) 값뿐만 아니라 양자화 계수, 움직임 벡터 부호화량 및 텍스쳐 부호화량을 함께 고려하여 움직임을 예측하는 방법에 관한 것이다.
종래의 움직임 예측방법은 인터 1MV 모드와 인터 4MV 모드 중에서 하나를 결 정할 때, 인터 1MV 모드에 고정된 가중치를 두고 현재 프레임 블록과 이전 프레임 블록의 차분치에 해당하는 SAD 값만 고려해 왔다. 그 결과로, 낮은 비트율에서 움직임이 비교적 많은 경우는 인터 4MV 모드로 결정함으로써 줄어드는 텍스쳐 부호화량보다 증가하는 움직임 벡터의 부호화량이 현저하게 커져 전체 부호화량이 오히려 증가하는 역효과가 발생한다. 인터 4MV 모드에서는 인터 1MV 모드에 비해 상대적으로 많은 양의 움직임 벡터가 발생하여 비트율이 높을 때는 줄어드는 텍스쳐 부호화량이 커서 움직임 벡터의 부호화량이 증가하더라도 전체적으로 부호화량의 감소를 기대할 수 있는 데, 양자화 계수가 커지거나(즉, 텍스쳐 부호화량 감소폭이 줄어들거나) 움직임이 많으면(즉, 움직임 벡터 증가폭이 커지면) 인터 4MV 모드가 오히려 더 많은 부호화량을 초래하는 문제점이 있다.
대한민국 공개특허 제2001-0082934호에서도 움직임 벡터 부호화량을 고려하고 있으나, 본 발명과는 달리 직접적이지 않고 제로 벡터 중간 예측기(zero vector median predictor)가 특정 드레시홀드(threshold)보다 작으면 그것들을 선택하는 방식으로 움직임 벡터 차분치의 길이를 줄이려고 시도한다. 그리고 대한민국 공개특허 제2004-0008360호에서도 움직임 벡터의 부호화를 고려하고 있으나, 단순히 움직임 벡터의 부호화 길이만 고려하고 텍스쳐 부호화량은 전혀 다루지 않고 있다.
이하, 종래기술의 실시예에 대한 구성 및 그 작용을 첨부한 도면을 참조하면서 상세히 설명하기로 한다.
도 1은 종래의 MPEG-4에서 매크로 블록(16 ×16 크기의 영상처리 단위)의 영상을 부호화하는 과정을 나타낸 것이다. ME(Motion Estimation, 10)는 이전 프레임의 휘도성분과 현재 프레임의 휘도성분을 비교하여 움직임을 찾아내는 작업으로서 매크로 블록 또는 블록(8 ×8 크기의 영상처리 단위)별로 이전 프레임으로부터 이동한 정도를 나타내는 움직임 벡터의 값을 돌려준다. 이 후의 과정 (11)~(16)은 블록단위로 처리되며, 텍스쳐 부호화라고 한다. 텍스쳐 부호화는 한 매크로 블록에 포함된 4개의 휘도 블록과 2개의 색차 블록 각각에 대해 한 번씩 수행된다. MC(-)(Motion Compensation minus, 11)는 ME(10)에서 구한 움직임 벡터를 이용하여 현재 블록 화소값에서 이전 프레임의 화소값을 빼는 과정이다. 이 과정을 거치면 이전 프레임과의 화소차만 남게 되어 부호화해야 할 정보의 양이 줄어든다. DCT/Q(Discrete Cosine Transform/Quantization, 12)에서는 MC(-)(11)를 거친 공간영역의 데이터를 주파수 영역의 데이터로 변환시키고, 정보의 양을 줄이기 위해 양자화를 수행한다. ADP(AC/DC Prediction, 13)는 인트라 매크로 블록에서만 수행하는 것으로 인접 블록들의 AC/DC(Alternate Current/Direct Current) 계수와의 차분치를 구한다. 이는 공간적인 중복성을 줄여 부호화량을 줄이는 효과가 있다. VLC(Variable Length Coding, 14)는 데이터들을 가변 장부호화하고, 최종적인 비트스트림(bitstream)을 생성하는 과정이다. IQ/IDCT(Inverse DCT/Inverse Q, 15)와 MC(+)(Motion Compensation plus, 16)는 (12), (11)의 과정을 역으로 수행하여 다시 블록영상을 복원하는 과정으로서 복호기에서 보게 될 데이터가 나온다. 이 데이터를 다음 프레임의 ME(10)에서 사용함으로써 복호기와 부호기가 같은 화면을 이용하여 움직임을 예측하고 보상할 수 있게 된다.
도 2는 종래의 움직임 예측방법의 단계별 수행과정을 나타낸 것이다. 매크로 블록단위 ME(20)는 움직임 검색범위 내의 움직임 벡터(x,y)에 대해 SAD 값들을 계산하고 이 값이 최소화되는 움직임 벡터를 찾는 과정이다. SAD는 수학식 1과 같이 정의된다.
Figure 112004051899628-pat00001
Ci,j는 현재 프레임의 화소값, Pi,j는 이전 프레임의 화소값이다. 매크로 블록 단위 ME(20)에서 나온 SAD 값들 중에서 최소값을 SADi16이라 하자. 블록단위 ME(21)는 각 블록별로 매크로 블록단위 ME(20)에서 구한 움직임 벡터 주위의 -2 ~ +2 범위 내에서 수행한다. 이 경우 SAD는 수학식 2와 같이 정의된다.
Figure 112004051899628-pat00002
또는
Figure 112004051899628-pat00003
블록단위 ME(21)는 매크로 블록 내의 4개의 휘도 블록에 대해 각각 수행된다. 각 블록에 대한 SAD 값들 중에서 최소값을 SADi8_k(k=0,1,2,3)이라 하자. 인트라 파라미터 계산(22)에서는 현재 매크로 블록이 인트라 매크로 블록으로 부호화될 것인지 또는 인터 매크로 블록으로 부호화 될 것인지를 결정하는 파라미터를 수학식 3 및 수학식 4와 같이 계산한다.
Figure 112004051899628-pat00004
Figure 112004051899628-pat00005
인트라 매크로 블록인지 여부를 결정하는 단계(23)에서 이 파라미터와 매크로 블록단위 ME(20), 블록단위 ME(21)에서 구한 SADi16, SADi8_k를 이용하여 인트라 매크로 블록인지 인터 매크로 블록인지를 결정한다. 수학식 5가 참인 것은 인트라 매크로 블록이 될 조건이다. 수학식 5의 우변에서 512를 뺀 것은 일반적으로 인트라모드보다 부호화량이 적은 인터모드를 선호하기 위해서이다. 수학식 5에서 SADinter는 수학식 6에 의해 정의된다. 수학식 6에서 Min()은 괄호 안의 두 수 중에서 크지 않은 수를 의미한다.
Figure 112004051899628-pat00006
Figure 112004051899628-pat00007
인트라 매크로 블록이 되면 움직임 벡터를 0(27)으로 두고 ME 과정이 끝난다. 인터 매크로 블록의 경우는 반화소 ME 단계로 넘어간다. 매크로 블록단위의 반화소 ME(24)는 매크로 블록단위 ME(20)에서 구한 움직임 벡터의 상하, 좌우 및 대각선 8개의 반화소 움직임 벡터에 대해 SAD 값을 계산하고 최소가 되는 움직임 벡터를 찾는 과정이다. 반화소 자리의 화소값은 주변 정수 화소값의 평균값으로 대체된다. 매크로 블록단위의 반화소 ME(24)에서 나온 SAD 값들 중에서 최소값을 SADh16이라 하자. 블록단위 반화소 ME(25)도 블록단위 ME(21)에서 구한 움직임 벡터의 상하, 좌우 및 대각선 8개의 반화소 움직임 벡터에 대해 SAD 값을 계산하고 최소값을 갖는 움직임 벡터를 찾는 과정이다. 반화소 자리의 화소값은 주변 정수 화소값의 평균값으로 대체된다. 블록단위의 반화소 ME(25)는 매크로 블록 내의 4개 휘도 블록에 대해 각각 수행되는데, 각 블록에 대한 SAD 값들 중에서 최소값을 SADh8_k(k=0,1,2,3)이라 하자. 움직임 벡터 결정(26)에서 수학식 7에 따라 매크로 블록단위의 움직임 벡터를 사용할 것인지, 인터 1MV 모드 블록단위의 움직임 벡터를 사용할 것인지 또는 인터 4MV 모드 블록단위의 움직임 벡터를 사용할 것인지를 결정한다. 수학식 7이 참이면 블록단위의 움직임 벡터를 사용하고, 거짓이면 매크로 블록단위의 움직임 벡터를 사용한다. 수학식 7의 우변에서 128을 빼는 것은 매크로 블록단위의 움직임 벡터 사용을 선호하기 위해서이다.(움직임 벡터의 부호화량이 일반적으로 더 적기 때문) 수학식 7에서 SAD16과 SAD8_k는 각각 수학식 8과 수학식 9에 의해 정의된다. 수학식 8, 9에서 Min()은 괄호 안의 두 수 중에서 크지 않은 수를 의미한다.
Figure 112004051899628-pat00008
Figure 112004051899628-pat00009
Figure 112004051899628-pat00010
이에 본 발명은 상기 문제점을 해결하기 위한 것으로써, 인터 1MV(motion vector) 모드와 인터 4MV 모드 중에서 하나를 결정할 때 SAD(Sum of absolute Difference) 값뿐만 아니라 양자화 계수, 움직임 벡터 부호화량 및 텍스쳐 부호화량을 함께 고려하여 비트율의 고저 또는 움직임의 다소에 관계없이 전체의 부호화량을 최소화시키는 것을 목적으로 한다.
본 발명은 적응적 모드 결정에 의한 움직임 예측방법에 관한 것으로, 특히 인터 1MV(motion vector) 모드와 인터 4MV 모드 중에서 하나를 결정할 때 SAD(Sum of absolute Difference) 값뿐만 아니라 양자화 계수, 움직임 벡터 부호화량 및 텍스쳐 부호화량을 함께 고려하여 움직임을 예측하는 방법에 관한 것이다.
본 발명의 적응적 모드 결정에 의한 움직임 예측방법은 동영상 압축에서 시간적인 중복성 제거를 위한 움직임 예측방법에 있어서, 현재 블록에 대한 움직임 벡터 예측값 x 성분과 현재 SAD(Sum of absolute Difference)에 해당되는 x 오프셋 입력을 받아 움직임 벡터 차분치를 계산하여 결과로 MVDx(Motion Vector Difference x)를 내보내는 움직임 벡터 차분치 계산단계; MVDx를 가변장 부호화했을 때 나오는 비트열의 길이를 계산하여 결과로 MVDx 부호화 길이를 내보내는 MVD VLC(Variable Length Coding) 단계; 현재 블록에 대한 움직임 벡터 예측값 y 성분과 현재 SAD에 해당되는 y 오프셋 입력을 받아 움직임 벡터 차분치를 계산하여 결과로 MVDy(Motion Vector Difference y)를 내보내는 움직임 벡터 차분치 계산단계; MVDy를 가변장 부호화했을 때 나오는 비트열의 길이를 계산하여 결과로 MVDy 부호화 길이를 내보내는 MVD VLC 단계; MVDx와 MVDy를 합하여 움직임 벡터 부호화량을 만드는 단계; SAD 값과 지나간 매크로 블록들의 양자화 계수를 이용하여 현재 블록 또는 매크로 블록의 텍스쳐 부호화량을 예측하는 단계; 움직임 벡터 부호화량과 텍스쳐 벡터 부호화량을 이용하여 SAD 보정계수를 생성하는 단계; 및 SAD 값과 SAD 보정계수를 곱하는 단계;를 포함하여 SAD 값을 보정하는 것을 특징으로 한다.
또한, 본 발명의 적응적 모드 결정에 의한 움직임 예측방법은 동영상 압축에서 시간적인 중복성 제거를 위한 움직임 예측방법에 있어서, 현재 블록에 대한 움직임 벡터 예측값 x 성분과 현재 SAD(Sum of absolute Difference)에 해당되는 x 오프셋 입력을 받아 움직임 벡터 차분치를 계산하여 결과로 MVDx(Motion Vector Difference x)를 내보내는 움직임 벡터 차분치 계산단계; MVDx를 가변장 부호화했을 때 나오는 비트열의 길이를 계산하여 결과로 MVDx 부호화 길이를 내보내는 MVD VLC(Variable Length Coding) 단계; 현재 블록에 대한 움직임 벡터 예측값 y 성분과 현재 SAD에 해당되는 y 오프셋 입력을 받아 움직임 벡터 차분치를 계산하여 결과로 MVDy(Motion Vector Difference y)를 내보내는 움직임 벡터 차분치 계산단계; MVDy를 가변장 부호화했을 때 나오는 비트열의 길이를 계산하여 결과로 MVDy 부호화 길이를 내보내는 MVD VLC 단계; MVDx와 MVDy를 합하여 움직임 벡터 부호화량을 만드는 단계; SAD 값과 지나간 매크로 블록들의 양자화 계수를 이용하여 현재 블록 또는 매크로 블록의 텍스쳐 부호화량을 예측하는 단계; 및 움직임 벡터 부호화량과 텍스쳐 부호화량을 이용하여 매크로 블록단위의 움직임 예측을 선호하는 가중치를 조절하는 단계;를 포함하여 텍스쳐 부호화량과 움직임 벡터의 부호화량의 합을 최소로 하는 움직임 벡터를 찾는 것을 특징으로 한다.
이하, 본 발명의 실시예에 대한 구성 및 그 작용을 첨부한 도면을 참조하면서 상세히 설명하기로 한다.
도 3은 본 발명에 따른 움직임 예측방법의 SAD 보정방법을 나타낸 것이다. 본 발명은 종래기술에서 움직임 예측을 위해 움직임 예측범위 내에서 구한 모든 SAD 값 에 SAD 보정방법을 적용하는 것이다. 구체적으로, SAD 보정방법은 종래기술에서 설명한 수학식 1 및 수학식 2의 결과에 적용되어 새로운 SAD 값을 만들어 내고 그 새로운 SAD 값을 기반으로 하여 움직임 예측을 수행하는데, 상기 수학식 1 및 수학식 2 대신에 각각 수학식 10과 수학식 11의 결과에 적용되어 현재 또는 이전 프레임의 데이터에서 평균값을 뺀 것끼리의 차분치를 구하여 상기와 같이 움직임 예측을 수행할 수도 있다.
Figure 112004051899628-pat00011
Figure 112004051899628-pat00012
또한, SAD 보정방법은 종래기술의 매크로 블록단위 반화소 ME(Motion Estimation, 24) 및 블록단위 반화소 ME(25)의 과정에서 구해지는 모든 SAD 값에도 적용된다. 움직임 벡터 차분치 계산(100)은 움직임 벡터 예측값 x 성분(S100)과 현재 SAD에 해당되는 x 오프셋(S101)을 입력받아 움직임 벡터 차분치를 계산하여 그 결과로 MVDx(Motion Vector Difference x, S102)를 내보낸다. 움직임 벡터 예측값 x 성분(S100)은 H.263, MPEG-4 등의 표준에서 움직임 벡터를 부호화하여 보낼 때 사용 하는 예측값과 동일하다. 즉, 현재의 움직임 예측을 수행하고 있는 블록 또는 매크로 블록기준으로 왼쪽, 위쪽 및 오른쪽 위쪽의 대각선 방향(서쪽, 북쪽 및 북동쪽 방향)의 블록들의 움직임 벡터들의 중간값이다. MVD VLC(Variable Length Coding) 테이블(101)은 MVDx(S102)를 가변장 부호화했을 때 나오는 비트열의 길이를 계산하여 결과로 MVDx 부호화 길이(S103)를 내보낸다. 이 길이는 실제로 전송되는 움직임 벡터의 비트열의 길이를 나타낸다. 움직임 벡터 차분치 계산(102)은 움직임 벡터 예측값 y 성분(S104)과 현재 SAD에 해당되는 y 오프셋(S105)을 입력받아 움직임 벡터 차분치를 계산하여 결과로 MVDy(Motion Vector Difference y, S106)를 내보낸다. 움직임 벡터 예측값 y 성분(S104)은 H.263, MPEG-4 등의 표준에서 움직임 벡터를 부호화하여 보낼 때 사용하는 예측값과 동일하다. 즉, 현재의 움직임 예측을 수행하고 있는 블록 또는 매크로 블록 기준으로 왼쪽, 위쪽 및 오른쪽 위쪽의 대각선 방향(서쪽, 북쪽 및 북동쪽 방향)의 블록들의 움직임 벡터들의 중간값이다. MVD VLC 테이블(103)은 MVDy(S106)을 가변장 부호화했을 때 나오는 비트열의 길이를 계산하여 결과로 MVDy 부호화 길이(S107)를 내보낸다. 이 길이는 실제로 전송되는 움직임 벡터의 비트열의 길이를 나타낸다. MVD VLC 테이블(101, 103)은 동일한 동작을 수행한다. MVD_LEN(S108)은 MVDx 부호화 길이(S103)와 MVDy 부호화 길이(S107)을 더한 값으로서, 현재 매크로 블록 또는 블록의 움직임 벡터의 총 부호화량을 의미한다. 텍스쳐 부호화량 예측(104)은 종래기술에 의해 구해진 SAD 값(S109)과 이전 매크로 블록의 양자화 계수(S110)를 이용하여 현재 블록 또는 매크로 블록의 텍스쳐 부호화량을 예측(104)한다. TEX_LEN(S111)은 예측된 텍스쳐 부호화량이다. SAD 보정계수 생성(105)은 TEX_LEN(S111)과 MVD_LEN(S108)을 이용하여 SAD 보정계수를 생성한다. a(S112)는 SAD 보정계수 생성(105)의 결과로 나온 SAD 보정계수로서 항상 1보다 크거나 같다. 본 발명에 의한 SAD 보정계수 a(S112)는 수학식 12와 같이 계산된다.
Figure 112004051899628-pat00013
SADnew(S113)는 최종적인 SAD 값으로서, 종래기술에 의해 구해진 SAD 값(S109)에 SAD 보정계수 a(S112)를 곱한 값이다. 본 발명에 의한 움직임 예측은 종래기술에 의해 구해진 SAD 값(S109)에 대신에 SADnew(S113)를 사용한다.
도 4는 본 발명에 따른 입력된 값을 이용하여 텍스쳐의 부호화량을 예측하는 모델을 나타낸 것이다. 원래 SAD와 QP(Quantization Parameter)가 주어지면 나올 수 있는 블록 또는 매크로 블록의 부호화량은 특정한 값으로 정해지는 것이 아니라, 일정한 범위 안에서 분포하게 된다. 텍스쳐 부호화량을 정확히 알기 위해서는 이산여현변환과 양자화를 수행해야 하는데, 움직임 예측범위의 모든 벡터에 대해 이산여현변환과 양자화를 수행하는 것은 계산량이 상당히 많다. 따라서, 본 발명에서는 SAD/QP와 텍스쳐 부호화량의 관계를 구간별로 선형근사(linear approximation)하여 텍스쳐 부호화량을 예측한다. 텍스쳐 부호화량 TEX_LEN은 SAD/QP 값에 따라 수학식 13에 의해 예측된다. 도 4에서 구간의 개수, s0, s1, s2, b0, b1 및 b2 등의 구간 경계값은 실험적으로 정해질 수 있다.
Figure 112004051899628-pat00014
이상에서와 같이 본 발명에 따른 적응적 모드 결정에 의한 움직임 예측방법은 인터 1MV(motion vector) 모드와 인터 4MV 모드 중에서 하나를 결정할 때 SAD(Sum of absolute Difference) 값뿐만 아니라 양자화 계수, 움직임 벡터 부호화량 및 텍스쳐 부호화량을 함께 고려하여 비트율의 고저 또는 움직임의 다소에 관계없이 전체의 부호화량을 최소화시킨다.

Claims (2)

  1. 동영상 압축에서 시간적인 중복성 제거를 위한 움직임 예측방법에 있어서,
    현재 블록에 대한 움직임 벡터 예측값 x 성분과 현재 SAD(Sum of absolute Difference)에 해당되는 x 오프셋 입력을 받아 움직임 벡터 차분치를 계산하여 결과로 MVDx(Motion Vector Difference x)를 내보내는 움직임 벡터 차분치 계산단계;
    MVDx를 가변장 부호화했을 때 나오는 비트열의 길이를 계산하여 결과로 MVDx 부호화 길이를 내보내는 MVD VLC(Variable Length Coding) 단계;
    현재 블록에 대한 움직임 벡터 예측값 y 성분과 현재 SAD에 해당되는 y 오프셋 입력을 받아 움직임 벡터 차분치를 계산하여 결과로 MVDy(Motion Vector Difference y)를 내보내는 움직임 벡터 차분치 계산단계;
    MVDy를 가변장 부호화했을 때 나오는 비트열의 길이를 계산하여 결과로 MVDy 부호화 길이를 내보내는 MVD VLC 단계;
    MVDx와 MVDy를 합하여 움직임 벡터 부호화량을 만드는 단계;
    SAD 값과 지나간 매크로 블록들의 양자화 계수를 이용하여 현재 블록 또는 매크로 블록의 텍스쳐 부호화량을 예측하는 단계;
    움직임 벡터 부호화량과 텍스쳐 벡터 부호화량을 이용하여 SAD 보정계수를 생성하는 단계; 및
    SAD 값과 SAD 보정계수를 곱하는 단계;
    를 포함하여 SAD 값을 보정하는 것을 특징으로 하는 적응적 모드 결정에 의한 움직임 예측방법.
  2. 동영상 압축에서 시간적인 중복성 제거를 위한 움직임 예측방법에 있어서,
    현재 블록에 대한 움직임 벡터 예측값 x 성분과 현재 SAD(Sum of absolute Difference)에 해당되는 x 오프셋 입력을 받아 움직임 벡터 차분치를 계산하여 결과로 MVDx(Motion Vector Difference x)를 내보내는 움직임 벡터 차분치 계산단계;
    MVDx를 가변장 부호화했을 때 나오는 비트열의 길이를 계산하여 결과로 MVDx 부호화 길이를 내보내는 MVD VLC(Variable Length Coding) 단계;
    현재 블록에 대한 움직임 벡터 예측값 y 성분과 현재 SAD에 해당되는 y 오프셋 입력을 받아 움직임 벡터 차분치를 계산하여 결과로 MVDy(Motion Vector Difference y)를 내보내는 움직임 벡터 차분치 계산단계;
    MVDy를 가변장 부호화했을 때 나오는 비트열의 길이를 계산하여 결과로 MVDy 부호화 길이를 내보내는 MVD VLC 단계; MVDx와 MVDy를 합하여 움직임 벡터 부호화량을 만드는 단계;
    SAD 값과 지나간 매크로 블록들의 양자화 계수를 이용하여 현재 블록 또는 매크로 블록의 텍스쳐 부호화량을 예측하는 단계; 및
    움직임 벡터 부호화량과 텍스쳐 부호화량을 이용하여 매크로 블록단위의 움직임 예측을 선호하는 가중치를 조절하는 단계;
    를 포함하여 텍스쳐 부호화량과 움직임 벡터의 부호화량의 합을 최소로 하는 움직임 벡터를 찾는 것을 특징으로 하는 적응적 모드 결정에 의한 움직임 예측방법.
KR20040091077A 2004-11-09 2004-11-09 적응적 모드 결정에 의한 움직임 예측방법 KR100606140B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR20040091077A KR100606140B1 (ko) 2004-11-09 2004-11-09 적응적 모드 결정에 의한 움직임 예측방법
US11/138,036 US7133447B2 (en) 2004-11-09 2005-05-26 Motion estimation method using adaptive mode decision
CNB2005100758142A CN100553333C (zh) 2004-11-09 2005-05-30 使用自适应模式决策的运动估测方法
JP2005175147A JP4224473B2 (ja) 2004-11-09 2005-06-15 適応的モード決定による動き予測方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20040091077A KR100606140B1 (ko) 2004-11-09 2004-11-09 적응적 모드 결정에 의한 움직임 예측방법

Publications (2)

Publication Number Publication Date
KR20060042485A KR20060042485A (ko) 2006-05-15
KR100606140B1 true KR100606140B1 (ko) 2006-08-01

Family

ID=36316309

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20040091077A KR100606140B1 (ko) 2004-11-09 2004-11-09 적응적 모드 결정에 의한 움직임 예측방법

Country Status (4)

Country Link
US (1) US7133447B2 (ko)
JP (1) JP4224473B2 (ko)
KR (1) KR100606140B1 (ko)
CN (1) CN100553333C (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010085064A2 (ko) * 2009-01-23 2010-07-29 에스케이텔레콤 주식회사 움직임 벡터 부호화/복호화 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법
KR101422058B1 (ko) * 2012-10-05 2014-07-29 에스케이텔레콤 주식회사 움직임 벡터 부호화/복호화 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI239474B (en) * 2004-07-28 2005-09-11 Novatek Microelectronics Corp Circuit for counting sum of absolute difference
TWI295540B (en) * 2005-06-15 2008-04-01 Novatek Microelectronics Corp Motion estimation circuit and operating method thereof
TWI296091B (en) * 2005-11-15 2008-04-21 Novatek Microelectronics Corp Motion estimation circuit and motion estimation processing element
US20070217515A1 (en) * 2006-03-15 2007-09-20 Yu-Jen Wang Method for determining a search pattern for motion estimation
CN100409690C (zh) * 2006-05-19 2008-08-06 北京工业大学 基于时空相关性的视频帧间压缩方法
US8218632B2 (en) * 2006-09-20 2012-07-10 Mitsubishi Electric Corporation Frame interpolation apparatus and frame interpolation method
US20080126278A1 (en) * 2006-11-29 2008-05-29 Alexander Bronstein Parallel processing motion estimation for H.264 video codec
US8929448B2 (en) * 2006-12-22 2015-01-06 Sony Corporation Inter sub-mode decision process in a transcoding operation
US20090060363A1 (en) * 2007-08-30 2009-03-05 Himax Technologies Limited System and method for image compression
TWI398169B (zh) * 2008-12-23 2013-06-01 Ind Tech Res Inst 移動向量之編碼模式選擇方法及其相關編碼模式選擇裝置,及其機器可讀取媒體
CN102300085B (zh) * 2010-06-25 2013-07-03 华晶科技股份有限公司 具有可变量化参数与可变编码参数的图像压缩方法
KR101441889B1 (ko) * 2011-01-06 2014-09-29 에스케이텔레콤 주식회사 움직임벡터 부호화 및 복호화 장치와 방법
US20140267679A1 (en) * 2013-03-13 2014-09-18 Leco Corporation Indentation hardness test system having an autolearning shading corrector
CN104683801B (zh) * 2013-11-29 2018-06-05 华为技术有限公司 图像压缩方法和装置
EP3225026A4 (en) * 2015-07-31 2017-12-13 SZ DJI Technology Co., Ltd. Method of sensor-assisted rate control
WO2017020184A1 (en) 2015-07-31 2017-02-09 SZ DJI Technology Co., Ltd. Methods of modifying search areas

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100295327B1 (ko) 1998-12-03 2001-07-12 구자홍 적응적 임계치를 이용한 움직임 추정 장치
KR100355831B1 (ko) 2000-12-06 2002-10-19 엘지전자 주식회사 2차원 최소 비트 예측 기반의 움직임 벡터 부호화 방법
US20030053543A1 (en) 2001-07-24 2003-03-20 Sasken Communication Technologies Limited Motion estimation technique for digital video encoding applications
KR20040061047A (ko) * 2002-12-30 2004-07-07 에스케이 텔레콤주식회사 율-제한 움직임 추정 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100563552B1 (ko) * 1997-05-30 2006-03-27 미디어텍 인크. 비선형 피라미드를 사용하여 계층적인 움직임 추정을 실행하기 위한 장치 및 방법
KR100619377B1 (ko) 2000-02-22 2006-09-08 주식회사 팬택앤큐리텔 움직임 추정 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100295327B1 (ko) 1998-12-03 2001-07-12 구자홍 적응적 임계치를 이용한 움직임 추정 장치
KR100355831B1 (ko) 2000-12-06 2002-10-19 엘지전자 주식회사 2차원 최소 비트 예측 기반의 움직임 벡터 부호화 방법
US20030053543A1 (en) 2001-07-24 2003-03-20 Sasken Communication Technologies Limited Motion estimation technique for digital video encoding applications
KR20040061047A (ko) * 2002-12-30 2004-07-07 에스케이 텔레콤주식회사 율-제한 움직임 추정 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010085064A2 (ko) * 2009-01-23 2010-07-29 에스케이텔레콤 주식회사 움직임 벡터 부호화/복호화 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법
WO2010085064A3 (ko) * 2009-01-23 2010-09-23 에스케이텔레콤 주식회사 움직임 벡터 부호화/복호화 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법
US8908981B2 (en) 2009-01-23 2014-12-09 Sk Telecom Co., Ltd. Method and apparatus for selectively encoding/decoding syntax elements, and apparatus and method for image encoding/decoding using same
KR101422058B1 (ko) * 2012-10-05 2014-07-29 에스케이텔레콤 주식회사 움직임 벡터 부호화/복호화 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법

Also Published As

Publication number Publication date
KR20060042485A (ko) 2006-05-15
CN100553333C (zh) 2009-10-21
JP2006140985A (ja) 2006-06-01
CN1774070A (zh) 2006-05-17
US20060098740A1 (en) 2006-05-11
US7133447B2 (en) 2006-11-07
JP4224473B2 (ja) 2009-02-12

Similar Documents

Publication Publication Date Title
JP4224473B2 (ja) 適応的モード決定による動き予測方法
US6937656B2 (en) Method and apparatus for image coding
JP4724351B2 (ja) 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
JP4529919B2 (ja) 適応量子化装置及び適応量子化プログラム
US20080084929A1 (en) Method for video coding a sequence of digitized images
JP4793424B2 (ja) 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
Kamisli Intra prediction based on markov process modeling of images
KR101623064B1 (ko) 영상 부호화 장치, 영상 부호화 방법 및 영상 부호화 프로그램
KR20030064162A (ko) 움직임 벡터 영역의 적응적 결정 방법
KR100618910B1 (ko) 최적화된 연산복잡도를 갖는 움직임 추정 장치 및 그 방법
JP2010283495A (ja) 動画像符号化装置及び動画像符号化方法
JP4130617B2 (ja) 動画像符号化方法および動画像符号化装置
JP2009284058A (ja) 動画像符号化装置
US20060146932A1 (en) Method and apparatus for providing motion estimation with weight prediction
JP3738511B2 (ja) 動画像符号化方式
JP2001016594A (ja) 動画像の動き補償方法
KR20010069016A (ko) 영상부호화기의 인트라/인터 부호화 모드의 결정방법
Cheng et al. A fast fractional pel motion estimation algorithm for H. 264/AVC
Han et al. Fast macroblock mode decision in H. 264
KR100757832B1 (ko) 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법
KR20070063479A (ko) 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법
JP2009021802A (ja) 動画像符号化装置及び方法
KR20060069811A (ko) 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법
KR100364779B1 (ko) 영상 부호화기에서 움직임 벡터의 부호화 방법
KR100323660B1 (ko) 에이치디티브이(hdtv)의장면적응움직임추정장치

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130620

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140701

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150701

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160704

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170628

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180627

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20190625

Year of fee payment: 14