KR20060085004A - H.264/avc에서의 고속 매크로블록 모드 선택 방법 - Google Patents

H.264/avc에서의 고속 매크로블록 모드 선택 방법 Download PDF

Info

Publication number
KR20060085004A
KR20060085004A KR1020050005874A KR20050005874A KR20060085004A KR 20060085004 A KR20060085004 A KR 20060085004A KR 1020050005874 A KR1020050005874 A KR 1020050005874A KR 20050005874 A KR20050005874 A KR 20050005874A KR 20060085004 A KR20060085004 A KR 20060085004A
Authority
KR
South Korea
Prior art keywords
mode
cost
macroblock
motion vector
reference frame
Prior art date
Application number
KR1020050005874A
Other languages
English (en)
Other versions
KR100669897B1 (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 KR1020050005874A priority Critical patent/KR100669897B1/ko
Publication of KR20060085004A publication Critical patent/KR20060085004A/ko
Application granted granted Critical
Publication of KR100669897B1 publication Critical patent/KR100669897B1/ko

Links

Images

Classifications

    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04GSCAFFOLDING; FORMS; SHUTTERING; BUILDING IMPLEMENTS OR AIDS, OR THEIR USE; HANDLING BUILDING MATERIALS ON THE SITE; REPAIRING, BREAKING-UP OR OTHER WORK ON EXISTING BUILDINGS
    • E04G21/00Preparing, conveying, or working-up building materials or building elements in situ; Other devices or measures for constructional work
    • E04G21/32Safety or protective measures for persons during the construction of buildings
    • E04G21/3204Safety or protective measures for persons during the construction of buildings against falling down
    • E04G21/3252Protections, e.g. cover, caps, against impaling on starter reinforcement bars
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04GSCAFFOLDING; FORMS; SHUTTERING; BUILDING IMPLEMENTS OR AIDS, OR THEIR USE; HANDLING BUILDING MATERIALS ON THE SITE; REPAIRING, BREAKING-UP OR OTHER WORK ON EXISTING BUILDINGS
    • E04G21/00Preparing, conveying, or working-up building materials or building elements in situ; Other devices or measures for constructional work
    • E04G21/32Safety or protective measures for persons during the construction of buildings
    • E04G21/3204Safety or protective measures for persons during the construction of buildings against falling down
    • E04G21/3223Means supported by building floors or flat roofs, e.g. safety railings
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04GSCAFFOLDING; FORMS; SHUTTERING; BUILDING IMPLEMENTS OR AIDS, OR THEIR USE; HANDLING BUILDING MATERIALS ON THE SITE; REPAIRING, BREAKING-UP OR OTHER WORK ON EXISTING BUILDINGS
    • E04G21/00Preparing, conveying, or working-up building materials or building elements in situ; Other devices or measures for constructional work
    • E04G21/32Safety or protective measures for persons during the construction of buildings
    • E04G21/3261Safety-nets; Safety mattresses; Arrangements on buildings for connecting safety-lines
    • E04G21/3266Safety nets

Landscapes

  • Engineering & Computer Science (AREA)
  • Architecture (AREA)
  • Mechanical Engineering (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 H.264/AVC에서 고속으로 매크로블록 모드를 선택하는 방법에 관한 것으로, 특히 매크로블록 모드의 선택과정의 복잡도에 상당한 영향을 미치는 시방향의 상관성을 이용하는 8x8 크기의 모드 결정과정 및 공간 내 상관성을 이용하는 인트라4 모드의 비용 계산 과정을 상대적으로 낮은 복잡도를 가지는 다른 매크로블록 모드의 비용값으로 추정함으로써, 매크로블록 모드 선택 과정의 복잡도를 줄여 고속으로 매크로블록 모드를 선택하는 것을 가능하게 하는 H.264/AVC에서의 고속 매크로블록 모드 선택 방법에 관한 것이다.
본 발명의 H.264/AVC에서의 고속 매크로블록 모드 선택방법을 이루는 구성수단은, H.264/AVC에서의 고속 매크로블록 모드 선택 방법에 있어서, 모드 1부터 모드 3에 대하여 각각 움직임 벡터 비용과 참조 프레임 비용의 합을 구하는 단계와, 상기 모드 1부터 모드 3에 대한 움직임 벡터 비용과 참조 프레임 비용의 합들을 비교하여 모드 8의 서브 매크로블록 모드를 결정하는 단계와, 상기 결정된 서브 매크로블록 모드, 스킵(skip)모드, 상기 움직임 벡터 비용과 참조 프레임 비용의 최소합을 가지는 모드, 두개의 인트라 모드(인트라16 모드 및 인트라4 모드) 중 최소의 율-왜곡 비용을 가지는 모드를 최종적인 매크로블록 모드로 선택하는 3단계를 포함하여 이루어진 것을 특징으로 한다.
H.264, 매크로블록 모드

Description

H.264/AVC에서의 고속 매크로블록 모드 선택 방법{a fast macroblock mode selection method in the H.264 standard}
도 1은 H.264/AVC에서 시방향 예측을 위한 매크로블록 모드 및 서브 매크로블록 모드를 보여주는 개략도이다.
도 2는 H.264/AVC에서 공간영역에서의 예측을 위한 매크로블록 모드를 보여주는 개략도이다.
도 3은 인트라 16 모드와 인트라 4 모드에서의 공간적 예측 방향을 보여주는 개략도이다.
도 4는 본 발명에 적용되는 매크로블록 세분화 과정을 보여주는 이해도이다.
도 5는 모드 8의 복잡도를 감소시켜 고속으로 매크로블록 모드를 선택하는 방법에 관한 절차도이다.
도 6은 인트라 4의 선택적 계산을 통한 고속으로 매크로블록 모드를 선택하는 방법에 관한 절차도이다.
본 발명은 지상파 및 위성 DMB 등의 비디오 표준으로 제정된 H.264/AVC에서 고속으로 매크로블록 모드를 선택하는 방법에 관한 것으로, 특히 매크로블록 모드의 선택과정의 복잡도에 상당한 영향을 미치는 시방향의 상관성을 이용하는 8x8 크기의 모드 결정과정 및 공간 내 상관성을 이용하는 인트라4 모드의 비용 계산 과정을 상대적으로 낮은 복잡도를 가지는 다른 매크로블록 모드의 비용값으로 추정함으로써, 매크로블록 모드 선택 과정의 복잡도를 줄여 고속으로 매크로블록 모드를 선택하는 것을 가능하게 하는 H.264/AVC에서의 고속 매크로블록 모드 선택 방법에 관한 것이다.
H.264/AVC 표준은 ITU-T의 VCEG(Video Coding Experts Group)와 ISO/IEC의 MPEG(Moving Picture Expert Group)의 공동 작업으로 제정되었다. H.264/AVC 비디오 부호화 방식은 이전의 비디오 부호화 표준들(MPEG2, MPEG4 Part 2, H.263)에는 없던 새로운 부호화 도구들이 추가되었으며, 이러한 도구들은 H.264 부호화 표준이 이전의 비디오 부호화 표준과 비교하여 보다 높은 압축효율을 갖게 하였다.
새롭게 추가된 부호화 도구들을 간단히 살펴보면 다음과 같다.
첫째, H.264에서는 4 × 4 단위의 정수변환을 수행하며, 부호기와 복호기 사이의 부정합(Mismatch) 문제가 발생하지 않는다. 이는 8 × 8 단위의 이산여현변환을 사용함으로써 부호기와 복호기 사이에서의 부정합 문제를 가지고 있던 기존의 여러 비디오 부호화 표준들과 비교된다. 또한, 매크로블록이 인트라 16 × 16 모드로 선택된 경우 변환수행 단위인 4 × 4 변환블록의 DC값들은 다시 한번 하다마드 변환(Hadamard Transform)을 수행하며, 이러한 계층적 변환(Hierarchical Transform)을 통해서 보다 높은 압축효율을 나타낸다. 또한 H.264에서의 양자화 파라미터는 양자화 데이터를 가리키는 하나의 인덱스로 사용되며 0 ~ 51 까지 52단계의 값을 가진다.
둘째, H.264에서는 프로파일에 따라 두 가지의 엔트로피 부호화 방법을 사용한다. 즉, 엔트로피 부호화 기법은 변환 계수를 제외한 대부분의 신텍스(Syntax)를 데이터의 특성에 따라 하나의 코드워드 테이블로 변환 후 EGC(Exponential Golomb Code)로 부호화 하고, 변환계수는 이미 부호화된 주변 블록들의 특성을 이용하는 CAVLC(Context Adaptive Variable Length Coding)로 부호화하는 방법과, 기존의 산술 부호화 방식에 컨텍스트 모델링(context modeling)을 추가함으로써 추정된 심볼 확률분포 모델들을 적응적으로 선택하는 방법이 있다.
세째, 블록 기반의 움직임 추정 및 변환 그리고 양자화 기법은 부호기 설계에 많은 이점을 가져오지만 블록화 현상(Blocking artifact)을 수반한다. H.264는 이러한 블록화 현상의 효율적인 개선을 위해 부호화 및 복호화 과정 내에 루프 필터를 사용하여 블록화 현상을 제거한다.
네째, H.264 부호화 기법은 공간영역에서의 인트라 예측 부호과 과정을 포함한다. 공간 내의 예측 부호화 방식은 휘도 성분의 경우 16 × 16 크기 및 4 × 4 크기로 수행되며, 각각 4가지와 9가지의 공간 내의 방향성을 고려한 예측모드를 가지고 있고, 색차 성분은 16 × 16 크기의 휘도성분과 같은 4가지의 예측모드를 가지고 있다. 휘도 성분에 대한 공간영역에서의 16 × 16 크기와 4 × 4 크기의 인트 라 예측은 영상의 평탄한 영역뿐만 아니라 세밀한 영역에서도 높은 압축 효율을 갖게 한다.
다섯째, H.264에서는 참조 영상으로서 이전의 재구성된 여러 장의 프레임을 사용한다. 이러한 다중참조 영상의 사용은 단일 참조 영상만을 사용하는 경우에 비해 보다 높은 압축 효율을 가지게 하며, 특히 반복적인 영상이나 다른 객체에 의해 가려져 있다가 나타난 영역의 부호화 경우에 더욱 두드러진 성능을 보인다.
여섯째, H.264에서는 블록의 크기를 다양화하여 16 × 16, 16 × 8, 8 × 16, 8 × 8, 8 × 4, 4 × 8, 4 × 4의 크기로 움직임을 추정한다. 이는 기존에 16 × 16 및 8 × 8 크기로만 움직임을 보상하던 H.263 및 MPEG-4 기술과 대비된다. 다양한 크기의 블록단위, 특히 8 × 8 서브 매크로블록(Sub Macroblock) 이하의 크기인 8 × 4, 4 × 8, 4 × 4 블록 크기의 움직임 추정은 보다 세밀한 영상 영역에서도 높은 압축 효율을 가질 수 있게 한다.
상기와 같은 특징을 가지는 H.264/AVC 부호화 과정에서 I 프레임 내의 매크로블록은 인트라 16 × 16 또는 인트라 4 × 4 모드로 선택될 수 있다. 반면 P 프레임 내의 매크로블록은 좀 더 다양한 모드를 가지는데, 선택 가능한 모드로는 16 × 16, 16 × 8, 8 × 16, 8 × 8 모드가 있으며, 8 × 8 크기를 갖는 서브 매크로블록 모드는 다시 8 × 4, 4 × 8, 4 × 4의 블록 크기로 나뉘어질 수 있다. 또한 I 프레임 내의 매크로블록 모드인 인트라 16 × 16과 인트라 4 × 4 모드도 선택 대상이며 추가적으로 스킵 모드를 가질 수 있다.
따라서, P 프레임 내의 매크로블록은 스킵(Skip), 16 × 16, 16 × 8, 8 × 16, 8 × 8 모드 및 인트라 16 × 16 그리고 인트라 4 × 4 모드 중에서 선택된다. 앞서 기술한 바와 같이 8 × 8 크기를 갖는 서브 매크로블록은 8 × 4, 4 × 8, 4 × 4의 블록 크기로 나뉘어 질수 있기 때문에 P 프레임 내의 매크로블록은 1 ~ 16개까지의 움직임 벡터를 가질 수 있다.
율-왜곡 최적화 기법이 사용되는 경우, 매크로블록 모드의 선택은 모든 선택 가능한 모드의 비용함수를 계산하여 최소의 비용을 가지는 모드를 선택하는데, 이때 사용되는 비용함수가 율-왜곡 비용 함수이다. H.264는 이러한 다양한 매크로블록 모드와 율-왜곡 비용함수의 사용으로 보다 높은 압축효율을 나타내지만, 이로 인한 복잡도의 증가는 부호기의 몫으로 남는다.
P 프레임 내의 매크로블록 모드들 중에서 스킵(Skip), 16 × 16, 16 × 8, 8 × 16, 8 × 8 모드는 시(侍)방향 예측을 위한 모드이며 각각을 모드(Mode) 1, 모드(Mode) 2, 모드(Mode) 3, 모드(Mode) 8, 스킵(Skip) 모드(Mode)로 정의한다. 그리고 모드 8 내의 서브 매크로블록이 선택 가능한 8 × 8, 8 × 4, 4 × 8, 4 × 4 모드는 각각 모드(Mode) 4, 모드(Mode) 5, 모드(Mode) 6, 모드(Mode) 7로 정의한다. 또한 인트라 16 × 16 및 인트라 4 × 4 모드는 공간영역에서의 예측을 위한 모드로서 각각 인트라 16 모드(Mode) 또는 (I16MB), 인트라 4 모드(Mode) 또는 (I4MB)로 정의한다.
상기 시방향 예측을 위한 매크로블록 모드인 모드 1, 모드 2, 모드 3, 모드 8, 스킵 모드와 서브 매크로블록 모드로서 모드 4, 모드 5, 모드 6, 모드 7은 도 1에 도시된 바와 같은 블록 모양을 가진다.
도 1에서 모드 1, 모드 2, 모드 3, 모드 8, 스킵 모드는 16 × 16 크기의 매크로블록을 나타내고, 모드 8의 경우 다시 8 × 8 크기의 서브 매크로블록으로 나뉘며, 각각의 서브 매크로블록 모드는 모드 4에서 모드 7 중에서 선택될 수 있다. 이때 하나의 매크로블록 내의 4개의 서브 매크로블록 모드는 독립적으로 선택된다.
모드 8(Sub MB0, Sub MB1, Sub MB2, Sub MB3)
= 모드 8(4|5|6|7, 4|5|6|7, 4|5|6|7, 4|5|6|7) 식(1)
상기 식 (1)은 4개의 서브 매크로블록 모드를 갖는 모드 8의 표현식이며, (4|5|6|7)의 표현은 각각의 서브 매크로블록의 모드가 모드 4 ~ 모드 7 중에서 선택 가능함을 나타낸다.
도 1의 가장 오른쪽 하단의 그림은 모드 8 내의 각 서브 매크로블록에 각각 모드 4, 모드 5, 모드 6, 모드 7이 선택된 경우의 매크로블록 모양을 나타내며, 이에 대한 수식적 표현은 아래 식 (2)와 같이 정의한다.
모드 8(Sub MB0, Sub MB1, Sub MB2, Sub MB3) = 모드 8(4, 5, 6, 7) 식(2)
상기 모드 중에 모드 1의 경우 하나의 움직임 벡터만을 가지며 16 × 16 크기의 블록 단위로 움직임을 추정하고, 영상의 평탄한 영역 및 배경 영역에서 효율적인 모드이다. 모드 2는 두개의 16 × 8 크기의 블록단위로 움직임을 추정하며, 이 경우 두개의 움직임 벡터를 갖는다. 이는 매크로블록 내의 가로방향의 객체가 걸쳐 있는 경우 효율적인 모드이다. 모드 3은 두개의 8 × 16 크기의 블록단위로 움직임을 추정하며, 모드 2의 경우와 동일하게 두개의 움직임 벡터를 갖는다. 이는 매크로블록 내에 객체가 세로 방향으로 걸쳐 있는 경우 효율적인 모드이다.
모드 8의 움직임 벡터의 개수는 서브 매크로블록의 선택 모드에 따라 달라지며 4 ~ 16개의 움직임 벡터를 가질 수 있고 세밀한 영상 영역에서 효율적인 모드이다. 스킵 모드의 경우 매크로블록의 움직임 벡터가 예측된 움직임 벡터와 동일하고 화소의 예측오차가 충분히 작은 경우 선택될 수 있으며, 매크로블록 모드가 스킵이 선택된 경우 부호기는 매크로블록의 모드만을 전송한다.
상기 시방향 예측을 위한 매크로블록 모드와 별도로 공간영역에서의 예측을 위한 인트라 16 모드와 인트라 4 모드로 구분되는 매크로블록 모드가 있는데, 도 2에 도시된 바와 같은 블록 모양을 가진다.
도 2에서 인트라 16 모드의 경우 16 × 16 크기의 매크로블록을 4가지의 공간 내 예측 방향으로 예측을 수행하며, 인트라 4 모드의 경우 4 × 4 크기의 단위로 9가지의 공간 내 예측 방향으로 예측을 수행함으로써 예측 오차를 산출한다.
도 3의 (a)에 도시된 바와 같이 인트라 16 모드는 4가지의 공간적 예측 방향을 가지며, 도 3의 (b)에 도시된 바와 같이 인트라 4 모드는 9가지의 공간적 예측 방향을 가진다.
도 2 및 도 3을 참조하여 인트라 16 모드 및 인트라 4의 예측 방향의 개수 및 예측을 수행하는 블록의 크기를 고려하면, 인트라 4 모드의 복잡도가 인트라 16 모드에 비해 상대적으로 높다는 것을 유추할 수 있다.
상기와 같은 시방향 예측을 위한 매크로블록 모드(모드 1, 모드 2, 모드 3, 모드 8, 스킵 모드)와 공간영역에서의 예측을 위한 매크로블록 모드(인트라 16 모드, 인트라 4 모드) 중 하나는 최종적으로 P 프레임 내의 매크로블록으로 선택된다.
상기 최종적인 P 프레임 내의 매크로블록 모드를 선택하기 위해서는 움직임 벡터 비용함수(MVcost), 참조 프레임 비용함수(REFcost), 그리고 율-왜곡 비용함수(RDcost)를 사용한다.
MVcost = WeightedCost(f,mvbits[(cx << s) - px] + mvbits[(cy << s) - py] 여기서, f : lambda factor 식 (3)
상기 움직임 벡터 비용함수는 상기 식 (3)과 같다. 여기에서 cx 및 cy는 현재 매크로블록의 움직임 벡터를 나타내고, s는 움직임 벡터의 추이(推移) 양을 나타내며, px 및 py는 예측된 움직임 벡터를 나타낸다. WeightedCost 함수는 f 값을 사용하여 움직임 벡터 예측 오차의 부호화에 사용되는 비트량을 인수로 받아 비용 값을 반환한다.
REFcost = WeightedCost(f, refbits(ref))
여기서, f : lambda factor 식 (4)
상기 참조 프레임 비용함수는 식 (4)와 같다. 여기에서 ref는 선택된 참조 프레임을 가리키며, WeightedCost 함수는 f 값을 사용하여 선택된 참조프레임 값을 부호화 하는데 필요한 비트량을 인수로 받아 비용 값을 반환한다. 일반적으로 움직임 벡터 비용에 비하여 매우 적은 값을 갖는다.
RDcost = Distortion + lambda × Rate 식 (5)
상기 율-왜곡 비용 함수는 식 (5)와 같다. 율-왜곡 최적화 기법이 사용되는 경우 율-왜곡 비용함수는 모드 8 내의 서브 매크로블록 모드의 선택 및 전체 매크로블록 모드의 최종 선택 시 사용되며 상기 두 비용함수에 비해 상대적으로 높은 복잡도를 갖는다. 상기 식 (5) 내의 왜곡(Distortion) 값은 각 매크로블록 모드에서의 SNR을 구함으로써 계산할 수 있으며, 율(Rate) 값은 매크로블록의 부호화가 끝나는 시점에서의 압축된 비트열(bitstream)의 비트율을 나타낸다.
율-왜곡 최적화 기법이 사용되는 경우, 상기 세가지 평가지수를 이용하여 다음과 같은 순서로 최종 매크로블록 모드를 결정한다.
Figure 112005003645995-PAT00001
식 (6)
먼저, 식 (6)을 이용하여 모드 1, 모드 2, 모드 3 각각에 대한 참조 프레임 비용 및 움직임 벡터 비용을 구하여 이들의 합을 최소로 하는 움직임 벡터와 참조프레임을 결정한다.
Figure 112005003645995-PAT00002
식 (7)
Sub MB Mode = Min(RDcost(Mode4, Mode5, Mode6, Mode7)) 식 (8)
그런 다음, 모드 8 내의 서브 매크로블록에 대한 모드를 선택한다. 즉, 식 (7)을 이용하여 서브 매크로블록에 대해서 모드 4부터 모드 7까지 각각의 참조 프레임 및 움직임 벡터를 참조 프레임 비용과 움직임 벡터 비용 함수의 합이 최소가 되도록 선택한다. 이후 식 (8)을 이용하여 각 모드에서 선택된 참조 프레임과 움직임 벡터에 대한 율-왜곡 비용을 구하고 이를 최소화 하는 모드를 선택함으로써 하나의 서브 매크로블록 모드가 선택된다.
상기와 같이 하나의 서브 매크로블록 모드가 선택된 후에는 상기 식 (7)과 식 (8)을 이용하여 상기 과정을 반복함으로써, 모드 8 내의 네 개의 서브 매크로블록 모드를 모두 선택한다.
MB Mode = Min(RDcost(SKIP, Mode1 ~ Mode3, Mode8, I16MB, I4MB)) 식 (9)
상기 과정을 통해서 모드 8 내의 서브 매크로블록들을 포함하여 모드 1, 모드 2, 모드 3의 참조 프레임과 움직임 벡터가 결정되면, 이들을 기초 데이터로 식 (9)를 이용하여 상기 모드 1부터 모드 3의 율-왜곡 비용과 함께 스킵(skip) 및 공간적 예측을 위한 매크로블록 모드인 인트라 16 모드 및 인트라 4 모드의 율-왜곡 비용을 비교하여 그 값을 최소로 하는 매크로블록 모드를 선택함으로서 최종적으로 하나의 매크로블록 모드가 결정된다.
그러나, 상기와 같은 절차에 의해 최종적인 매크로블록 모드를 결정하는 경우에는 복잡도가 매우 커서 고속으로 매크로블록를 선택할 수 없게된다. 따라서, H.264 부호화의 실현을 위해, 부호기의 복잡도 감소에 대한 연구는 2003년 H.264 부호화 표준이 제정된 이후 다각적으로 연구되어 왔다.
일예로서, Peng 등은 효율적인 매크로블록의 모드 선택을 위한 알고리듬으로서 P 프레임 내 하나의 매크로블록이 가질 수 있는 모드인 스킵(Skip), 16 × 16, 16 × 8, 8 × 16과 서브 매크로블록이 가질 수 있는 모드인 8 × 8, 8 × 4, 4 × 8, 4 × 4 그리고 16 × 16 크기 및 4 × 4 크기의 공간 내 예측을 위한 인트라 모드 중에서 인트라 모드를 제외한 스킵(Skip) ~ 4 × 4까지의 매크로블록 모드의 고속 선택을 위해 16 × 16, 8 × 8, 4 × 4의 매크로블록 모드에 대한 비용을 이용하여 잔여 매크로블록 모드의 계산여부를 결정함으로서 부호기의 복잡도를 감소시킨다.
또한, 매크로블록 모드 중 스킵 모드에 가중치를 둠으로써 매크로블록 모드 의 잘못된 추정을 통한 비트율의 증가를 최소화 하였다. 인트라 모드의 경우는 앞서 계산한 모드에서의 비용이 임계값 이상일 경우만 추가적으로 계산함으로써 인트라 모드의 계산량 또한 감소시켰다.
그러나, 상기와 같은 일예에 의해서도 근본적인 복잡도 문제를 해결하지 못하여 고속으로 매크로블록 모드를 선택할 수 없는 문제점이 발생한다.
즉, 시방향 예측을 위한 5가지의 매크로블록 모드 중 모드 8은 나머지 4가지 모드에 비해 높은 복잡도를 가진다. 이는 움직임 벡터 비용 계산 및 참조 프레임 비용 계산과정의 경우 모드 1 ~ 모드 3 및 모드 8에 공통적으로 포함되지만, 모드 8의 경우 네 개의 서브 매크로블록 모드를 결정하기 위해 모드 1 ~ 모드 3에는 없는 서브 매크로블록 단위의 율-왜곡 비용 함수 계산과정을 16회 포함하기 때문이다. 이는 CIF 크기의 영상의 경우 모드 8은 모드 1 ~ 모드 3에 비해 프레임 당 6336회의 추가적인 서브 매크로블록 단위의 율-왜곡 비용함수 계산과정을 포함하는 것을 의미한다.
따라서, 상대적으로 높은 복잡도를 가지는 모드 8의 계산량 감소는 전체 부호기의 복잡도에 큰 영향을 미칠 것임이 자명하는데도, 종래에는 이와 같은 방법을 제시하지 못하고 있다.
또한, P 프레임 내 하나의 매크로블록 모드를 선택함에 있어 공간영역에서의 예측에 사용되는 인트라 16 모드 및 인트라 4 모드도 포함되어 고려된다. 상기 인트라 16 모드는 16 × 16 크기의 매크로블록에 대해서 단지 4개의 예측모드를 가지는 반해 인트라 4 모드는 4 × 4 크기의 블록에 대해서 9개의 예측모드를 가지고 있기 때문에 인트라 16 모드에 비해 상대적으로 높은 복잡도를 가질 수밖에 없다.
따라서, 상기 인트라 16 모드에 대해서만 계산을 수행하고 상기 인트라 4 모드에 대해서는 계산을 생략하고 최종적인 매크로블록 모드를 선택할 수 있다면, 고속으로 최종적인 매크로블록을 선택할 수 있는 것이 자명한데, 종래에는 이에 대해서 제시하지 못하고 있다.
본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위하여 창안된 것으로, H.264/AVC 부호기의 복잡도를 분석하고 복잡도에 상당한 영향을 미치는 매크로블록 모드 선택 과정 및 움직임 추정 과정 중 매크로블록 모드 선택과정을 제안하고, 이를 위해 매크로블록 모드의 선택과정의 복잡도에 상당한 영향을 미치는 시방향 상관성을 이용하는 8 × 8 크기의 모드 결정과정 및 공간 내 상관성을 이용하는 인트라 4 모드의 비용 계산 과정을 상대적으로 낮은 복잡도를 가지는 다른 매크로블록 모드의 비용값으로 추정함으로써, 매크로블록 모드 선택 과정의 복잡도를 줄임과 동시에 전체 부호기의 복잡도를 감소시키는 H.264/AVC에서의 고속 매크로블록 모드 선택 방법을 제공하는 것을 그 목적으로 한다.
상기와 같은 기술적 과제를 해결하기 위하여 제안된 본 발명인 H.264/AVC에서의 고속 매크로블록 모드 선택방법을 이루는 구성수단은, H.264/ AVC에서의 고속 매크로블록 모드 선택 방법에 있어서, 모드 1부터 모드 3에 대하여 각각 움직임 벡터 비용과 참조 프레임 비용의 합을 구하는 단계와, 상기 모드 1부터 모드 3에 대한 움직임 벡터 비용과 참조 프레임 비용의 합들을 비교하여 모드 8의 서브 매크로블록 모드를 결정하는 단계와, 상기 결정된 서브 매크로블록 모드, 스킵(skip)모드, 상기 움직임 벡터 비용과 참조 프레임 비용의 최소합을 가지는 모드, 두개의 인트라 모드(인트라16 모드 및 인트라4 모드) 중 최소의 율-왜곡 비용을 가지는 모드를 최종적인 매크로블록 모드로 선택하는 3단계를 포함하여 이루어진 것을 특징으로 한다.
또 다른 본 발명인 H.264/AVC에서의 고속 매크로블록 모드 선택방법을 이루는 구성수단은, H.264/AVC에서의 고속 매크로블록 모드 선택 방법에 있어서, 모드 1부터 모드 3에 대하여 각각 움직임 벡터 비용과 참조 프레임 비용의 합을 구하는 단계와, 상기 모드 1부터 모드 3에 대한 움직임 벡터 비용과 참조 프레임 비용의 합들을 비교하여 모드 8의 서브 매크로블록 모드를 결정하는 단계와, 상기 결정된 서브 매크로블록 모드, 스킵(skip)모드, 상기 움직임 벡터 비용과 참조 프레임 비용의 최소합을 가지는 모드 중 최소의 율-왜곡 비용에 비례상수를 곱한 값과 인트라16 모드의 율-왜곡 비용을 비교하는 단계와, 상기 최소의 율-왜곡 비용에 비례상수를 곱한 값이 인트라16 모드의 율-왜곡 비용보다 작은 경우에는 인트라4 모드의 율-왜곡 비용 계산을 생략하고, 인트라16 모드의 율-왜곡 비용보다 큰 경우에는 인트라4 모드의 율-왜곡 비용 계산을 수행한 후 최종적인 매크로블록 모드를 선택하는 단계를 포함하여 이루어진 것을 특징으로 한다.
또한, 상기 모드 8의 서브 매크로블록 모드를 결정하는 단계는, 상기 모드 1에 대한 움직임 벡터 비용과 참조 프레임 비용의 합이 상기 모드 2에 대한 움직임 벡터 비용과 참조 프레임 비용의 합 및 상기 모드 3에 대한 움직임 벡터 비용과 참조 프레임 비용의 합보다 모두 작은 경우에는 스킵(skip) 모드가 결정되는 것을 특징으로 한다.
또한, 상기 모드 8의 서브 매크로블록 모드를 결정하는 단계는, 상기 모드 1에 대한 움직임 벡터 비용과 참조 프레임 비용의 합이 상기 모드 2에 대한 움직임 벡터 비용과 참조 프레임 비용의 합보다 크고, 상기 모드 3에 대한 움직임 벡터 비용과 참조 프레임 비용의 합보다 작은 경우에는 모드 4 및 모드 5가 결정되는 것을 특징으로 한다.
또한, 상기 모드 8의 서브 매크로블록 모드를 결정하는 단계는, 상기 모드 1에 대한 움직임 벡터 비용과 참조 프레임 비용의 합이 상기 모드 2에 대한 움직임 벡터 비용과 참조 프레임 비용의 합보다 작고, 상기 모드 3에 대한 움직임 벡터 비용과 참조 프레임 비용의 합보다 큰 경우에는 모드 4 및 모드 6이 결정되는 것을 특징으로 한다.
또한, 상기 모드 8의 서브 매크로블록 모드를 결정하는 단계는, 상기 모드 1에 대한 움직임 벡터 비용과 참조 프레임 비용의 합이 상기 모드 2에 대한 움직임 벡터 비용과 참조 프레임 비용의 합 및 상기 모드 3에 대한 움직임 벡터 비용과 참조 프레임 비용의 합보다 모두 큰 경우에는 모드 4부터 모드 7이 결정되는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 상기와 같은 구성수단으로 이루어져 있는 본 발명인 H.264/AVC에서의 고속 매크로블록 모드 선택 방법에 관한 작용 및 바람직한 실시예를 상세하게 설명한다.
본 발명은 모드 8의 복잡도 감소를 위해 제안된 것으로, 매크로블록의 나뉘는 방향에 따라 그에 따른 율-왜곡 비용의 크기가 단조 증가 또는 단조 감소라는 가정에서 출발한다.
RDcost(Mode1) <(>) RDcost(Mode2) <(>) RDcost(Mode8(4|5)) 식 (10)
RDcost(Mode1) <(>) RDcost(Mode3) <(>) RDcost(Mode8(4|6)) 식 (11)
도 4는 가로 방향 및 세로방향에 대한 블록 세분화 과정을 나타내며, 식 (10) 및 식 (11)은 율-왜곡 비용의 단조 증가 및 단조 감소를 수식화 한 것이다.
식 (10)에서 모드8(4|5)의 표현은 선택가능한 서브 매크로브록 모드가 모드 4와 모드 5로 한정됨을 의미하며, 식 (11)의 모드 8(4|6) 역시 선택가능한 서브 매크로블록 모드가 모드 4와 모드 6으로 한정됨을 의미한다.
단조 증가 및 단조 감소의 가정은 가령 모드 2의 율-왜곡 비용이 모드 1의 율-왜곡 비용보다 작다면, 이는 매크로블록이 가로방향으로 나뉘어짐에 따라 율-왜곡 비용이 감소하고 있음을 나타낸다. 따라서, 가로방향으로의 추가적인 세분화 과정이 필요함을 의미한다.
반면, 모드 2이 율-왜곡 비용이 모드 1의 율-왜곡 비용보다 크다면, 이는 가로방향으로의 추가적인 블록 세분화 과정에서 모드 1보다 적은 율-왜곡 비용을 기 대할 수 없음을 의미한다. 세로방향의 블록 세분화를 나타내는 식 (11)의 경우에서도 이와 같은 가정을 적용한다.
도 5는 모드 8의 복잡도를 감소하여 고속으로 매크로블록 모드를 선택하는 방법에 대한 흐름도이다. 이를 참조하여 고속으로 매크로블록 모드를 선택하는 방법에 대해서 상세하게 설명한다.
Figure 112005003645995-PAT00003
먼저, 상기 식 (12)를 사용하여 모드 1부터 모드 3에 대하여 각각 움직임 벡터 비용과 참조 프레임 비용을 구하고, 각 모드에 대한 움직임 벡터 비용과 참조 프레임 비용의 합을 구한다(S10). 즉, 모드 1부터 모드 3에 대한 움직임 벡터 비용과 참조 프레임 비용의 합을 나타내는 Jmode 값을 계산하고 모드 1부터 모드 3 각각에 대해서 Jmode 를 최소로 하는 움직임 벡터 및 참조 프레임을 구한다.
본 발명은 모드 8의 계산량을 정의하기 위해 모드 1부터 모드 3의 비용들을 사용하며, 이때 사용되는 비용은 상대적으로 낮은 복잡도만을 갖는 움직임 벡터 비용 및 참조 프레임 비용을 사용한다.
다음은 모드 1부터 모드 3에 대한 움직임 벡터 비용과 참조 프레임 비용의 합들을 비교하여 모드 8의 서브 매크로블록 모드를 결정한다(S20). 즉, 식 (12)를 이용하여 구한 모드 1부터 모드 3의 Jmode 값의 비교를 통해 4가지의 서로 다른 모드 8의 계산량을 정의한다.
상기 식 (12)를 이용하여 구한 모드 1부터 모드 3의 Jmode 값의 비교를 통해 발생하는 4가지 경우와 그에 따라 선택되는 모드 8 내의 서브 매크로블록 모드의 한정은 아래와 같다.
If Jmode1 < Jmode2 & Jmode1 < Jmode3
then Mode8(SKIP) 식 (13)
첫째, 상기 식 (13)이 의미하는 바와 같이, 가로방향으로 세분화된 매크로블록(모드 2의 매크로블록)의 Jmode 값과 세로방향으로 세분화된 매크로블록(모드 3의 매크로블록)의 Jmode 값이 모두 16 × 16 크기 매크로블록(모드 1의 매크로블록)의 Jmode 값보다 큰 경우로서, 이 경우는 가로 또는 세로방향으로 더 이상의 세분화 과정이 필요 없는 경우이다.
즉, 모드 1에 대한 움직임 벡터 비용과 참조 프레임 비용의 합이 상기 모드 2에 대한 움직임 벡터 비용과 참조 프레임 비용의 합 및 상기 모드 3에 대한 움직임 벡터 비용과 참조 프레임 비용의 합보다 모두 작은 경우에는 가로 또는 세로방향으로 더 이상 세분화하지 않고 스킵 모드로 한정한다(S60 ~ S61).
따라서, 모드 8의 움직임 벡터 비용 및 참조 프레임 비용뿐 아니라, 서브 매크로블록 모드를 결정하기 위한 율-왜곡 비용의 계산 과정은 모두 생략되다. 상기 식 (13)에서의 모드8(SKIP)은 모드 8의 모든 비용 계산 과정이 생략됨을 나타낸다.
If Jmode1 > Jmode2 & Jmode1 < Jmode3
then Mode8(4|5) 식 (14)
둘째, 상기 식 (14)가 의미하는 바와 같이, 가로방향으로의 매크로블록 세분화를 통해 보다 적은 Jmode 값이 발생하는 경우로서, 이 때에는 모드 8 내의 선택가능한 서브 매크로블록 모드는 가로방향으로의 나뉨 성분을 가지는 모드 4 및 모드 5로 한정된다(S30 ~ S31).
즉, 상기 모드 1에 대한 움직임 벡터 비용과 참조 프레임 비용의 합이 상기 모드 2에 대한 움직임 벡터 비용과 참조 프레임 비용의 합보다 크고, 상기 모드 3에 대한 움직임 벡터 비용과 참조 프레임 비용의 합보다 작은 경우에는 모드 4 및 모드 5가 결정되어 한정된다.
If Jmode1 < Jmode2 & Jmode1 > Jmode3
then Mode8(4|6) 식 (15)
세째, 상기 식 (15)가 의미하는 바와 같이, 세로방향으로의 매크로블록 세분화를 통해 보다 적은 Jmode 값이 발생하는 경우로서, 이 때에는 모드 8 내의 선택가 능한 서브 매크로블록 모드는 세로방향으로의 나뉨 성분을 가지고 있는 모드 4 및 모드 6으로 한정한다(S40 ~ S41).
즉, 상기 모드 1에 대한 움직임 벡터 비용과 참조 프레임 비용의 합이 상기 모드 2에 대한 움직임 벡터 비용과 참조 프레임 비용의 합보다 작고, 상기 모드 3에 대한 움직임 벡터 비용과 참조 프레임 비용의 합보다 큰 경우에는 모드 4 및 모드 6으로 한정되는 것으로 결정된다.
If Jmode1 > Jmode2 & Jmode1 > Jmode3
then Mode8(4|5|6|7) 식 (16)
네째, 상기 식 (16)이 의미하는 바와 같이, 가로방향으로 세분화된 매크로블록(모드 2의 매크로블록)과 세로방향으로 세분화된 매크로블록(모드 3의 매크로블록)의 Jmode 값이 모두 16 × 16 크기 매크로블록(모드 1의 매크로블록) Jmode 값보다 작은 경우로 이 때에는 모드 8 내의 서브 매크로블록 모드는 모든 세분화된 방향을 고려하여 모드 4 내지 모드 7 중에서 선택한다(S50 ~ S51).
즉, 상기 모드 1에 대한 움직임 벡터 비용과 참조 프레임 비용의 합이 상기 모드 2에 대한 움직임 벡터 비용과 참조 프레임 비용의 합 및 상기 모드 3에 대한 움직임 벡터 비용과 참조 프레임 비용의 합보다 모두 큰 경우에는 모드 4 내지 모드 7로 한정하여 결정한다.
상기와 같은 단계(S30 ~ S31, S40 ~ S41, S50 ~ S51, S60 ~ S61)를 거쳐 모드 8의 계산량을 결정한 후에는 최종 매크로블록 모드를 선택한다. 즉, 상기 결정 된 서브 매크로블록 모드와 스킵(Skip)모드, 상기 모드 1 내지 모드 3에 대한 움직임 벡터 비용과 참조 프레임 비용의 합 중 최소합을 가지는 모드, 두개의 인트라 모드(인트라 16 모드와 인트라 4 모드)의 각 율-왜곡 비용 중에 최소의 율-왜곡 비용을 가지는 모드를 최종적인 매크로블록 모드로 선택한다(S70).
Min(RDcost(SKIP, Mode1, I16MB, I4MB)) 식 (17)
Min(RDcost(SKIP, Mode2, Mode8(4|5), I16MB, I4MB)) 식 (18)
Min(RDcost(SKIP, Mode3, Mode8(4|6), I16MB, I4MB)) 식 (19)
Min(RDcost(SKIP, Min Mode(Jmode2, Jmode3), Mode8(4|5|6|7), I16MB, I4MB)) 식 (20)
구체적으로 살펴보면, 상기 Jmode 값의 대소비교를 통해 모드 8의 계산량을 정의하는 단계에서 스킵모드로 한정하여 결정된 경우에는 식 (17)이 의미하는 바와 같이, 스킵 모드와 모드 1과 인트라 16 모드와 인트라 4 모드의 각 율-왜곡 비용 중에 최소의 율-왜곡 비용을 가지는 모드가 최종적인 매크로블록 모드로 선택된다.
또한, 상기 Jmode 값의 대소비교를 통해 모드 8의 계산량을 정의하는 단계에서 모드 8 내의 서브 매크로블록인 모드 4와 모드 5로 한정하여 결정된 경우에는 식 (18)이 의미하는 바와 같이, 스킵 모드와 모드 2와 모드 8 내의 서브 매크로블록인 모드 4 및 모드 5와 인트라 16 모드와 인트라 4 모드의 각 율-왜곡 비용 중에 최소의 율-왜곡 비용을 가지는 모드가 최종적인 매크로블록 모드로 선택된다.
또한, 상기 Jmode 값의 대소비교를 통해 모드 8의 계산량을 정의하는 단계에서 모드 8 내의 서브 매크로블록인 모드 4와 모드 6으로 한정하여 결정된 경우에는 식 (19)가 의미하는 바와 같이, 스킵 모드와 모드 3과 모드 8 내의 서브 매크로블록인 모드 4 및 모드 6과 인트라 16 모드와 인트라 4 모드의 각 율-왜곡 비용 중에 최소의 율-왜곡 비용을 가지는 모드가 최종적인 매크로블록 모드로 선택된다.
또한, 상기 Jmode 값의 대소비교를 통해 모드 8의 계산량을 정의하는 단계에서 모드 8 내의 서브 매크로블록인 모드 4 내지 모드 7로 한정하여 결정된 경우에는 식 (20)이 의미하는 바와 같이, 스킵 모드와 모드 2와 모드 3 모드 중에서 보다 적은 Jmode 값을 갖는 모드와 모드 8 내의 서브 매크로블록인 모드 4 내지 모드 7과 인트라 16 모드와 인트라 4 모드의 각 율-왜곡 비용 중에 최소의 율-왜곡 비용을 가지는 모드가 최종적인 매크로블록 모드로 선택된다.
Figure 112005003645995-PAT00004
- 표 1 -
상기 표 1은 QCIF 크기의 테스트 시퀀스 100 프레임을 IPPP 구조로 부호화를 하는 경우, 서브 매크로블록의 모드 결정을 위해 사용되는 율-왜곡 비용의 계산량 감소 정도를 정량적으로 표현한다. QCIF 크기 영상의 경우 모드 8 내의 서브 매크로블록 모드 결정에 사용되는 율-왜곡 비용 계산 회수는 프레임 당 1,584호이다. 따라서, IPPP 구조로 부호화를 한 경우 99개의 P 프레임에 대해서 모드 8의 서브 매크로블록 모드 선택에 사용되는 율-왜곡 비용의 전체 계산회수는 156,816회이다.
표 1을 통해 알 수 있듯이, 모드 8의 복잡도를 감소시키는 본 발명에 의하면, 적게는 58%에서부터 최대 89%까지의 율-왜곡 비용 계산량을 감소시키는 효과가 있는 것으로 나타나며 평균 73.5%의 계산량 감소율을 가진다.
이상에서는 모드 8의 복잡도를 감소시켜 고속으로 매크로블록 모드를 선택하는 방법에 대해서 살펴보았다. 이하에서는 상기 모드 8의 복잡도를 감소시킴과 아울러 인트라 모드 중 상대적으로 복잡도가 큰 인트라 4 모드를 선택적으로 생략함으로써, 고속으로 매크로블록 모드를 선택하는 방법에 대해서 살펴본다.
도 6a 및 도 6b는 모드 8의 복잡도 및 인트라 4 모드의 선택적 계산 생략에 따라 고속으로 매크로블록 모드를 선택하는 방법에 대해서 살펴본다.
Figure 112005003645995-PAT00005
먼저, 상기 식 (21)을 사용하여 모드 1부터 모드 3에 대하여 각각 움직임 벡터 비용과 참조 프레임 비용을 구하고, 각 모드에 대한 움직임 벡터 비용과 참조 프레임 비용의 합을 구한다(S110). 즉, 모드 1 내지 모드 3에 대한 움직임 벡터 비 용과 참조 프레임 비용의 합을 나타내는 Jmode 값을 계산하고 모드 1 내지 모드 3 각각에 대해서 Jmode 를 최소로 하는 움직임 벡터 및 참조 프레임을 구한다.
본 발명은 모드 8의 계산량을 정의하기 위해 모드 1 내지 모드 3의 비용들을 사용하며, 이때 사용되는 비용은 상대적으로 낮은 복잡도만을 갖는 움직임 벡터 비용 및 참조 프레임 비용을 사용한다.
다음은 모드 1부터 모드 3에 대한 움직임 벡터 비용과 참조 프레임 비용의 합들을 비교하여 모드 8의 서브 매크로블록 모드를 결정한다(S120). 즉, 식 (21)을 이용하여 구한 모드 1 내지 모드 3의 Jmode 값의 비교를 통해 4가지의 서로 다른 모드 8의 계산량을 정의한다.
상기 식 (21)을 이용하여 구한 모드 1 내지 모드 3의 Jmode 값의 비교를 통해 발생하는 4가지 경우와 그에 따라 선택되는 모드 8 내의 서브 매크로블록 모드의 한정은 아래와 같다.
If Jmode1 < Jmode2 & Jmode1 < Jmode3
then Mode8(SKIP) 식 (22)
첫째, 상기 식 (22)가 의미하는 바와 같이, 가로방향으로 세분화된 매크로블록(모드 2의 매크로블록)의 Jmode 값과 세로방향으로 세분화된 매크로블록(모드 3의 매크로블록)의 Jmode 값이 모두 16 × 16 크기 매크로블록(모드 1의 매크로블록)의 Jmode 값보다 큰 경우로서, 이 경우는 가로 또는 세로방향으로 더 이상의 세분화 과정이 필요 없는 경우이다.
즉, 모드 1에 대한 움직임 벡터 비용과 참조 프레임 비용의 합이 상기 모드 2에 대한 움직임 벡터 비용과 참조 프레임 비용의 합 및 상기 모드 3에 대한 움직임 벡터 비용과 참조 프레임 비용의 합보다 모두 작은 경우에는 가로 또는 세로방향으로 더 이상 세분화하지 않고 스킵 모드로 한정한다(S160 ~ S161).
따라서, 모드 8의 움직임 벡터 비용 및 참조 프레임 비용뿐 아니라, 서브 매크로블록 모드를 결정하기 위한 율-왜곡 비용의 계산 과정은 모두 생략되다. 상기 식 (22)에서의 모드8(SKIP)은 모드 8의 모든 비용 계산 과정이 생략됨을 나타낸다.
If Jmode1 > Jmode2 & Jmode1 < Jmode3
then Mode8(4|5) 식 (23)
둘째, 상기 식 (23)이 의미하는 바와 같이, 가로방향으로의 매크로블록 세분화를 통해 보다 적은 Jmode 값이 발생하는 경우로서, 이 때에는 모드 8 내의 선택가능한 서브 매크로블록 모드는 가로방향으로의 나뉨 성분을 가지는 모드 4 및 모드 5로 한정된다(S130 ~ S131).
즉, 상기 모드 1에 대한 움직임 벡터 비용과 참조 프레임 비용의 합이 상기 모드 2에 대한 움직임 벡터 비용과 참조 프레임 비용의 합보다 크고, 상기 모드 3에 대한 움직임 벡터 비용과 참조 프레임 비용의 합보다 작은 경우에는 모드 4 및 모드 5가 결정되어 한정된다.
If Jmode1 < Jmode2 & Jmode1 > Jmode3
then Mode8(4|6) 식 (24)
세째, 상기 식 (24)가 의미하는 바와 같이, 세로방향으로의 매크로블록 세분화를 통해 보다 적은 Jmode 값이 발생하는 경우로서, 이 때에는 모드 8 내의 선택가능한 서브 매크로블록 모드는 세로방향으로의 나뉨 성분을 가지고 있는 모드 4 및 모드 6으로 한정한다(S140 ~ S141).
즉, 상기 모드 1에 대한 움직임 벡터 비용과 참조 프레임 비용의 합이 상기 모드 2에 대한 움직임 벡터 비용과 참조 프레임 비용의 합보다 작고, 상기 모드 3에 대한 움직임 벡터 비용과 참조 프레임 비용의 합보다 큰 경우에는 모드 4 및 모드 6으로 한정되는 것으로 결정된다.
If Jmode1 > Jmode2 & Jmode1 > Jmode3
then Mode8(4|5|6|7) 식 (25)
네째, 상기 식 (25)이 의미하는 바와 같이, 가로방향으로 세분화된 매크로블록(모드 2의 매크로블록)과 세로방향으로 세분화된 매크로블록(모드 3의 매크로블록)의 Jmode 값이 모두 16 × 16 크기 매크로블록(모드 1의 매크로블록) Jmode 값보다 작은 경우로 이 때에는 모드 8 내의 서브 매크로블록 모드는 모든 세분화된 방향을 고려하여 모드 4 내지 모드 7 중에서 선택한다(S150 ~ S151).
즉, 상기 모드 1에 대한 움직임 벡터 비용과 참조 프레임 비용의 합이 상기 모드 2에 대한 움직임 벡터 비용과 참조 프레임 비용의 합 및 상기 모드 3에 대한 움직임 벡터 비용과 참조 프레임 비용의 합보다 모두 큰 경우에는 모드 4 내지 모드 7로 한정하여 결정한다.
상기와 같은 단계(S130 ~ S131, S140 ~ S141, S150 ~ S151, S160 ~ S161)를 거쳐 모드 8의 계산량을 결정한 후에는 시방향 움직임 추정에 사용되는 매크로블록 모드 중에 최소의 율-왜곡 비용을 결정한다. 즉, 상기 결정된 서브 매크로블록 모드와 스킵(Skip)모드, 상기 모드 1 내지 모드 3에 대한 움직임 벡터 비용과 참조 프레임 비용의 합 중 최소합을 가지는 모드의 각 율-왜곡 비용 중에 최소의 율-왜곡 비용을 결정한다(S170).
Min(RDcost(SKIP, Mode1, Mode2, Mode3, Mode8))* k<RDcost(I16MB) 식 (26)
그런 다음, 식 (26)이 의미하는 바와 같이, 상기 S170 단계에서 결정된 최소 의 율-왜곡 비용에 소정의 비례상수를 곱한값이 인트라 16 모드의 율-왜곡 비용을 비교하여, 상기 최소의 율-왜곡 비용에 소정의 비례상수(K)를 곱한값이 인트라 16 모드의 율-왜곡 비용보다 작은지를 판단한다(S180).
상기와 같이 매크로블록의 결정시 시방향 예측을 위한 매크로블록 모드들의 율-왜곡 비용과 인트라 16 모드(I16MB)의 율-왜곡을 비교 대상으로 하는 이유는 상기 인트라 16 모드는 인트라 4 모드보다 상대적으로 복잡도가 작기 때문에, 상대적으로 복잡도가 큰 인트라 4 모드를 선택적으로 계산량에 포함하기 위해서이다.
시방향 예측을 위한 5가지 매크로블록 모드의 율-왜곡 비용을 구하고 그 중 최소의 율-왜곡 비용 값에 비례상수를 곱하여 이 값이 인트라 16 모드의 율-왜곡 비용 값보다 작은 경우에는 인트라 4 모드에서 최소의 율-왜곡 비용 값이 나타날 확률은 극히 작다고 볼 수 있다. 이는 인트라 16 모드 및 인트라 4 모드가 공간 내 방향성을 고려하여 예측을 수행하며, 단지 예측 단위와 고려하는 방향성의 차이만을 가지기 때문에 율-왜곡 측면에서의 비용은 상당한 상관성을 가지고 있다는 가정에 근거한다.
따라서, 상기 식 (26)을 만족하는 경우에는 인트라 4 모드의 율-왜곡 비용함수 계산 과정 및 9가지 방향의 공간 내 예측과정은 모두 생략된다. 따라서, 이 경우 매크로블록 모드를 선택함에 있어 복잡도를 감소시키고 고속으로 매크로블록 모드를 선택할 수 있다.
결국, 상기 S180 단계에서 판단 결과 상기 식 (26)을 만족하게 되면, 인트라 4 모드에 대한 모든 계산과정을 생략하고 상기 시방향 예측을 위한 매크로블록 모 드와 인트라 16 모드의 율-왜곡 중에 최소의 율-왜곡 비용을 가지는 모드를 최종적인 매크로블록 모드로 결정한다(S190).
그리고, 상기 S180 단계에서 판단 결과 상기 식 (26)을 만족하지 않으면, 인트라 4 모드의 율-왜곡 비용 계산을 수행한 후(S185), 상기 시방향 예측을 위한 매크로블록 모드와 인트라 16 모드와 인트라 4 모드 중에 최소의 율-왜곡 비용을 가지는 모드를 최종적인 매크로모드로 결정한다.
상기 비례상수(K)는 실험치에 의한 것으로 1.3 ~ 1.7 범위로 결정하는 것이 복잡도 감소 대비 오류가 적게 나온다. 특히, 비례상수(K)를 1.5로 하는 것이 바람직하다.
Figure 112005003645995-PAT00006
- 표 2 -
상기 표 2는 인트라 16 모드(I16MB)의 율-왜곡 비용과 인트라 4 모드(I4MB)의 율-왜곡 비용 값 사이에 큰 상관성이 존재한다는 가정이 정당함을 나타내며 각 비례상수 K에 따른 오류확률을 나타낸다. 오류확률은 상기 식 (26)을 사용하여 계산과정이 생략된 인트라 4 모드에서 최소의 율-왜곡 비용 값이 발생할 확률을 나타 낸다.
상기 표 2의 결과는 비례상수 K가 1.5의 작은 값을 갖는 경우에도 오류확률은 단지 3.5% 이내이며 평균 오류확률은 약 1%에 그친다. 이는 영상 내 평균 99%의 매크로블록에서 인트라 16 모드 및 인트라 4 모드의 율-왜곡 비용 값이 1.5배 이내의 차이를 보임을 나타낸다.
하나의 매크로블록에 대한 인트라 4 모드의 율-왜곡 비용 함수의 계산 회수는 매크로블록의 위치에 따라 다르게 나타난다. 이는 이웃한 블록의 존재 유무에 따라 색차성분의 공간적 예측방향(DC ~ Plane)이 제한되기 때문이다. 상측 또는 좌측의 이웃한 매크로블록이 모두 없는 경우에는 인트라 4 모드의 율-왜곡 비용함수는 단 한번만 계산을 하며, 상측 및 좌측 중 하나의 이웃한 매크로블록만 있는 경우에는 두번의 율-왜곡 비용 함수의 계산회수를 갖는다.
상측 및 좌측의 이웃한 매크로블록이 모두 존재하는 경우에는 모든 색차성분의 예측방향에 따라 수행되며, 따라서 그런 매크로블록은 네번의 율-왜곡 비용함수의 계산을 수행한다. 예를 들어, 율-왜곡 최적화 기법이 사용되는 경우 QCIF 크기의 영상은 프레임 당 357회의 인트라 4 모드의 율-왜곡 비용함수를 계산한다.
Figure 112005003645995-PAT00007
- 표 3 -
상기 표 3은 100 프레임의 QCIF 크기의 테스트 시퀀스를 율-왜곡 최적화 기법을 사용하여 IPPP 구조로 부호화를 한 경우, 인트라 4 모드(I4MB)의 율-왜곡 비용함수 계산 회수와 계산량의 평균 감소율을 나타낸다. 이 때 사용한 비례상수 K는 1.5를 사용하였다.
상기 표 3에서 보는 바와 같이, 본 발명에 의하면 인트라 4 모드의 율-왜곡 비용함수의 계산회수는 적게는 69.3%부터 최대 99.7%까지 감소하는 것으로 나타났으며 위의 테스트 시퀀스들에 대한 평균 감소율은 약 86.7%인 것으로 나타난다.
상기와 같은 구성 및 작용 그리고 바람직한 실시예를 가지는 본 발명인 H.264/AVC에서의 고속 매크로블록 모드 선택 방법에 의하면, 높은 복잡도를 갖는 H.264/AVC 부호기의 부호화 과정 중 매크로블록 모드 선택에 있어 시방향 움직임 추정에 사용되는 매크로블록 모드 중 상대적으로 높은 복잡도를 가지는 모드 8의 계산량 감소와 함께 공간 내 상관성을 이용한 두가지 인트라 모드 중 상대적으로 높은 복잡도를 갖는 인트라 4 모드의 계산량을 감소함으로써, 매크로블록 모드 선택 과정에 소요되는 계산량을 대폭 줄일 수 있으며 부호기 전체의 복잡도 또한 대폭 감소시키는 효과가 있다.

Claims (8)

  1. H.264/AVC에서의 고속 매크로블록 모드 선택 방법에 있어서,
    모드 1부터 모드 3에 대하여 각각 움직임 벡터 비용과 참조 프레임 비용의 합을 구하는 단계와;
    상기 모드 1부터 모드 3에 대한 움직임 벡터 비용과 참조 프레임 비용의 합들을 비교하여 모드 8의 서브 매크로블록 모드를 결정하는 단계와;
    상기 결정된 서브 매크로블록 모드, 스킵(skip)모드, 상기 움직임 벡터 비용과 참조 프레임 비용의 최소합을 가지는 모드, 두개의 인트라 모드(인트라16 모드 및 인트라4 모드) 중 최소의 율-왜곡 비용을 가지는 모드를 최종적인 매크로블록 모드로 선택하는 3단계를 포함하여 이루어진 것을 특징으로 하는 H.264/AVC에서의 고속 매크로블록 모드 선택 방법.
  2. H.264/AVC에서의 고속 매크로블록 모드 선택 방법에 있어서,
    모드 1부터 모드 3에 대하여 각각 움직임 벡터 비용과 참조 프레임 비용의 합을 구하는 단계와;
    상기 모드 1부터 모드 3에 대한 움직임 벡터 비용과 참조 프레임 비용의 합들을 비교하여 모드 8의 서브 매크로블록 모드를 결정하는 단계와;
    상기 결정된 서브 매크로블록 모드, 스킵(skip)모드, 상기 움직임 벡터 비용 과 참조 프레임 비용의 최소합을 가지는 모드 중 최소의 율-왜곡 비용에 비례상수를 곱한 값과 인트라16 모드의 율-왜곡 비용을 비교하는 단계와;
    상기 최소의 율-왜곡 비용에 비례상수를 곱한 값이 인트라16 모드의 율-왜곡 비용보다 작은 경우에는 인트라4 모드의 율-왜곡 비용 계산을 생략하고, 인트라16 모드의 율-왜곡 비용보다 큰 경우에는 인트라4 모드의 율-왜곡 비용 계산을 수행한 후 최종적인 매크로블록 모드를 선택하는 단계를 포함하여 이루어진 것을 특징으로 하는 H.264/AVC에서의 고속 매크로블록 모드 선택 방법.
  3. 청구항 1 또는 청구항 2에 있어서, 상기 모드 8의 서브 매크로블록 모드를 결정하는 단계는,
    상기 모드 1에 대한 움직임 벡터 비용과 참조 프레임 비용의 합이 상기 모드 2에 대한 움직임 벡터 비용과 참조 프레임 비용의 합 및 상기 모드 3에 대한 움직임 벡터 비용과 참조 프레임 비용의 합보다 모두 작은 경우에는 스킵(skip) 모드가 결정되는 것을 특징으로 하는 H.264/AVC에서의 고속 매크로블록 모드 선택 방법.
  4. 청구항 1 또는 청구항 2에 있어서, 상기 모드 8의 서브 매크로블록 모드를 결정하는 단계는,
    상기 모드 1에 대한 움직임 벡터 비용과 참조 프레임 비용의 합이 상기 모드 2에 대한 움직임 벡터 비용과 참조 프레임 비용의 합보다 크고, 상기 모드 3에 대한 움직임 벡터 비용과 참조 프레임 비용의 합보다 작은 경우에는 모드 4 및 모드 5가 결정되는 것을 특징으로 하는 H.264/AVC에서의 고속 매크로블록 모드 선택 방법.
  5. 청구항 1 또는 청구항2에 있어서, 상기 모드 8의 서브 매크로블록 모드를 결정하는 단계는,
    상기 모드 1에 대한 움직임 벡터 비용과 참조 프레임 비용의 합이 상기 모드 2에 대한 움직임 벡터 비용과 참조 프레임 비용의 합보다 작고, 상기 모드 3에 대한 움직임 벡터 비용과 참조 프레임 비용의 합보다 큰 경우에는 모드 4 및 모드 6이 결정되는 것을 특징으로 하는 H.264/AVC에서의 고속 매크로블록 모드 선택 방법.
  6. 청구항 1 또는 청구항 2에 있어서, 상기 모드 8의 서브 매크로블록 모드를 결정하는 단계는,
    상기 모드 1에 대한 움직임 벡터 비용과 참조 프레임 비용의 합이 상기 모드 2에 대한 움직임 벡터 비용과 참조 프레임 비용의 합 및 상기 모드 3에 대한 움직 임 벡터 비용과 참조 프레임 비용의 합보다 모두 큰 경우에는 모드 4 내지 모드 7이 결정되는 것을 특징으로 하는 H.264/AVC에서의 고속 매크로블록 모드 선택 방법.
  7. 청구항 2에 있어서,
    상기 비례상수는 1.3 ~ 1.7 범위 내에서 결정되는 값인 것을 특징으로 하는 H.264/AVC에서의 고속 매크로블록 모드 선택 방법.
  8. 청구항 7에 있어서,
    상기 비례상수는 1.5인 것을 특징으로 하는 H.264/AVC에서의 고속 매크로블록 모드 선택 방법.
KR1020050005874A 2005-01-21 2005-01-21 H.264/avc에서의 고속 매크로블록 모드 선택 방법 KR100669897B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050005874A KR100669897B1 (ko) 2005-01-21 2005-01-21 H.264/avc에서의 고속 매크로블록 모드 선택 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050005874A KR100669897B1 (ko) 2005-01-21 2005-01-21 H.264/avc에서의 고속 매크로블록 모드 선택 방법

Publications (2)

Publication Number Publication Date
KR20060085004A true KR20060085004A (ko) 2006-07-26
KR100669897B1 KR100669897B1 (ko) 2007-01-16

Family

ID=37174856

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050005874A KR100669897B1 (ko) 2005-01-21 2005-01-21 H.264/avc에서의 고속 매크로블록 모드 선택 방법

Country Status (1)

Country Link
KR (1) KR100669897B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100943636B1 (ko) * 2007-12-26 2010-02-24 호서대학교 산학협력단 매크로블록의 부호화 모드 고속 결정 방법
KR100955828B1 (ko) * 2008-02-28 2010-05-06 아주대학교산학협력단 참조 프레임 선택을 이용한 고성능 멀티미디어 코덱에 사용되는 움직임 추정 연산 방법
KR20100088034A (ko) * 2009-01-29 2010-08-06 삼성전자주식회사 인트라 예측 모드 결정 방법 및 장치
WO2011021914A2 (ko) * 2009-08-21 2011-02-24 에스케이텔레콤 주식회사 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치
KR101107254B1 (ko) * 2007-01-25 2012-01-20 삼성전자주식회사 인접 블록의 움직임 벡터를 이용한 움직임 벡터 추정 방법및 그 장치
KR101356613B1 (ko) * 2009-08-21 2014-02-06 에스케이텔레콤 주식회사 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003259377A (ja) 2002-03-06 2003-09-12 Matsushita Electric Ind Co Ltd 動画像符号化方法、動画像復号化方法および符号列フォーマット
JP3940657B2 (ja) 2002-09-30 2007-07-04 株式会社東芝 動画像符号化方法と装置及び動画像復号化方法と装置
KR20050061762A (ko) * 2003-12-18 2005-06-23 학교법인 대양학원 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치
KR101196429B1 (ko) * 2004-03-12 2012-11-01 삼성전자주식회사 동영상 트랜스코딩 방법 및 그 장치, 이에 사용되는움직임 벡터 보간방법
KR100677118B1 (ko) * 2004-06-11 2007-02-02 삼성전자주식회사 움직임 추정 방법 및 그 장치

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101107254B1 (ko) * 2007-01-25 2012-01-20 삼성전자주식회사 인접 블록의 움직임 벡터를 이용한 움직임 벡터 추정 방법및 그 장치
KR100943636B1 (ko) * 2007-12-26 2010-02-24 호서대학교 산학협력단 매크로블록의 부호화 모드 고속 결정 방법
KR100955828B1 (ko) * 2008-02-28 2010-05-06 아주대학교산학협력단 참조 프레임 선택을 이용한 고성능 멀티미디어 코덱에 사용되는 움직임 추정 연산 방법
KR20100088034A (ko) * 2009-01-29 2010-08-06 삼성전자주식회사 인트라 예측 모드 결정 방법 및 장치
KR101356613B1 (ko) * 2009-08-21 2014-02-06 에스케이텔레콤 주식회사 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치
WO2011021914A3 (ko) * 2009-08-21 2011-06-16 에스케이텔레콤 주식회사 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치
WO2011021914A2 (ko) * 2009-08-21 2011-02-24 에스케이텔레콤 주식회사 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치
US9930358B2 (en) 2009-08-21 2018-03-27 Sk Telecom Co., Ltd. Method and apparatus for encoding/decoding images using adaptive motion vector resolution
US10659804B2 (en) 2009-08-21 2020-05-19 Sk Telecom Co., Ltd. Method and apparatus for encoding/decoding images using adaptive motion vector resolution
US11178421B2 (en) 2009-08-21 2021-11-16 Sk Telecom Co., Ltd. Method and apparatus for encoding/decoding images using adaptive motion vector resolution
US11638029B2 (en) 2009-08-21 2023-04-25 Sk Telecom Co., Ltd. Method and apparatus for encoding/decoding images using adaptive motion vector resolution
US11638030B2 (en) 2009-08-21 2023-04-25 Sk Telecom Co., Ltd. Method and apparatus for encoding/decoding images using adaptive motion vector resolution
US11641481B2 (en) 2009-08-21 2023-05-02 Sk Telecom Co., Ltd. Method and apparatus for encoding/decoding images using adaptive motion vector resolution

Also Published As

Publication number Publication date
KR100669897B1 (ko) 2007-01-16

Similar Documents

Publication Publication Date Title
US11190780B2 (en) Speedup techniques for rate distortion optimized quantization
KR101192026B1 (ko) 소스 픽쳐의 시퀀스를 코딩하는 방법 또는 장치
CA2703775C (en) Method and apparatus for selecting a coding mode
KR101232420B1 (ko) 컨텍스트-적응형 가변 길이 코딩 (cavlc) 을 위한 레이트-왜곡 양자화
KR101293086B1 (ko) 비디오 데이터 밝기 변화를 다루는 지역화된 가중 예측
KR102024516B1 (ko) 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법, 화상 복호 방법 및 기억 매체
US9232223B2 (en) Method for decoding a stream representative of a sequence of pictures, method for coding a sequence of pictures and coded data structure
KR101210528B1 (ko) 인터 또는 인트라 모드에서 비디오 화상을 코딩하기 위한 방법 및 디바이스
Yu Efficient block-size selection algorithm for inter-frame coding in H. 264/MPEG-4 AVC
EP2460355B1 (en) Method for decoding a stream of coded data representative of a sequence of images and method for coding a sequence of images
JP2007503776A (ja) インター符号化に使われる参照画像数を最小化するための方法および装置
KR20050045746A (ko) 계층 구조의 가변 블록 크기를 이용한 움직임 추정 방법및 장치
US20100014001A1 (en) Simple next search position selection for motion estimation iterative search
KR100669897B1 (ko) H.264/avc에서의 고속 매크로블록 모드 선택 방법
KR20170114598A (ko) 적응적 색상 순서에 따른 색상 성분 간 예측을 이용한 동영상 부호화 및 복호화 방법 및 장치
KR100807330B1 (ko) H.264/avc 인코더의 인트라 매크로블록 모드 스킵 방법
KR100785773B1 (ko) 동영상 부호화기를 위한 부호 블록 패턴 예측 방법과 그를적용한 블록 모드 결정 방법
KR20060085003A (ko) H.264/avc에서의 시방향 에러은닉 방법
Bernatin et al. Performance Analysis of Rate Control Scheme in H. 264 Video Coding
Wang et al. A fast intra mode decision algorithm for AVS to H. 264 transcoding
KR100801532B1 (ko) H.264/avc 비디오 표준에서의 옵티컬플로워를이용한 시방향 에러 은닉 방법
KR100801155B1 (ko) H.264에서의 저복잡도를 가지는 공간적 에러 은닉방법
He et al. Improved fine granular scalable coding with interlayer prediction
Balaji et al. Fast intra mode prediction for HEVC based on distortion variance
Kamaci et al. Impact of video parameters on the DCT coefficient distribution for H. 264-like video coders

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121206

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131209

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee