KR100648507B1 - H.264 프로토콜의 4x4 입력 블록을 이용한 동영상부호화 방법 및 장치 - Google Patents

H.264 프로토콜의 4x4 입력 블록을 이용한 동영상부호화 방법 및 장치 Download PDF

Info

Publication number
KR100648507B1
KR100648507B1 KR1020050087601A KR20050087601A KR100648507B1 KR 100648507 B1 KR100648507 B1 KR 100648507B1 KR 1020050087601 A KR1020050087601 A KR 1020050087601A KR 20050087601 A KR20050087601 A KR 20050087601A KR 100648507 B1 KR100648507 B1 KR 100648507B1
Authority
KR
South Korea
Prior art keywords
block
test pattern
prediction mode
mode
input
Prior art date
Application number
KR1020050087601A
Other languages
English (en)
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 KR1020050087601A priority Critical patent/KR100648507B1/ko
Application granted granted Critical
Publication of KR100648507B1 publication Critical patent/KR100648507B1/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

본 발명은 H.264 프로토콜의 4x4 인트라 예측 모드(4x4 Intra Prediction Mode)를 이용한 동영상 부호화 장치에서 동영상을 부호화하는 방법에 있어서, 4x4 입력 블록의 화소값을 수신하는 단계, 수신된 4x4 입력 블록의 화소값에 의하여 적어도 하나의 4x4 테스트 패턴 블록을 생성하는 단계, 생성된 적어도 하나의 4x4 테스트 패턴 블록과 4x4 입력 블록을 비교하여 미리 지정된 기준에 만족하는 4x4 테스트 패턴 블록을 선택하는 단계 및 선택된 4x4 테스트 패턴 블록에 상응하는 4x4 인트라 예측 모드를 생성하는 단계를 포함하는 것을 특징으로 하는 동영상 부호화 방법을 제공할 수 있다.
H.264, 인트라 예측(Inter Prediction), 화상 부호화,

Description

H.264 프로토콜의 4x4 입력 블록을 이용한 동영상 부호화 방법 및 장치{Method and Apparatus for using 4x4 input block of H.264 protocol for image-quantization}
도 1은 기존의 인트라 예측 모드에서 사용되는 입력 화소를 개략적으로 나타낸 도면.
도 2는 기존의 인트라 예측 모드에서 사용되는 매크로 블록의 위치를 개략적으로 나타낸 도면.
도 3은 기존의 인트라 예측 모드에 의하여 결정된 각 모드의 방향성을 계략적으로 나타낸 도면이다.
도 4는 기존의 인트라 예측 모드에서 예측 블록을 생성하는 방법을 개략적으로 나타낸 도면.
도 5는 본 발명의 바람직한 일 실시예에 따른 H.264 프로토콜의 인트라 4x4 예측 모드 중 최적의 예측 모드를 생성하는 방법을 대략적으로 나타낸 순서도.
도 6은 본 발명의 바람직한 일 실시예에 따른 테스트 패턴 블록의 9가지 종류를 계략적으로 나타낸 도면.
도 7은 본 발명의 바람직한 일 실시예에 따른 테스트 패턴 블록의 9가지 종 류를 바탕으로 최적의 인트라 예측 모드를 선택하는 순서를 계략적으로 나타낸 도면.
도 8은 본 발명의 바람직한 일 실시예에 따른 입력 블록의 화소값을 이용하여 최적의 인트라 예측 모드를 선택하는 방식을 계략적으로 나타낸 도면.
<도면의 주요 부분에 대한 부호의 설명>
101 : 상부에 위치한 최 인접 화소
103 : 입력 블록
105 : 좌측에 위치한 최 인접 화소
107 : 내부의 화소
본 발명은 동영상에 대한 부호화 과정에서 예측 모드(Prediction Mode)를 결정하는 방법 및 장치에 관한 것으로서, 특히 H.264 부호화 과정에서 인트라(Intra) 예측 모드를 효과적으로 결정하기 위한 H.264 프로토콜의 4x4 입력 블록을 이용한 동영상 부호화 방법 및 장치에 관한 것이다.
현재, 그리고 미래의 통신 환경은 유선과 무선의 영역 구분이나, 지역과 국가의 구분을 초월할 만큼 급변하고 있으며, 특히 영상과 음성은 물론 사용자가 필 요로 하는 다양한 정보를 실시간으로 또는 종합적으로 제공하는 방향으로 구축되는 추세이다. 동영상을 디지털 데이터로 가공하여 실시간으로 전송하고 이를 수신하여 디스플레이하는 디지털 텔레비전 시스템과 실시간으로 전송되는 동영상을 개인 휴대 단말기에서 디스플레이하는 이동 통신망의 구현이 상용화되고 있다. 이러한 상용화 과정에서 아날로그 영상 신호를 양자화, 가변장부호화 등 특수한 디지털 처리를 한 다음, 이를 디지털 정보에 포함하여 송신하고, 수신되는 단말기에서 이를 디코딩함으로써 빠른 전송 속도와 보다 풍부한 정보량을 송수신할 수 있도록 하는 동영상 압축 기술의 발달이 핵심적인 역할을 한다. 동영상 압축의 효율성을 증대시키기 위하여 인트라 예측 모드(Intra Prediction Mode) 방식, 인터 예측 모드(Inter Prediction Mode) 방식 등이 제안되어 실현되고 있다. 특히, 인트라 예측 모드는 시간적 상관성을 이용하지 않고 순수하게 영상 프레임 내의 자체 정보만을 이용하여 예측하는 방법이다. 정확한 예측을 할수록 코딩하고자하는 원 블록과의 중복성(redundancy)이 커지며, 실제 전송할 때에는 원 블록에서 중복성을 제거하여 전송하고자하는 데이터양을 최소화함으로써 압축률을 향상시킬 수 있다.
이러한 종래의 인트라 예측 모드를 도 1 내지 도 3을 참조하여 설명하면 다음과 같다.
도 1은 기존의 인트라 예측 모드에서 사용되는 입력 화소를 개략적으로 나타낸 도면이다.
도 1을 참조하면, H.264 프로토콜의 4x4 인트라 예측 모드에 있어서, 상기 인트라 예측 모드 방식을 계산하기 위하여 4x4 공간의 입력 화소를 기호로 나타낸 것이다. 입력 블록(103)은 4x4의 픽셀의 공간을 기준으로 계산을 하며 상기 입력 블록(103)의 상위 대문자들은 기존에 입력된 상기 입력 블록(103)의 상부에 위치한 최 인접 화소(101)를 나타낸다. 또한 상기 입력 블록(103)의 좌측에 위치한 대문자들은 좌측에 위치한 최 인접 화소(105)와 함께 상기 입력 블록 내부의 화소(107)를 계산하여 H.264 프로토콜의 인트라 예측 모드에 따라 방향성을 결정한다.
도 2는 기존의 인트라 예측 모드에서 사용되는 매크로 블록의 위치를 개략적으로 나타낸 도면이다.
도 2를 참조하면, H.264 프로토콜의 4x4 인트라 예측 모드에 있어서, 상기 인트라 예측 모드를 계산하기 위하여 입력되는 입력 블록(103)의 위치를 매크로적인 관점에서 나타낸 도면이다. 상기 입력 블록(103)의 위치는 상기 도 2에서 확인할 수 있듯이 대문자로 표시된 기존의 매크로 블록(201)과 인접하여 상기 매크로 블록들(201)과의 연관성에 의해 상기 인트라 예측 모드를 결정할 수 있다. 상기 입력 블록(103)은 상기 입력 블록이 속해있는 매크로 블록 내부에서는 동일한 방식으로 예측 모드가 적용될 수 있다.
도 3은 기존의 인트라 예측 모드에 의하여 결정된 각 모드의 방향성을 계략적으로 나타낸 도면이다.
도 3을 참조하면, H.264 프로토콜의 4x4 인트라 예측 모드에 있어서, 예측의 방향성은 모두 9가지이며 각각의 방향성은 참조 번호 303의 화살표의 방향과 같다.
첫 번째 인트라 예측 모드 0(Intra_4x4_Vertical prediction mode)은 상단에 매크로 블록이 존재하는 경우에 입력된 4x4 블록(301)의 상단 화소들의 값으로 예측이 수행된다. 예를 들어, a, e, i, m의 값이 A의 값으로 예측된다. 상기 예측의 방향성은 상기 도 3의 참조번호 305의 방향을 따른다.
이러한 내용은 실제적으로 다음과 같이 표현될 수 있다.
If (MacroBlock B is available)
{ a=A ; e=A ; I=A ; m=A ;
b=B ; f=B ; j=B ; n=B ;
c=C ; g=C ; k=C ; o=C ;
d=D ; h= D ; l=D ; p=D ;
}
두 번째 인트라 예측 모드 1(Intra_4x4_Horizontal prediction mode)은 좌측에 매크로 블록이 존재하는 경우에 입력된 4x4 블록(301)의 좌측 화소들의 값으로 예측이 수행된다. 예를 들어, a, b, c, d의 값이 I의 값으로 예측된다. 상기 예측의 방향성은 상기 도 3의 참조번호 307의 방향을 따른다.
이러한 내용은 실제적으로 다음과 같이 표현될 수 있다.
If (MacroBlock A is available)
{ a=I ; b=I ; c=I ; d=I ;
e=J ; g=J ; g=J ; h=J ;
i=K ; j=K ; k=K ; l=K ;
m=L ; n=L; o=L; p=L;
}
세 번째 인트라 예측 모드 2(Intra_4x4_DC prediction mode)는 좌측과 상단에 매크로 블록이 모두 존재하는 경우에 입력된 4x4 블록(301)의 좌측 및 상단의 화소들의 값들로부터 하나의 값을 구하여 수행된다. 상기 예측의 방향성은 상기 도 3의 참조번호 309의 값을 따른다.
이러한 내용은 실제적으로 다음과 같이 표현될 수 있다.
If (MacroBlock A and B are available)
(a~p) = (A+B+C+D+I+J+K+L+4)>>3 ;
else if MacroBlock A is only available
(a~p) = (I+J+K+L+2)>>2 ;
else if MacroBlock B is only available
(a~p) = (A+B+C+D+2)>>2 ;
else
(a~p) = 128
네 번째 인트라 예측 모드 3(Intra_4x4_Diagonal Down Left prediction mode)은 입력된 4x4 블록(301)의 상단 및 우 상단 측의 화소들의 값으로 예측이 수행된다. 상기 예측의 방향성은 상기 도 3의 참조번호 311의 방향을 따른다.
이러한 내용은 실제적으로 다음과 같이 표현될 수 있다.
If (MacroBlock B is available)
{ a = (A + 2B + C + 2)>>2 ;
b, e = (B + 2C + D +2)>>2 ;
c, f, I = (C + 2D + E + 2)>>2 ;
d, g, j, m = (D + 2E + F + 2)>>2 ;
h, k, n = (E + 2F + G + 2)>>2 ;
l, o = (F + 2G + H + 2)>>2 ;
p = (G + 3H + 2)>>2 ;
}
다섯 번째 인트라 예측 모드 4(Intra_4x4_Diagonal Down Right prediction mode)는 입력된 4x4 블록(301)의 상단 및 좌 상단 측의 화소들의 값으로 예측이 수행된다. 상기 예측의 방향성은 상기 도 3의 참조번호 313의 방향을 따른다.
이러한 내용은 실제적으로 다음과 같이 표현될 수 있다.
If (MacroBlock A, B and D are available)
{ m = (J + 2K + L + 2)>>2 ;
i, n = (I + 2J + K +2)>>2 ;
e, j, o = (X + 2I + J + 2)>>2 ;
a, f, k, p = (A + 2X + I + 2)>>2 ;
b, g, l = (X + 2A + B + 2)>>2 ;
c, h = (A + 2B + C + 2)>>2 ;
d = (B + 2C + D + 2)>>2 ;
}
여섯 번째 인트라 예측 모드 5(Intra_4x4_Vertical Right prediction mode)는 입력된 4x4 블록(301)의 상단 및 좌측의 화소들의 값으로 예측이 수행된다. 상기 예측의 방향성은 상기 도 3의 참조번호 315의 방향을 따른다.
이러한 내용은 실제적으로 다음과 같이 표현될 수 있다.
If (MacroBlock A, B and D are available)
{ m = (I + 2J + K + 2)>>2 ;
i = (X + 2I + J +2)>>2 ;
e, n = (I + 2X + A +2)>>2 ;
a, j = (X + A +1)>>1 ;
f, o = (A + B + 1)>>1 ;
g, p = (A + 2B + C + 2)>>2 ;
c, l = (B + C + 1)>>1 ;
h = (B + 2C + D + 2)>>2 ;
d = (C + D + 1)>>1 ;
}
일곱 번째 인트라 예측 모드 6(Intra_4x4_Horizontal Down prediction mode)은 입력된 4x4 블록(301)의 상단 및 좌측의 화소들의 값으로 예측이 수행된다. 상기 예측의 방향성은 상기 도 3의 참조번호 317의 방향을 따른다.
이러한 내용은 실제적으로 다음과 같이 표현될 수 있다.
If (MacroBlock A, B and D are available)
{ a, g = (X + I +1)>>1 ;
b, h = (I + 2X + A +2)>>2 ;
c = (X + 2A + B +2)>>2 ;
d = (A + 2B +C + 2)>>1 ;
e, k = (I + J + 1)>>2 ;
f, l = (X + 2I + J + 2)>>2 ;
i, o = (I + 2J + K)>>2 ;
j, p = (J + 2K + 1)>>1 ;
m = (K + L + 1)>>1 ;
n = (J + 2K + L + 2)>>2 ;
}
여덟 번째 인트라 예측 모드 7(Intra_4x4_Vertical Left prediction mode)은 입력된 4x4 블록(301)의 상단 및 좌측의 화소들의 값으로 예측이 수행된다. 상기 예측의 방향성은 상기 도 3의 참조번호 319의 방향을 따른다.
이러한 내용은 실제적으로 다음과 같이 표현될 수 있다.
If MacroBlock B is available ( if MacroBlock C is not available, E~H equal to D)
{ a = (A + B + 1)>>1 ;
b, i = (B + C + 1)>>1 ;
c ,j = (C + D + 1)>>1 ;
d , k = (D + E + 1)>>1 ;
l = (E + F + 1)>>1 ;
e = (A + 2B + C + 2)>>2 ;
f, m = (B + 2C + D + 2)>>2 ;
g, n = (C + 2D + E + 2)>>2 ;
h, o = (D + 2E + F + 2)>>2 ;
p = (E + 2F + G + 2)>>2 ;
}
아홉 번째 인트라 예측 모드 8(Intra_4x4_Horizontal Up prediction mode)은 입력된 4x4 블록(301)의 상단 및 좌측의 화소들의 값으로 예측이 수행된다. 상기 예측의 방향성은 상기 도 3의 참조번호 321의 방향을 따른다.
이러한 내용은 실제적으로 다음과 같이 표현될 수 있다.
If MacroBlock A is available
{ a = (I + J + 1)>>1 ;
b = (J + 2J + K + 2)>>2 ;
c, e = (J + K + 1)>>1 ;
d, f = (J + 2K + L +2)>>2 ;
g, i = (K + L + 1)>>1 ;
h, j = (K + 3L + 2)>>2 ;
k, l, m, n, o, p = L ;
}
도 4는 기존의 인트라 예측 모드에서 예측 블록을 생성하는 방법을 개략적으로 나타낸 도면이다.
도 4를 참조하면, 우선 부호화 장치에 4x4 블록이 입력된다(단계 401). 그러면 부호화 장치는 상기 입력 블록 주변의 화소를 요청하는데 상기 주변 화소는 인트라 예측 모드에 필요한 화소로서 X, A, B, C, D, E, F, G, H, I, J, K, L인 13개의 화소이다(단계 403). 그 후, 부호화기는 상기 도 3에서 설명한 수식을 바탕으로 9가지 모드에 따른 예측 블록을 모두 생성한다(단계 405). 그 후, 상기 생성된 예측 블록과 입력 블록을 비교한다. (단계 407). 그 후 상기 입력 블록과 가장 유사한 예측 블록을 선택하여(단계 409), 인트라 4x4 예측 블록을 생성한다(단계 411).
상기에서 설명한 바와 같이 기존의 4x4 인트라 예측 모드는 주변의 화소값을 이용하여 4x4 블록의 각 화소값을 모든 모드에 따라 각각 계산해야 하므로 계산이 복잡하고, 각각의 예측 모드를 생성할 때마다 주변의 화소값을 참조해야하므로 메모리에서 화소값을 불러오는데 하드웨어나 소프트웨어 상에 많은 부하가 가중된다는 단점이 존재한다. 상기와 같은 단점 때문에 상기 인트라 예측 부호화는 주로 영상의 첫 번째 화면이나, 화면이 갑자기 변할 경우에만 사용된다.
또한 상기에 설명된 단점 때문에 기존의 4x4 인트라 예측 모드를 이용한 디지털 영상 장비는 불필요하게 메모리 대역폭이 증가되고, 동영상의 로딩 속도가 저 하되는 단점이 존재하였다.
본 발명은 상술한 문제점들을 극복하기 위한 것으로, H.264 프로토콜의 4x4 예측 모드를 사용하는데 있어서 입력된 4x4 블록을 이용하여 예측 모드의 계산양을 획기적으로 줄일 수 있는 동영상 부호화 방법을 제공하는데 그 목적이 있다.
또한 본 발명은 H.264 프로토콜의 4x4 예측 모드를 사용하는데 있어서 입력된 4x4 블록을 이용하여 부호화 장치의 복잡성을 최소화하는 데 그 목적이 있다.
또한 본 발명은 테스트 패턴 블록을 이용하여 신속하고 간단하게 H.264 프로토콜의 4x4 예측 모드 중 입력 블록에 적합한 최적의 예측 모드를 결정하는데 있다.
또한 본 발명은 기존의 H.264 프로토콜의 4x4 예측 모드를 포함하는 부호화 장치가 속하는 디지털 영상 장비에 비하여 획기적인 디지털 영상 장비를 제공하는데 그 목적이 있다.
상술한 목적들을 달성하기 위하여, 본 발명의 일 측면에 따르면, H.264 프로토콜의 4x4 인트라 예측 모드(4x4 Intra Prediction Mode)를 이용한 동영상 부호화 장치에서 동영상을 부호화하는 방법에 있어서, 4x4 입력 블록의 화소값을 수신하는 단계, 상기 수신된 4x4 입력 블록의 화소값에 의하여 적어도 하나의 4x4 테스트 패턴 블록을 생성하는 단계, 상기 생성된 적어도 하나의 4x4 테스트 패턴 블록과 상 기 4x4 입력 블록을 비교하여 미리 지정된 기준에 만족하는 4x4 테스트 패턴 블록을 선택하는 단계 및 상기 선택된 4x4 테스트 패턴 블록에 상응하는 4x4 인트라 예측 모드를 생성하는 단계를 포함하는 것을 특징으로 하는 동영상 부호화 방법을 제공할 수 있다.
바람직한 실시예에 있어서, 상기 테스트 패턴 블록은 H.264 프로토콜의 4x4 블록의 예측 방향성에 따라 상기 4x4 입력 블록의 화소값만으로 결정되는 블록인 것을 특징으로 할 수 있다. 또한, 상기 미리 지정된 기준에 만족하는 4x4 테스트 패턴 블록을 선택하는 단계는 상기 생성된 적어도 하나의 4x4 테스트 패턴 블록의 화소값과 상기 4x4 입력 블록의 화소값의 차이 값 중 최소값을 가지는 테스트 패턴 블록을 선택하는 것을 특징으로 할 수 있다.
본 발명의 다른 일 측면을 살펴보면, H.264 프로토콜의 4x4 인트라 예측 모드(4x4 Intra Prediction Mode)를 이용하여 동영상을 부호화하는 동영상 부호화 장치에 있어서, 4x4 입력 블록의 화소값을 수신하는 수신부, 상기 수신된 4x4 입력 블록의 화소값에 의하여 적어도 하나의 4x4 테스트 패턴 블록을 생성하는 테스트 패턴 생성부, 상기 생성된 적어도 하나의 4x4 테스트 패턴 블록과 상기의 4x4 입력 블록을 비교하여 미리 지정된 기준에 만족하는 4x4 테스트 패턴 블록을 선택하는 선택부 및 상기 선택된 4x4 테스트 패턴 블록에 상응하는 4x4 인트라 예측 모드를 생성하는 예측 모드 생성부를 포함하는 것을 특징으로 하는 동영상 부호화 장치를 제공할 수 있다.
바람직한 실시예에 있어서, 상기 테스트 패턴 블록은 H.264 프로토콜의 4x4 블록의 예측 방향성에 따라 상기 4x4 입력 블록의 화소값만으로 결정되는 블록인 것을 특징으로 할 수 있다. 또한, 상기 미리 지정된 기준에 만족하는 4x4 테스트 패턴 블록을 선택하는 단계는 상기 생성된 적어도 하나의 4x4 테스트 패턴 블록의 화소값과 상기 4x4 입력 블록의 화소값의 차이 값 중 최소값을 가지는 테스트 패턴 블록을 선택하는 것을 특징으로 할 수 있다.
이어서, 첨부한 도면들을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
도 5는 본 발명의 바람직한 일 실시예에 따른 H.264 프로토콜의 인트라 4x4 예측 모드 중 최적의 예측 모드를 생성하는 방법을 대략적으로 나타낸 순서도이다.
도 5를 참조하면, 우선 부호화 장치는 4x4 블록의 화소값을 입력 받는다(단계501), 그러면 상기 부호화기는 H.264 프로토콜의 인트라 4x4 예측 모드의 방향성에 따라 입력 블록의 화소값만으로 9가지 테스트 패턴 블록을 생성한다(단계 503).
상기 테스트 패턴 블록은 도 6에서 자세히 설명하겠지만, 입력 블록의 화소만으로 결정되어지므로 빠른 시간에 복잡한 계산 없이 생성할 수 있다. 그 후, 상기 테스트 패턴 블록과 상기 입력 블록을 비교하여(단계 505), 상기 입력 블록과 가장 유사한 테스트 패턴 블록을 선택한다(단계 507).
상기 테스트 패턴블록과 상기 입력 블록을 비교하여 테스트 패턴 블록 중 하나를 선택하는 단계는 도 7에서 상세히 설명하겠지만, 기존의 H.264 프로토콜의 4x4 인트라 예측 모드 중 상기 입력 블록에 가장 적절한 블록을 선택하기 위하여 수행하는 단계이다. 상기 방식은 기존의 방식에 비하여 계산양이 현저히 줄어들어 속도에서 기존의 방식에 비해 현격한 차이가 존재한다. 그 이후 상기 테스트 패턴 블록에 가장 유사한 인트라 4x4 예측 모드를 선택하고(단계 509), 상기 선택된 모드의 계산에 필요한 주변 화소값을 불러온다(단계 511).
상기 단계에서는 상기 테스트 패턴 블록은 원래 H.264 프로토콜의 인트라 예측모드에서 9가지 방향성에 따라 생성한 것이므로 상기 선택된 테스트 패턴 블록에 상응하는 원래의 H.264 프로토콜의 4x4 인트라 예측 모드 중 하나를 선택하는 단계이다.
그 후, 기존의 방식에 따라 주변 화소값과 같이 계산되어 예측 모드 생성하고(단계 513), 그 결과 입력 블록에 최적인 인트라 4x4 예측 모드가 생성된다(단계 515).
도 6은 본 발명의 바람직한 일 실시예에 따른 테스트 패턴 블록의 9가지 종류를 계략적으로 나타낸 도면이다.
도 6을 참조하면, H.264 프로토콜의 4x4 인트라 예측 모드에 있어서, 예측의 방향성은 모두 9가지이며 각각의 방향성에 따른 예측 모드는 도 3에 표현되어 있다. 그러므로 상기 도 6에서 표현되는 테스트 패턴 블록은 상기 예측 모드에 유사한 형태로 입력 블록의 화소값만으로 표현된다.
상기 테스트 패턴 블록 0(601)은 인트라 예측 모드 0(Intra_4x4_Vertical prediction mode)의 방향성을 따른다. 상기 인트라 예측 모드 0(Intra_4x4_Vertical prediction mode)의 실제적 표현은
If (MacroBlock B is available)
{ a=A ; e=A ; I=A ; m=A ;
b=B ; f=B ; j=B ; n=B ;
c=C ; g=C ; k=C ; o=C ;
d=D ; h= D ; l=D ; p=D ;
}
이므로 상기 테스트 패턴 블록 0(601)에 상응하는 인트라 예측 모드가 참조하는 이전의 화소값은 A, B, C, D 4종류이다.
상기 테스트 패턴 블록 1(603)은 인트라 예측 모드 1(Intra_4x4_Horizontal prediction mode)의 방향성을 따른다. 인트라 예측 모드 1(Intra_4x4_Horizontal prediction mode)의 실제적 표현은
If (MacroBlock A is available)
{ a=I ; b=I ; c=I ; d=I ;
e=J ; g=J ; g=J ; h=J ;
i=K ; j=K ; k=K ; l=K ;
m=L ; n=L; o=L; p=L;
}
이므로 상기 테스트 패턴 블록 1(603)에 상응하는 인트라 예측 모드가 참조 하는 이전의 화소값은 I, J, K, L 4종류이다.
상기 테스트 패턴 블록 2(605)는 인트라 예측 모드 2(Intra_4x4_DC prediction mode)의 방향성을 따른다. 인트라 예측 모드 2(Intra_4x4_DC prediction mode)의 실제적 표현은
If (MacroBlock A and B are available)
(a~p) = (A+B+C+D+I+J+K+L+4)>>3 ;
else if MacroBlock A is only available
(a~p) = (I+J+K+L+2)>>2 ;
else if MacroBlock B is only available
(a~p) = (A+B+C+D+2)>>2 ;
else
(a~p) = 128
이므로 상기 테스트 패턴 블록 2(605)에 상응하는 인트라 예측 모드가 참조하는 이전의 화소값은 A, B, C, D, I, J, K, L 8종류이다.
상기 테스트 패턴 블록 3(607)은 인트라 예측 모드 3(Intra_4x4_Diagonal Down Left prediction mode)의 방향성을 따른다. 인트라 예측 모드 3(Intra_4x4_Diagonal Down Left prediction mode)의 실제적 표현은
If (MacroBlock B is available)
{ a = (A + 2B + C + 2)>>2 ;
b, e = (B + 2C + D +2)>>2 ;
c, f, I = (C + 2D + E + 2)>>2 ;
d, g, j, m = (D + 2E + F + 2)>>2 ;
h, k, n = (E + 2F + G + 2)>>2 ;
l, o = (F + 2G + H + 2)>>2 ;
p = (G + 3H + 2)>>2 ;
}
이므로 상기 테스트 패턴 블록 3(607)에 상응하는 인트라 예측 모드가 참조하는 이전의 화소값은 A, B, C, D, E, F, G 8종류이다.
상기 테스트 패턴 블록 4(609)는 인트라 예측 모드 4(Intra_4x4_Diagonal Down Right prediction mode)의 방향성을 따른다. 인트라 예측 모드 4(Intra_4x4_Diagonal Down Right prediction mode)의 실제적 표현은
If (MacroBlock A, B and D are available)
{ m = (J + 2K + L + 2)>>2 ;
i, n = (I + 2J + K +2)>>2 ;
e, j, o = (X + 2I + J + 2)>>2 ;
a, f, k, p = (A + 2X + I + 2)>>2 ;
b, g, l = (X + 2A + B + 2)>>2 ;
c, h = (A + 2B + C + 2)>>2 ;
d = (B + 2C + D + 2)>>2 ;
}
이므로 상기 테스트 패턴 블록 4(609)에 상응하는 인트라 예측 모드가 참조하는 이전의 화소값은 A, B, C, D I, J, K, L, X 9종류이다.
상기 테스트 패턴 블록 5(611)는 인트라 예측 모드 5(Intra_4x4_Vertical Right prediction mode)의 방향성을 따른다. 인트라 예측 모드 5(Intra_4x4_Vertical Right prediction mode)의 실제적 표현은
If (MacroBlock A, B and D are available)
{ m = (I + 2J + K + 2)>>2 ;
i = (X + 2I + J +2)>>2 ;
e, n = (I + 2X + A +2)>>2 ;
a, j = (X + A +1)>>1 ;
f, o = (A + B + 1)>>1 ;
g, p = (A + 2B + C + 2)>>2 ;
c, l = (B + C + 1)>>1 ;
h = (B + 2C + D + 2)>>2 ;
d = (C + D + 1)>>1 ;
}
이므로 상기 테스트 패턴 블록 5(611)에 상응하는 인트라 예측 모드가 참조하는 이전의 화소값은 A, B, C, D I, J, K, X 8종류이다.
상기 테스트 패턴 블록 6(613)은 인트라 예측 모드 6(Intra_4x4_Horizontal Down prediction mode)의 방향성을 따른다. 인트라 예측 모드 6(Intra_4x4_Horizontal Down prediction mode)의 실제적 표현은
If (MacroBlock A, B and D are available)
{ a, g = (X + I +1)>>1 ;
b, h = (I + 2X + A +2)>>2 ;
c = (X + 2A + B +2)>>2 ;
d = (A + 2B +C + 2)>>1 ;
e, k = (I + J + 1)>>2 ;
f, l = (X + 2I + J + 2)>>2 ;
i, o = (I + 2J + K)>>2 ;
j, p = (J + 2K + 1)>>1 ;
m = (K + L + 1)>>1 ;
n = (J + 2K + L + 2)>>2 ;
}
이므로 상기 테스트 패턴 블록 6(613)에 상응하는 인트라 예측 모드가 참조하는 이전의 화소값은 A, B, C, I, J, K, L, X 8종류이다.
상기 테스트 패턴 블록 7(615)은 인트라 예측 모드 7(Intra_4x4_Vertical Left prediction mode)의 방향성을 따른다. 인트라 예측 모드 7(Intra_4x4_Vertical Left prediction mode)의 실제적 표현은
If MacroBlock B is available ( if MacroBlock C is not available, E~H equal to D)
{ a = (A + B + 1)>>1 ;
b, i = (B + C + 1)>>1 ;
c ,j = (C + D + 1)>>1 ;
d , k = (D + E + 1)>>1 ;
l = (E + F + 1)>>1 ;
e = (A + 2B + C + 2)>>2 ;
f, m = (B + 2C + D + 2)>>2 ;
g, n = (C + 2D + E + 2)>>2 ;
h, o = (D + 2E + F + 2)>>2 ;
p = (E + 2F + G + 2)>>2 ;
}
이므로 상기 테스트 패턴 블록 7(615)에 상응하는 인트라 예측 모드가 참조하는 이전의 화소값은 A, B, C, D, E, F, G 7종류이다.
상기 테스트 패턴 블록 8(617)은 인트라 예측 모드 8(Intra_4x4_Horizontal Up prediction mode)의 방향성을 따른다. 인트라 예측 모드 8(Intra_4x4_Horizontal Up prediction mode)의 실제적 표현은
If MacroBlock A is available
{ a = (I + J + 1)>>1 ;
b = (J + 2J + K + 2)>>2 ;
c, e = (J + K + 1)>>1 ;
d, f = (J + 2K + L +2)>>2 ;
g, i = (K + L + 1)>>1 ;
h, j = (K + 3L + 2)>>2 ;
k, l, m, n, o, p = L ;
}
이므로 상기 테스트 패턴 블록 8(617)에 상응하는 인트라 예측 모드가 참조하는 이전의 화소값은 I, J, K, L 4종류이다.
상기와 같이 인트라 예측 모드의 각각의 모드에 따라 이전 블록에서 참조하는 화소값의 숫자가 달라짐을 알 수 있다. 따라서 상기 도 6에서 표현된 테스트 패턴 블록을 우선적으로 사용하여 상기 테스트 패턴 블록에 의해서 각 예측 모드중 하나를 선택한다면 처음부터 예측 모드를 모두 계산하는 것 보다 계산양이 획기적으로 줄어들 수 있음을 알 수 있다. 상기 테스트 패턴 블록의 경우 도 6에서 알 수 있듯이 입력 블록의 화소값만으로 결정할 수 있으므로 테스트 패턴 블록 자체를 생성하기 위한 계산양은 매우 적다고 할 수 있다. 또한 상기 테스트 패턴 블록은 인트라 예측 모드의 방향성에 따라서 결정된 것이므로 상기 테스트 패턴 블록과 입력 블록을 비교하여 인트라 예측 모드를 결정할 수 있음을 알 수 있다.
도 7은 본 발명의 바람직한 일 실시예에 따른 테스트 패턴 블록의 9가지 종류를 바탕으로 최적의 인트라 예측 모드를 선택하는 순서를 계략적으로 나타낸 도면이다.
도 7을 참조하면, 우선 입력 블록을 바탕으로 입력 블록의 화소값만으로 테스트 패턴 블록을 생성한 다음 생성된 테스트 패턴 블록의 화소값을 계산한다(단계 701). 상기 패턴 화소값은 각 패턴 블록에 입력되는 화소값의 합으로 나타낼 수 있다. 그 후, 상기 입력 블록과 계산된 테스트 패턴 블록의 차이 값을 계산한다(단계 703). 상기 차이 값의 계산은 실제적으로
Mode_sel_0 = ( sum(입력된 4x4 화소값) - sum(패턴0 의 화소값) ) / 12;
Mode_sel_1 = ( sum(입력된 4x4 화소값) - sum(패턴1 의 화소값) ) / 12;
Mode_sel_2 = ( sum(입력된 4x4 화소값) - sum(패턴2 의 화소값) ) / 16;
Mode_sel_3 = ( sum(입력된 4x4 화소값) - sum(패턴3 의 화소값) ) / 9;
Mode_sel_4 = ( sum(입력된 4x4 화소값) - sum(패턴4 의 화소값) ) / 9;
Mode_sel_5 = ( sum(입력된 4x4 화소값) - sum(패턴5 의 화소값) ) / 6;
Mode_sel_6 = ( sum(입력된 4x4 화소값) - sum(패턴6 의 화소값) ) / 6;
Mode_sel_7 = ( sum(입력된 4x4 화소값) - sum(패턴7 의 화소값) ) / 6;
Mode_sel_8 = ( sum(입력된 4x4 화소값) - sum(패턴8 의 화소값) ) / 9;
과 같은 식으로 계산될 수 있다.
그 후, 상기 계산된 각각의 차이 값의 최소값을 선택한다(단계 705). 상기 단계는 실제적으로
pre_4x4mode = min (Mode_sel_0, Mode_sel_1, Mode_sel_2, Mode_sel_3, Mode_sel_4, Mode_sel_5, Mode_sel_6, Mode_sel_7, Mode_sel_8);
과 같이 계산될 수 있으며, 상기 최소값의 선택은 다음 단계에서 4x4 인트라 예측 모드의 종류를 확인할 때 사용되다.
그 후, 상기 계산된 최소값을 바탕으로 4x4 인트라 예측 모드의 종류를 확인한다(단계 707). 상기 과정은 실제적으로
If( pre_4x4mode == Mode_sel_0)
intra_4x4_mode = 0; // mode 0 : vertical mode
else if ( pre_4x4mode == Mode_sel_1)
intra_4x4_mode = 1; // mode 1 : horizontal mode
else if ( pre_4x4mode == Mode_sel_2)
intra_4x4_mode = 2; // mode 2 : dc mode
else if ( pre_4x4mode == Mode_sel_3)
intra_4x4_mode = 3; // mode 3 : diagonal down left mode
else if ( pre_4x4mode == Mode_sel_4)
intra_4x4_mode = 4; // mode 4 : diagonal down right mode
else if ( pre_4x4mode == Mode_sel_5)
intra_4x4_mode = 5; // mode 5 : vertical left mode
else if ( pre_4x4mode == Mode_sel_6)
intra_4x4_mode = 6; // mode 6 : horizontal down mode
else if ( pre_4x4mode == Mode_sel_7)
intra_4x4_mode = 7; // mode 7 : vertical right mode
else if ( pre_4x4mode == Mode_sel_8)
intra_4x4_mode = 8; // mode 8 : horizontal up mode
와 같이 표현될 수 있다.
그 후, 상기의 단계에 따라서 마지막으로 결정된 예측 모드에 따라 주변의 화소값을 이용하여 최적의 4x4 인트라 예측 모드가 결정된다(단계709).
도 8은 본 발명의 바람직한 일 실시예에 따른 입력 블록의 화소값을 이용하여 최적의 인트라 예측 모드를 선택하는 방식을 계략적으로 나타낸 도면이다.
도 8을 참조하면, 우선 4x4의 입력 블록이 입력되면(단계 801), 상기 입력 블록을 바탕으로 9종류의 테스트 패턴 블록을 생성한다(단계 803).
상기 테스트 패턴 블록은 본 발명의 이해를 돕기 위하여 단순히 4x4 인트라 예측 모드에 따라 각각 생성되었지만 당업자의 입장에서 상기 4x4 인트라 예측 모드 중 입력 블록에 따른 최적의 예측 모드를 결정할 수 있는 다른 방식으로 테스트 패턴 블록을 생성하는 것이 자명할 경우에는 다른 방식으로 테스트 패턴 블록이 생성되는 것을 포함함은 물론이다.
그 후, 상기 테스트 패턴 블록의 종류에 따라 입력 블록의 화소값과 테스트 패턴 블록의 화소값의 차를 각각 구한다(단계 805).상기의 단계에서 입력 블록의 화소값과 테스트 패턴 블록의 화소값의 차는 상기 도 7에서 설명한 실시예와 같이 각 블록의 화소값의 합을 구한다음 그 합의 차를 구하는 방식으로 결정할 수 있다. 또한, 본 발명에서는 테스트 패턴 블록의 숫자가 9개 이므로 상기 입력블록의 화소값과 테스트 패턴 블록의 화소값의 차를 구하는 것이 9회 반복될 수 있으나 상기 테스트 패턴 블록의 숫자에 따라 사이 화소값의 차이를 구하는 회수는 달라질 수 있다.
그 후, 상기 차이 값 중 최소값을 선택한다(단계807). 상기 차이 값 중 최소값을 구하는 것은 다음 단계에서 사용하기 위한 것이다. 상기 최소값을 선택하는 이유는 상기 입력 블록과 테스트 패턴 블록의 차이값이 최소가 될 경우 그 테스트 패턴 블록이 입력 블록과 가장 유사한 테스트 패턴 블록임을 의미하기 때문이다.
상기 테스트 패턴 블록은 그 자체로 각 모드의 방향성에 따른 예측 블록이므로 상기 테스트 패턴 블록과 비교하면 입력 블록의 방향성을 예측할 수 있다. 그 후, 상기 비교된 값을 바탕으로 실제 입력 블록에 따른 H.264의 최적 4x4 예측 모드를 구할 수 있다(단계 809).
본 발명에 의하여, H.264 프로토콜의 4x4 예측 모드를 사용하는데 있어서 입력된 4x4 블록을 이용하여 예측 모드의 계산양을 획기적으로 줄일 수 있는 동영상 부호화 방법을 제공할 수 있다.
또한 본 발명에 의하여, H.264 프로토콜의 4x4 예측 모드를 사용하는데 있어서 입력된 4x4 블록을 이용하여 부호화 장치의 복잡성을 최소화할 수 있다.
또한 본 발명에 의하여, 테스트 패턴 블록을 이용하여 신속하고 간단하게 H.264 프로토콜의 4x4 예측 모드 중 입력 블록에 적합한 최적의 예측 모드를 결정할 수 있다.
또한 본 발명에 의하여 기존의 H.264 프로토콜의 4x4 예측 모드를 포함하는 부호화 장치가 속하는 디지털 영상 장비에 비하여 획기적인 디지털 영상 장비를 제공할 수 있다.

Claims (6)

  1. H.264 프로토콜의 4x4 인트라 예측 모드(4x4 Intra Prediction Mode)를 이용한 동영상 부호화 장치에서 동영상을 부호화하는 방법에 있어서,
    4x4 입력 블록의 화소값을 수신하는 단계;
    상기 수신된 4x4 입력 블록의 화소값에 의하여 적어도 하나의 4x4 테스트 패턴 블록을 생성하는 단계;
    상기 생성된 적어도 하나의 4x4 테스트 패턴 블록과 상기 4x4 입력 블록을 비교하여 미리 지정된 기준에 만족하는 4x4 테스트 패턴 블록을 선택하는 단계; 및
    상기 선택된 4x4 테스트 패턴 블록에 상응하는 4x4 인트라 예측 모드를 생성하는 단계
    를 포함하는 것
    을 특징으로 하는 동영상 부호화 방법.
  2. 제1항에 있어서,
    상기 테스트 패턴 블록은 H.264 프로토콜의 4x4 블록의 예측 방향성에 따라 상기 4x4 입력 블록의 화소값만으로 결정되는 블록인 것
    을 특징으로 하는 동영상 부호화 방법.
  3. 제1항에 있어서,
    상기 미리 지정된 기준에 만족하는 4x4 테스트 패턴 블록을 선택하는 단계는 상기 생성된 적어도 하나의 4x4 테스트 패턴 블록의 화소값과 상기 4x4 입력 블록의 화소값의 차이 값 중 최소값을 가지는 테스트 패턴 블록을 선택하는 것
    을 특징으로 하는 동영상 부호화 방법.
  4. H.264 프로토콜의 4x4 인트라 예측 모드(4x4 Intra Prediction Mode)를 이용하여 동영상을 부호화하는 동영상 부호화 장치에 있어서,
    4x4 입력 블록의 화소값을 수신하는 수신부;
    상기 수신된 4x4 입력 블록의 화소값에 의하여 적어도 하나의 4x4 테스트 패턴 블록을 생성하는 테스트 패턴 생성부;
    상기 생성된 적어도 하나의 4x4 테스트 패턴 블록과 상기의 4x4 입력 블록을 비교하여 미리 지정된 기준에 만족하는 4x4 테스트 패턴 블록을 선택하는 선택부; 및
    상기 선택된 4x4 테스트 패턴 블록에 상응하는 4x4 인트라 예측 모드를 생성하는 예측 모드 생성부
    를 포함하는 것
    을 특징으로 하는 동영상 부호화 장치.
  5. 제4항에 있어서,
    상기 테스트 패턴 블록은 H.264 프로토콜의 4x4 블록의 예측 방향성에 따라 상기 4x4 입력 블록의 화소값만으로 결정되는 블록인 것
    을 특징으로 하는 동영상 부호화 장치.
  6. 제4항에 있어서,
    상기 미리 지정된 기준에 만족하는 4x4 테스트 패턴 블록을 선택하는 단계는 상기 생성된 적어도 하나의 4x4 테스트 패턴 블록의 화소값과 상기 4x4 입력 블록의 화소값의 차이 값 중 최소값을 가지는 테스트 패턴 블록을 선택하는 것
    을 특징으로 하는 동영상 부호화 장치.
KR1020050087601A 2005-09-21 2005-09-21 H.264 프로토콜의 4x4 입력 블록을 이용한 동영상부호화 방법 및 장치 KR100648507B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050087601A KR100648507B1 (ko) 2005-09-21 2005-09-21 H.264 프로토콜의 4x4 입력 블록을 이용한 동영상부호화 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050087601A KR100648507B1 (ko) 2005-09-21 2005-09-21 H.264 프로토콜의 4x4 입력 블록을 이용한 동영상부호화 방법 및 장치

Publications (1)

Publication Number Publication Date
KR100648507B1 true KR100648507B1 (ko) 2006-11-27

Family

ID=37713169

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050087601A KR100648507B1 (ko) 2005-09-21 2005-09-21 H.264 프로토콜의 4x4 입력 블록을 이용한 동영상부호화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR100648507B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8204120B2 (en) 2008-02-13 2012-06-19 Samsung Electronics Co., Ltd. Method for intra prediction coding of image data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8204120B2 (en) 2008-02-13 2012-06-19 Samsung Electronics Co., Ltd. Method for intra prediction coding of image data

Similar Documents

Publication Publication Date Title
JP5021083B2 (ja) ビットストリーム生成方法
CN100581232C (zh) 用于在视频序列中对运动进行编码的方法
KR100593350B1 (ko) 화상 부호화 장치, 화상 부호화 방법, 화상 복호 장치,화상 복호 방법, 및 통신 장치
KR101673290B1 (ko) 참조 블록 파형 정보에 기반하여 인트라 영상을 부호화 하는 장치 및 복호화 하는 장치
CN101232622B (zh) 用于子像素值内插的方法
JP6807987B2 (ja) 画像符号化装置、動画像復号装置、動画像符号化データ及び記録媒体
KR100940444B1 (ko) 공간적 에지 검출을 이용한 인트라 예측 모드 구성 방법
KR101014660B1 (ko) 인트라 예측 방법 및 장치
KR100278733B1 (ko) 동화상 부호화 시스템 및 동화상 복호 시스템
JP2006180196A (ja) 動画像圧縮符号化方法と動画像圧縮符号化装置並びにプログラム
JPH05328333A (ja) 動きベクトル検出装置
KR100648507B1 (ko) H.264 프로토콜의 4x4 입력 블록을 이용한 동영상부호화 방법 및 장치
KR100586103B1 (ko) 동영상 부호화 방법
JP2003125408A (ja) 画像符号化装置、画像復号装置並びにその方法及び画像符号化プログラム、画像復号プログラム
JP2010166275A (ja) 画像符号化装置
Hachicha et al. Integration of MPEG4 codec on the MERITE platform for wireless sensor networks
JPH07154795A (ja) 動画像符号化装置
JP2005094546A (ja) 動画像圧縮装置
WO2009084886A2 (en) Apparatus for coding or decoding intra image based on line information of reference image block
JPH11234679A (ja) 強制画面更新装置
JP2004088309A (ja) 動きベクトル検出方法、動きベクトル検出装置、動画像符号化方法、動画像符号化装置、通信装置。
JPH05252503A (ja) 高能率符号化装置

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: 20121011

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131017

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141028

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151029

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20171030

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20181029

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20191028

Year of fee payment: 14