KR100657277B1 - 매크로블록 타입 결정 방법 - Google Patents

매크로블록 타입 결정 방법 Download PDF

Info

Publication number
KR100657277B1
KR100657277B1 KR1020040070002A KR20040070002A KR100657277B1 KR 100657277 B1 KR100657277 B1 KR 100657277B1 KR 1020040070002 A KR1020040070002 A KR 1020040070002A KR 20040070002 A KR20040070002 A KR 20040070002A KR 100657277 B1 KR100657277 B1 KR 100657277B1
Authority
KR
South Korea
Prior art keywords
type
macroblock
determined
candidate
inter
Prior art date
Application number
KR1020040070002A
Other languages
English (en)
Other versions
KR20060021149A (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 KR1020040070002A priority Critical patent/KR100657277B1/ko
Publication of KR20060021149A publication Critical patent/KR20060021149A/ko
Application granted granted Critical
Publication of KR100657277B1 publication Critical patent/KR100657277B1/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
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • 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/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/533Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]

Abstract

본 발명은 동영상을 부호화 할 때 매크로블록 타입을 빠르게 결정하고, 그 매크로블록 타입을 이용하여 동영상을 부호화하는 매크로블록 타입 결정 방법에 관한 것으로, 영상의 부호화를 위한 매크로블록 결정 방법에 있어서, 매크로블록을 구성하는 화소값들의 분산을 계산하는 단계; 및 상기 매크로블록의 분산값에 따라 인터 매크로블록 타입을 결정하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 의하면, 영상을 부호화 할 때 매크로블록 타입을 결정하는 소비시간과 계산량을 상당량 감소시킬 수 있으므로, 영상 부호기의 실시간 구현 가능성을 높일 수 있다.
H.264, 매크로블록, 움직임 추정(motion estimation)

Description

매크로블록 타입 결정 방법{Method for selecting macro block type}
도 1은 종래의 H.264 표준에서 움직임 추정 및 보상을 위한 매크로블록 분할예를 나타낸 도면.
도 2는 종래의 H.264 부호기에서 매크로블록 타입 결정 방법의 일 예를 나타낸 플로우 차트.
도 3은 종래의 H.264 부호기에서 매크로블록 타입 결정 방법의 다른 예를 나타낸 플로우 차트.
도 4는 본 발명의 바람직한 실시예에 따른 H.264 부호기의 블록도.
도 5는 도 4의 움직임 추정부의 구성을 개략적으로 나타낸 블록도.
도 6은 본 발명에 따른 H.264 부호기의 매크로블록 타입 결정 방법을 나타낸 플로우 차트.
도 7 내지 도 9는 본 발명에 따른 H.264 부호기에서 후보 타입 매크로블록을 선택하는 방법을 설명하기 위한 실시예들을 나타낸 도면.
도 10은 후보 인터 매크로블록 타입을 추가 선정하는 기능을 갖는 분산 계산부의 후보 타입 선택 실시예를 설명하기 위한 도면.
< 도면의 주요 부분에 대한 설명 >
100: 움직임 추정부 101: P_16×16 타입 움직임 추정부
102: P_Skip 타입 결정부 103: 분산 계산부
104: P_16×16 타입 결정부 105: 후보 타입 선택부
106: 후보 타입 움직임 추정부 107: 인터 매크로블록 타입 결정부
본 발명은 동영상 압축 시스템에 관한 것으로, 보다 상세히는 동영상을 부호화 할 때 매크로블록 타입을 빠르게 결정하고, 그 매크로블록 타입을 이용하여 동영상을 부호화하는 영상 부호기의 매크로블록 타입 결정 방법에 관한 것이다.
H.264는 ITU―T(국제전기통신연합)ㆍISO(국제표준화기구)ㆍIEC(국제전기표준회의)가 공동으로 추진하는 차세대 비디오 압축표준으로 MPEG―4 파트 10 또는 MPEG―4 AVC(Advanced Video Codec)으로 불린다. 상기 H.264는 MPEG―2에 비해 3배 이상, MPEG―4에 비해 2배 이상의 데이터 압축능력을 제공한다.
또한, 기존의 MPEG-2, MPEG-4, H.263의 동영상 부호기에서 움직임 추정, 보상 과정에서 16×16 또는 8×8 크기의 매크로블록에 대해 전,후 방향 각각 한 개의 참조 프레임을 사용하도록 하는데 반하여, H.264 부호기에서는 움직임 추정, 보상 과정에서 복수개의 참조 프레임을 이용할 수 있으며, 7가지의 움직임 추정 단위를 사용한 움직임 추정 및 1/4 화소 움직임 벡터 정확도를 지원한다.
H.264 표준에서는 하나의 픽처는 크게 I, B, P 슬라이스 중 어느 하나의 슬라이스로 나누어지고, 각 슬라이스는 복수개의 매크로블록으로 나누어진다. 상기 매크로블록은 인터 모드와 인트라 모드의 두 가지 방식으로 부호화된다.
먼저, 인터 모드(inter mode)는 현재 픽처의 매크로블록을 부호화하기 위해서 참조 픽처에서 선택된 하나 또는 복수개의 블록들의 위치를 나타내는 움직임 벡터정보와 화소값의 차를 부호화하는 인터 프리딕션에서 사용되는 모드이다. H.264 표준에서는 참조 픽처를 최대 5개까지 가질 수 있으므로 참조 픽처를 저장한 프레임 메모리내에서 참조 픽처를 검색하여 현재 매크로블록이 참조할 블록을 찾는다. 프레임 메모리에 저장되는 참조 픽처는 현재 픽처를 기준으로 과거 픽처 또는 미래 픽처가 될 수 있다.
다음으로, 인트라 모드(intra mode)는 현재 픽처의 매크로블록을 부호화하기 위해서 참조 픽처를 참조하는 것이 아니라, 부호화하고자 하는 매크로블록과 공간적으로 인접한 화소값을 이용하여 부호화하고자 하는 매크로블록에 대한 예측값을 계산한 후, 이 예측값과 화소값의 차를 부호화하는 인트라 프리딕션에서 사용되는 모드이다.
도 1은 종래의 H.264 표준에서 움직임 추정 및 보상을 위한 매크로블록 분할예를 나타낸 도면이다. 하나의 16×16 매크로블록은 16×16, 16×8, 8×16, 또는 8×8 블록으로 나누어 질 수 있고, 각각의 8×8 블록은 더 작은 단위인 8×4, 4×8, 4×4 블록으로 나누어 질 수 있다. 이렇게 나누어진 각각의 매크로블록을 인터 프리딕션에서의 모든 부호화 모드 및 인트라 프리딕션에서의 모든 부호화 모드에서 부호화해 본 후에 매크로블록의 부호화에 소요되는 비트율과, 원 매크로블록과 복호화된 매크로블록과의 왜곡정도에 따라 부호화 모드를 하나 정해 부호화 한다.
도 2는 상기 부호화 방법에 따른 종래의 H.264 부호기에서 매크로블록 타입 결정 방법의 일 예를 나타낸 플로우 차트이다. 이하에서, 'P_X×Y'는 인터 프리딕션에서 이용되는 X×Y 크기의 매크로블록 타입을 의미하며, 'I_X×Y'는 인트라 프리딕션에서 이용되는 X×Y 크기의 매크로블록 타입을 의미한다.
먼저, 부호화하고자 하는 매크로블록이 속한 슬라이스가 P 슬라이스인지를 확인한다(S10). 부호화하고자 하는 매크로블록이 I 슬라이스인 경우에는 바로 인트라 부호화 단계(S13)로 넘어간다.
상기 단계(S10)의 판단 결과 P 슬라이스인 경우에는 움직임 추정부에서 각 참조 프레임에 대하여 'P_16×16', 'P_16×8', 'P_8×16', 'P_8×8', 'P_Skip' 타입에서 움직임 추정이 수행된다(S11).
상기 단계(S11)를 통해 각 타입별로 최적의 참조 프레임이 결정되고, 움직임 벡터와 최적의 비트율-왜곡치(Rate-Distortion cost: RD cost)가 계산된다. 상기 계산 결과를 근거로 각 타입에서의 비트율-왜곡치를 비교하여, 상기 비트율-왜곡치가 최소인 타입을 최적의 인터 매크로블록 타입으로 결정하고, 결정된 인터 매크로블록 타입의 움직임 벡터와 참조 프레임은 최종 움직임 벡터와 최종 참조 프레임이 된다(S12).
다음, 인트라 부호화부에서는 매크로블록을 'I_4×4', 'I_16×16'으로 부호화한 후, 각 타입에 따른 비트율-왜곡치를 계산한다(S13).
상기 단계(S13)의 계산 결과를 근거로, 인트라 매크로블록 타입 결정부에서는 각 인트라 매크로블록 타입의 비트율-왜곡치를 비교하여, 상기 비트율-왜곡치가 최소인 인트라 매크로블록 타입을 최적의 인트라 매크로블록 타입으로 결정한다(S14).
최적 매크로블록 타입 결정부에서는 상기 단계(S12,S14)에서 결정된 최적의 인터 매크로블록 타입과 최적의 인트라 매크로블록 타입을 비교하여 더 작은 비트율-왜곡치를 갖는 타입을 최적 매크로블록 타입으로 결정한다. I 슬라이스의 경우에는, 상기한 바와 같이, 움직임 추정 과정(S11)이 생략되고, 최적의 인트라 매크로블록 타입이 그대로 최적의 매크로블록 타입으로 결정된다.
그러나, 상기 도 2에 나타낸 매크로블록 타입 결정 방법은 모든 추정 단위를 대상으로 하는 움직임 추정이 이루어지기 때문에 최적의 움직임 벡터와 최적의 매크로블록 타입을 얻을 수 있는 장점이 있지만, 복잡도가 크고 부호화 과정에서 상당한 양의 계산을 요구하므로 실시간 부호화가 어려운 단점이 있다.
이러한 단점을 극복하고자, 도 3에 나타낸 바와 같이 H.264 부호기에서 매크로블록 타입 결정 방법의 다른 예가 개시된 바 있다.
도 3을 참조하면, 종래 H.264 부호기에서 매크로블록 타입 결정 방법의 다른 예는 움직임 추정을 'P_16×16' 타입과 그 이외의 타입으로 나누어 움직임 추정(S21, S25)을 하며, 상기 'P_16×16' 타입에 대한 움직임 추정(S21)의 결과를 이용하여 'P_Skip' 타입인지를 결정하는 단계(S22)가 포함되는 것을 특징으로 한다. 이는 부호화되는 많은 매크로블록이 'P_Skip' 타입으로 결정된다는 사실을 기초로 하여, 사전에 'P_Skip' 타입으로 결정될 매크로블록을 가려내어 다른 타입에서의 움직임 추정 과정을 생략하기 위한 것이다. 즉, 'P_Skip' 타입으로 결정되는 매크로 블록에 대해서는 다른 타입에서의 움직임 추정과 별도의 인트라 매크로블록 타입 결정 과정(S25 내지 S29) 없이 최적의 매크로블록 타입을 'P_Skip'으로 결정하여 부호화 시간을 줄이는 것이다.
그러나, 상기 도 3의 종래 매크로블록 결정 방법에 있어서, 'P_Skip' 타입으로 결정되지 않는 매크로블록의 타입을 결정하는 과정에서는 여전히 많은 계산량과 부호화 시간을 필요로 하는 문제점이 있다.
또한, 부호화되는 영상에서는 16×16 타입으로 결정되는 매크로블록이 다른 타입으로 결정되는 매크로블록보다 많다. 특히 P 슬라이스의 경우에는 움직임이 적고 복잡하지 않은 부분의 매크로블록은 대부분 'P_Skip' 이나 'P_16×16' 타입으로 결정된다. 비록 상기 도 3에서는 'P_Skip' 타입을 미리 가려내어 다른 타입에 대한 불필요한 움직임 추정 과정을 생략토록 하고 있으나, 'P_16×16' 타입으로 결정될 매크로블록은 미리 선별할 수 없는 문제점이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로, 움직임 추정을 위해 모든 매크로블록 타입을 이용하지 않고, 매크로블록의 분산을 이용하여 매크로블록 타입을 빠르게 결정할 수 있는 매크로블록 타입 결정 방법을 제공하는 데에 목적이 있다.
또한, 본 발명은 시간적, 공간적으로 인접한 매크로블록은 같은 타입으로 부호화 될 가능성이 크다는 사실을 이용하여, 부호화할 매크로블록과 시간적, 공간적으로 인접한 매크로블록 타입의 정보를 이용하여 부호화할 매크로블록의 타입을 예 측하는 매크로블록 타입 결정 방법을 제공하는 데에 목적이 있다.
상기한 바와 같은 과제를 해결하기 위하여 본 발명인 영상의 부호화를 위한 인터 매크로블록 타입 결정 방법은 매크로블록을 구성하는 화소값들의 분산을 계산하는 단계; 및 상기 매크로블록의 분산값이 소정값 이하인 경우에는 인터 매크로블록 타입을 16×16 크기의 매크로블록으로 결정하고, 상기 매크로블록의 분산값이 소정값 이상인 경우에는 소정의 후보 매크로블록 타입에 대하여 움직임 추정을 수행하여 인터 매크로블록 타입을 결정하는 단계를 포함하는 것을 특징으로 한다.
삭제
삭제
상기 소정의 후보 매크로블록 타입은, 16×16 타입 움직임 벡터를 이용하여 선택되는 것이 바람직하다.
상기 인터 매크로블록 타입은, 16×16 매크로블록 타입에 대한 비트율 왜곡치와 후보 매크로블록 타입에 대한 비트율 왜곡치를 비교하여 최소 비트율 왜곡치를 갖는 타입으로 결정되는 것이 바람직하다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세히 설명한다. 특히, 바람직한 실시예로서 H.264 표준에 따른 부호기를 중심으로 설명하지만, 본 발명의 사상은 다른 영상 부호기에도 적용할 수 있다.
본 발명에 따른 H.264 부호기는 동영상 데이터를 부호화한다. 동영상 데이터 는 시간축 상에 나열되는 복수개의 픽처로 구성되며, 각 픽처는 다시 복수개의 슬라이스로 구성되며, 각 슬라이스는 복수개의 블록으로 구성된다. 전술한 도 1에 나타낸 바와 같이, 블록은 매크로블록, 매크로블록을 수직 또는 수평 방향으로 이분할 또는 사분할하여 얻어진 서브 블록을 포함한다. 이러한 다양한 종류의 가변 블록을 이용하여 인터 프리딕션을 수행하면 영상의 특성과 움직임에 따라서 효과적으로 부호화를 수행한다.
도 4는 본 발명의 바람직한 실시예에 따른 H.264 부호기의 블록도이다. H.264 부호기는 움직임 추정부(100), 움직임 보상부(120), 인트라 프리딕션 수행부(122), 변환부(124), 양자화부(126), 재정렬부(128), 엔트로피 코딩부(130), 역양자화부(132), 역변환부(134), 필터(136) 및 프레임 메모리(138)를 구비한다.
인터 프리딕션을 위해 현재 부호화할 매크로블록의 예측치를 참조 픽처에서 찾는 것은 움직임 추정부(100)에서 수행된다. 그리고, 움직임 보상부(120)는 1/2 화소 또는 1/4 화소 단위로 참조 블록이 찾아진 경우에는 이들 중간 화소값을 계산하여 참조 블록 데이터 값을 정한다. 이렇게 인터 프리딕션은 움직임 추정부(100)와 움직임 보상부(120)에서 수행된다.
또한, 현재 픽처의 매크로블록의 예측치를 현재 픽처 내에서 찾는 인트라 프리딕션이 인트라 프리딕션 수행부(122)에서 수행된다. 현재 매크로블록에 대해 인터 프리딕션을 수행할 것인가 또는 인트라 프리딕션을 수행할 것인가 하는 것은 모든 부호화 모드하에서의 비트율-왜곡치를 계산하여 그 값이 가장 작은 모드를 상기 블록의 부호화 모드로 결정하여 매크로블록에 대한 부호화를 수행한다.
상술한 바와 같이 인터 프리딕션 또는 인트라 프리딕션이 수행되어 현재 프레임의 매크로블록이 참조할 예측 데이터가 찾아졌다면, 이를 현재 픽처의 매크로블록에서 빼서 변환부(124)에서 변환을 수행한 후에 양자화부(126)에서 양자화를 수행한다. 현재 프레임의 매크로블록에서 움직임 추정된 참조 블록을 뺀 것을 잔차(residual)이라고 하는데 부호화시의 데이터량을 줄이기 위해서 잔차값을 부호화하는 것이다. 양자화된 잔차값은 엔트로피 코딩부(130)에서 인코딩하기 위하여 재정렬부(128)를 거친다.
한편, 인터 프리딕션에 사용될 참조 픽처를 얻기 위하여 양자화된 픽처를 역양자화부(132)와 역변환부(134)를 거쳐 현재 픽처를 복원한다. 이렇게 복원된 현재 픽처는 프레임 메모리에 저장되었다가 다음 픽처에 대하여 인터 프리딕션을 수행하는데 사용된다. 복원된 픽처가 필터(136)를 통과하면 원래 픽처에서 약간의 부호화 에러를 포함한 픽처가 된다.
도 5는 도 4의 움직임 추정부(100)의 구성을 개략적으로 나타낸 블록도이다.
상기 움직임 추정부(100)는 P_16×16 타입 움직임 추정부(100), P_Skip 타입 결정부(102), 분산 계산부(103), P_16×16 타입 결정부(104), 후보 타입 선택부(105), 후보 타입 움직임 추정부(106), 및 인터 매크로블록 타입 결정부(107)를 포함한다. 전술한 바와 같이, 이하에서 'P_X×Y'는 인터 프리딕션에서 이용되는 X×Y 크기의 매크로블록 타입을 의미하며, 'I_X×Y'는 인트라 프리딕션에서 이용되는 X×Y 크기의 매크로블록 타입을 의미한다.
P 슬라이스에 속한 매크로블록의 경우에는, 먼저 상기 P_16×16 타입 움직임 추정부(101)에서 16×16 타입의 매크로블록을 이용하여 움직임 추정이 이루어진다.
상기 P_Skip 타입 결정부(102)에서는 상기 P_16×16 타입 움직임 추정부(101)의 움직임 추정의 결과를 이용하여 부호화할 매크로블록이 P_Skip 타입인지를 결정한다.
스킵(Skip) 모드는 부호화하고자 하는 블록의 부호화 모드 정보만을 전송 또는 저장하는 모드이다. 영상의 배경부분 등에서는 현재 픽처의 주어진 블록이 참조 픽처의 해당 블록과 화소값이 동일할 확률이 높고, 이 경우에는 잔차(residual) 신호나 움직임 벡터 정보와 같이 별도의 부호화된 데이터의 전송 또는 저장의 필요없이 부호화 모드 정보만을 전송하거나 저장하면 되기 때문이다. 현재 부호화할 매크로블록이 P_Skip 타입인지를 결정하기 위해서 상기 P_Skip 타입 결정부(102)에서는 다음의 네 조건을 만족하는지 여부에 따라 판단할 수 있다.
i) 인터 프리딕션에 사용되는 블록의 크기가 16x16 이고, ii) 현재 블록을 부호화하는데 사용되는 참조 픽처가 프레임 메모리에 저장된 참조픽처 중 현재 픽처와 시간적으로 가장 가까운 픽처이며, iii) 움직임 벡터가 (0,0) 이거나 예측 움직임 벡터(Predicted Motion Vector:PMV)와 같고, iV) 현재 블록과 참조 픽처의 블록의 화소값의 차이인 잔차값을 변환하고 양자화한 후의 값이 0인 경우이다.
또는, 다음의 세가지 경우를 모두 만족시키는 경우이다. i) 인터 프리딕션에 사용되는 블록의 크기가 8x8 이고, ii) 현재 블록을 부호화하는데 사용되는 참조 픽처와 움직임 벡터가, 현재 블록의 공간적 또는 시간적 인접 블록의 참조픽처와 움직임 벡터 정보로부터 추정한 것과 동일하며, iii) 현재 블록과 참조 픽처의 블 록의 화소값의 차이인 잔차값을 변환하고 양자화한 후의 값이 0인 경우이다.
상술한 스킵 조건을 모두 만족하면 상기 P_Skip 타입 결정부(102)에서는 그 매크로블록을 P_Skip 타입으로 결정하고 다른 매크로블록 타입에 대해서는 체크하지 않고 종료된다. 다만, 상기 스킵 조건에 한정되지 않고, 다양한 P_Skip 타입 여부를 결정하는 방법을 이용할 수 있다.
상기 분산 계산부(103)는 상기 P_Skip 타입 결정부(102)에서 P_Skip 타입으로 결정되지 않은 매크로블록에 대한 분산을 계산한다. 즉, 부호화할 매크로블록을 구성하는 각 화소값과 매크로블록을 구성하는 화소값의 평균의 차를 제곱하여 합산한 후, 매크로블록의 화소수로 나누어 줌으로써 매크로블록의 분산을 계산한다. 구체적인 수식은 후술하기로 한다.
상기 P_16×16 타입 결정부(104)는 상기 P_16×16 타입 움직임 추정부(101)에서 추정된 P_16×16 타입의 움직임 벡터와 참조 프레임 정보, 및 상기 분산 계산부(103)에서 계산된 매크로블록의 분산을 이용하여 현재 매크로블록을 P_16×16 타입의 매크로블록으로 결정할지를 판단한다.
상기 P_16×16 타입 결정부(104)에서 P_16×16 타입으로 결정된 경우에는 최적의 인터 매크로블록 타입이 'P_16×16'으로 결정되며, 상기 인트라 프리딕션 수행부(122)에서 결정된 최적의 인트라 매크로블록 타입과 비교되어 더 작은 비트율-왜곡치를 갖는 것이 최적 매크로블록 타입이 결정된다.
상기 후보 타입 선택부(105)는 상기 P_16×16 타입 결정부(104)에서 P_16×16 타입으로 결정되지 않은 매크로블록에 대하여 'P_16×16', 'P_16×8', 'P_8× 16', 'P_8×8' 타입의 매크로블록 중 결정될 확률이 높은 인터 매크로블록 타입을 예측하여 선택한다. 이 때, 상기 P_16×16 타입 움직임 추정부(101)에서 얻은 'P_16×16' 타입 움직임 벡터를 이용하여 인터 매크로블록 타입을 예측 선택한다.
상기 후보 타입 움직임 추정부(106)는 상기 후보 타입 선택부(105)에서 선택된 후보 타입 중, 'P_16×16' 타입을 제외한 나머지 타입에서의 움직임 추정을 수행하고 비트율-왜곡치를 계산한다. 이 때, 참조 프레임으로는 상기 P_16×16 타입 결정부(104)에서 결정된 참조 프레임이 유일하게 사용된다.
상기 인터 매크로블록 타입 결정부(107)는 상기 후보 타입들과 P_16×16 타입에서의 비트율-왜곡치를 비교하여, 최소의 비트율-왜곡치를 갖는 타입을 최적의 인터 매크로블록 타입으로 결정한다.
상기 인터 매크로블록 타입 결정부(107)에서 결정된 최적의 인터 매크로블록 타입은, 다시 상기 인트라 프리딕션 수행부(122)에서 결정된 최적의 인트라 매크로블록 타입과 비교되어 더 작은 비트율-왜곡치를 갖는 것이 최적 매크로블록 타입으로 결정된다.
이하, 본 발명의 바람직한 실시예에 따른 H.264 부호기의 매크로블록 타입 결정 방법에 대하여 구체적으로 살펴본다.
도 6은 본 발명에 따른 H.264 부호기의 매크로블록 타입 결정 방법을 나타낸 플로우 차트이다.
본 발명에 따른 H.264 부호기의 매크로블록 타입 결정 방법은 'P_Skip' 타입 뿐만 아니라, 'P_16×16' 타입의 인터 매크로블록도 사전에 결정하여 걸러냄으로 써, H.264 기반의 동영상 부호화 과정에서 전체 처리 시간의 대부분을 차지하는 복잡한 움직임 추정 과정에 소비되는 시간을 줄이는 데 특징이 있다.
구체적으로는, 먼저 현재 부호화할 매크로블록이 P 슬라이스에 속한 것인지를 판단한다(S100).
상기 단계의 판단 결과 P 슬라이스에 속한 매크로블록의 경우에는, 상기 P_16×16 타입 움직임 추정부(100)는 모든 참조 프레임에서 16×16 타입의 매크로블록을 이용한 움직임 추정을 하여, 상기 16×16 타입의 매크로블록에서의 움직임 벡터와 최적의 비트율-왜곡치, 최적의 참조 프레임을 얻는다(S102).
상기 단계(S102)의 결과를 이용하여, 상기 P_Skip 타입 결정부(102)에서는 전술한 바와 같은 스킵 조건을 만족하는지 여부를 판단하여, 부호화할 매크로블록이 P_Skip 타입인지를 결정한다(S104).
상기 단계(S104)의 판단 결과, 부호화할 매크로블록이 P_Skip 타입으로 판단되면, 최적 매크로블록 타입을 P_Skip으로 결정하고 다른 매크로블록 타입에서의 움직임 추정을 시행하지 않고 종료한다(S108).
상기 단계(S104)의 판단 결과, P_Skip 타입이 아닌 것으로 판단되면 'P_16×16', 'P_16×8', 'P_8×16', 'P_8×8'의 매크로블록 타입을 이용하여 움직임 추정 과정을 거쳐야 하는데, 본 발명은 상기 매크로블록 타입 중에서 부호화할 매크로블록의 분산을 계산하여 'P_16×16' 타입으로 부호화 될 매크로블록을 사전에 결정할 수 있다.
구체적으로는, 상기 단계(S104)의 판단 결과 P_Skip 타입이 아닌 것으로 판 단되면 분산 계산부(103)에서는 다음의 수학식 1을 이용하여, 부호화할 매크로블록의 분산(variance)를 계산한다(S110).
Figure 112004039867315-pat00001
상기 수학식 1에서 k는 매크로블록의 번호이고, p(i,j)는 매크로블록 좌측 최상단 화소에서 가로 방향으로 i, 세로 방향으로 j만큼 떨어져 있는 화소값을 나타낸다. 또한, MEAN(k)는 부호화할 매크로블록을 구성하는 모든 화소값의 평균으로 다음의 수학식 2로 표현된다.
Figure 112004039867315-pat00002
상기 단계(S110)에서 계산된 분산을 이용하여 P_16×16 타입 결정부(104)에서는 부호화할 매크로블록이 P_16×16 타입의 인터 매크로블록으로 결정될지를 판단하게 된다(S112). 구체적으로는 다음의 수학식 3을 이용하여 P_16×16 타입의 인터 매크로블록인지를 사전에 판단한다.
Figure 112004039867315-pat00003
Figure 112004039867315-pat00004
상기 수학식 3에서, k는 매크로블록 번호이고, VAR(k)는 분산, JP _16 × 16(k)는 P_16×16 에서의 비트율-왜곡치, mb_typeinter(k)는 최종 결정되는 인터 매크로블록 타입을 의미한다. 또한, ThVAR과 ThRD cost는 사용자가 임의로 정할 수 있는 기준값으로, 영상의 특성에 따라 유동적으로 바꿀수 있다. 상기 ThVAR과 ThRD cost 의 값이 클수록 인터 매크로블록 확률이 'P_16×16'으로 결정될 확률이 높아진다.
상기 수학식 1 내지 3에 나타낸 바와 같이, 본 발명에 따른 H.264 부호기의 매크로블록 타입 결정 방법에서는 부호화할 매크로블록이 복잡한 경우에 분산이 크고, 비교적 평탄화 된 영역으로 이루어진 경우에 분산이 작으며, 일정 기준값 이하의 분산을 갖는 매크로블록은 P_16×16 타입이 될 가능성이 크다는 사실을 이용하는 것이다.
이때, 상기 단계(S112)에서는 상기 P_16×16 타입 움직임 추정부(101)에서 얻은 P_16×16 타입에서의 최적의 참조 프레임이 최종 참조 프레임으로 결정되고, 다른 매크로블록 타입에서의 움직임 추정시 유일한 참조 프레임으로 사용된다.
다음으로, 상기 수학식 2에 나타낸 조건으로 부호화할 매크로블록의 타입이 P_16×16 타입인지를 판단하여(S114), P_16×16 타입인 경우에는 최적 인터 매크로블록 타입을 P_16×16으로 결정하고, 인트라 부호화 단계(S126)로 진행된다.
만약 P_16×16 타입으로 판단되지 않은 경우에는, 상기 후보 타입 선택부(105)에서 'P_16×16', 'P_16×8', 'P_8×16', 'P_8×8' 중 결정될 확률이 높은 인터 매크로블록 타입의 후보를 예측 선택한다(S116). 이때, 상기 P_16×16 타입 움직임 추정부(101)에서 얻은 P_16×16 타입 움직임 벡터를 이용한다.
도 7 내지 도 9는 후보 매크로블록 타입의 선택 실시예를 설명하기 위한 도면이다.
도 7은 참조 프레임의 4개의 매크로블록으로부터 현재 부호화할 매크로블록이 예측되는 경우를 나타낸 것이다. 도시된 바와 같이, 상기 P_16×16 타입 움직임 벡터가 가리키는 참조 프레임의 4개의 매크로블록을 통해 현재 매크로블록이 예측되는 경우, 각 4개의 매크로블록에서 현재 매크로블록을 예측하는데 필요한 픽셀의 수를 계산한다. 도 7의 경우에는 현재 매크로블록의 예측에 사용되는 픽셀 수는 매크로블록 A가 25, B가 55, C가 55, D가 121이다. 상기 매크로블록 A, B, C, D 중 인트라 타입으로 부호화된 매크로블록을 제외한 나머지 매크로블록 중에서 현 매크로블록의 예측에 사용되는 픽셀 수가 가장 많은 참조 프레임의 매크로블록의 타입을 후보 타입으로 선택한다. 만약 픽셀 수에서 동률을 이루는 둘 이상의 매크로블록이 있다면 현재 부호화할 매크로블록으로부터 거리(euclidian distance)가 가장 가까운 매크로블록에 우선 순위를 부여한다. 만약, 픽셀 수와 현재 부호화할 매크로블록으로부터의 거리도 모두 같은 경우에는 임의로 우선 순위를 부여한다.
또한, 후보 타입으로 선택된 타입이 P_16×16 타입 뿐인 경우는 더 이상의 움직임 추정 과정 없이 인터 매크로블록 타입을 P_16×16 타입으로 결정한다. 만약, 참조 프레임의 매크로블록 A, B, C, D가 모두 인트라 모드로 부호화 되어 있거나, P_Skip 타입으로 부호화 되어 있는 경우는 후보 타입으로 P_16×16, P_Skip 타입을 제외한 나머지 타입인 P_16×8, P_8×16, P_8×8 을 모두 선택한다.
도 8은 후보 타입 선택의 또 다른 실시예로서, 참조 프레임의 2개 매크로블 록 C, D를 통해 현재 매크로블록이 에측되는 경우의 후보 타입 선택 방법을 설명하기 위한 도면이다.
도시된 바와 같이, 참조 프레임의 2개의 매크로블록 C, D 중에서 현재 부호화할 매크로블록의 예측에 사용되는 픽셀 수가 많은 매크로블록의 타입을 후보 타입으로 선택한다. 도 8의 경우, D 매크로블록이 인트라 모드로 부호화 되어 있거나, P_Skip 타입으로 부호화되어 있지 않은 이상 D 매크로블록의 타입인 P_16×16 인 매크로블록 타입이 후보 타입으로 선택된다.
만약, 예측에 사용되는 픽셀 수가 같은 경우에는 도 7의 경우와 같이 현재 부호화할 매크로블록으로부터 거리가 가까운 참조 프레임의 매크로블록의 타입을 후보 타입으로 선택하게 된다.
상기 과정을 통해 선택된 타입이 P_16×16인 경우에는 별도의 움직임 추정 과정 없이 인터 매크로블록 타입을 P_16×16으로 결정하며, 참조 프레임의 매크로블록 C, D가 모두 인트라 모드, 또는 P_Skip 모드로 부호화되어 있는 경우에는 후보 타입으로 'P_16×8', 'P_8×16', 'P_8×8' 타입의 매크로블록을 선택한다. 만약 매크로블록 C, D 중 매크로블록 C만 인터 모드로 부호화되어 있다면 후보 타입은 매크로블록 C의 타입으로 결정된다.
도 9는 현재 부호화할 매크로블록이 참조 프레임에서 특정 매크로블록 1개로부터 예측되는 경우 후보 타입의 선택 방법을 나타내기 위한 도면이다.
도 9와 같은 경우에는, 참조 프레임의 해당 매크로블록 타입을 그대로 후보 타입으로 선택한다. 다만, 상기 선택된 후보 타입이 인트라 모드로 부호화되었거 나, P_Skip 타입으로 부호화된 경우에는 후보 타입은 'P_16×8', 'P_8×16', 'P_8×8' 이 된다.
상기 단계(S116)에서 후보 타입이 선택되면, 상기 후보 타입 중에서 P_16×16 타입 이외의 매크로블록이 존재하는지를 판단하여(S118), 후보 타입으로 P_16×16 타입만 존재하는 경우에는 인터 매크로블록 타입을 P_16×16으로 결정하고 최적의 매크로블록 타입 결정 과정이 종료된다(S120).
상기 단계(S118)의 판단 결과, P_16×16 타입 이외의 후보 타입이 존재하는 경우에는 P_16×16 타입 이외의 후보 타입에 대하여 상기 후보 타입 움직임 추정부(106)에서 움직임 추정을 수행한다(S122).
P_16×16 타입에 대하여 움직임 추정을 수행하지 않는 이유는 상기 P_16×16 타입 움직임 추정부(101)에서 P_16×16 타입의 매크로블록에 대한 움직임 추정을 이미 수행하였기 때문이다. 전술한 바와 같이, 참조 프레임으로는 상기 P_16×16 타입 결정부(104)에서 결정된 참조 프레임만이 사용된다.
상기 움직임 추정 단계(S122) 중에서 후보 타입으로 P_8×8 타입이 존재하는 경우는 8×8, 8×4, 4×8, 4×4 크기의 서브-매크로블록 단위까지 움직임 추정이 이루어진다. 상기 움직임 추정 단계(S122)를 통해 각 후보 타입별로 움직임 벡터와 최적의 비트율-왜곡치를 얻는다.
다음, 상기 인터 매크로블록 타입 결정부(107)에서는 상기 P_16×16 타입 움직임 추정부(101)에서 얻어진 P_16×16 타입에 대한 비트율-왜곡치와 상기 단계(S122)에서 얻어진 후보 타입별 비트율-왜곡치를 비교하여 최소 비트율-왜곡치를 갖는 매크로블록 타입을 최적의 인터 매크로블록 타입으로 결정한다(S128).
상기 과정을 통해 최적의 인터 매크로블록 타입이 결정된 상태에서, 상기 인트라 프리딕션 수행부(122)에서는 현재 매크로블록을 'I_4×4', 'I_16×16' 타입으로 부호화한 후, 각 타입에 따른 비트율-왜곡치를 계산한다. 그리고, 상기 계산 결과를 근거로, 각 인트라 매크로블록 타입의 비트율-왜곡치를 비교하여, 상기 비트율-왜곡치가 최소인 인트라 매크로블록 타입을 최적의 인트라 매크로블록 타입으로 결정한다(S128).
최종적으로, 상기 인터 매크로블록 타입 결정 단계(S124)에서 결정된 최적의 인터 매크로블록 타입과 상기 단계(S128)에서 결정된 최적의 인트라 매크로블록 타입을 비교하여 더 작은 비트율-왜곡치를 갖는 타입을 최적 매크로블록 타입으로 결정한다(S130). 다만, 상기 과정은 매크로블록이 P 슬라이스에 속한 경우이며, I 슬라이스의 경우는 최적의 인트라 매크로블록 타입이 최적 매크로블록 타입으로 결정되는 것은 전술한 바이다.
한편, 본 발명의 다른 실시예로서, 상기 도 5의 분산 계산부(103)는 상기 후보 타입 선택부(105)와는 별도로 'P_16×8', 'P_8×16', 'P_8×8' 타입 중 후보 인터 매크로블록 타입을 추가 선정하는 기능을 갖도록 할 수 있다. 이 경우 확장된 기능을 갖는 상기 분산 계산부(103)와 상기 후보 타입 선택부(105)에서 결정된 후보 타입에 대해, 상기 후보 타입 움직임 추정부(106)에서 움직임 추정이 이루어 진다.
도 10은 후보 인터 매크로블록 타입을 추가 선정하는 기능을 갖는 상기 분산 계산부(103)의 후보 타입 선택 실시예를 나타낸 도면이다. 도 10에서 A ~ H 는 매크로블록의 파티션(partition)을 나타낸 것으로 A, B는 16×8 크기의 블록이고, C, D는 8×16 크기의 블록이며, E 내지 H는 8×8 크기의 블록이다.
상기 수학식 3에 표현된 분산 VAR(k)는 상기 A ~ H 각 매크로블록 파티션 별로 매크로블록 전체 평균인 MEAN(k)과 파티션 화소값 차이의 제곱합을 SA, SB , SC, SD, SE , SF , SG , SH 을 사용하여 다음의 수학식 4와 같이 표현될 수 있다.
Figure 112004039867315-pat00005
Figure 112004039867315-pat00006
Figure 112004039867315-pat00007
Figure 112004039867315-pat00008
상기 수학식 4에서 상기 SA, SB , SC, SD, S E , SF , SG , SH 는 후보 타입 결정에 이용되며, 그 결정 방법은 다음과 같다.
i)
Figure 112004039867315-pat00009
이면, 후보 타입으로 'P_16×8'을 결정하고,
ii)
Figure 112004039867315-pat00010
이고,
Figure 112004039867315-pat00011
이면, 후보 타입으로 'P_8×16'을 결정하고,
iii)
Figure 112004039867315-pat00012
이고,
Figure 112004039867315-pat00013
이고,
Figure 112004039867315-pat00014
이면, 후보 타입으로 'P_8×8'을 결정한다. 여기서, ThP _16 × 8, ThP _8 × 16, ThP _8 × 8은 부호화하고자 하는 영상의 특성에 따라 임의로 설정할 수 있는 값이다.
상기한 바와 같은 후보 타입 선택 과정을 통해 부호화할 매크로블록의 움직임 추정 과정에 있어서, 움직임 추정 과정에 이용되는 후보 매크로블록 타입을 빠르게 결정할 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
상기한 바와 같은 본 발명에 따르면, 영상 부호기에서 매크로블록 타입을 결정하는 소비시간과 계산량을 상당량 감소시킬 수 있으므로, 영상 부호기의 실시간 구현 가능성을 높일 수 있다.

Claims (5)

  1. 영상의 부호화를 위한 인터 매크로블록 타입 결정 방법에 있어서,
    매크로블록을 구성하는 화소값들의 분산을 계산하는 단계; 및
    상기 매크로블록의 분산값이 소정값 이하인 경우에는 인터 매크로블록 타입을 16×16 크기의 매크로블록으로 결정하고, 상기 매크로블록의 분산값이 소정값 이상인 경우에는 소정의 후보 매크로블록 타입에 대하여 움직임 추정을 수행하여 인터 매크로블록 타입을 결정하는 단계를 포함하는 인터 매크로블록 타입 결정 방법.
  2. 삭제
  3. 삭제
  4. 제 1항에 있어서,
    상기 소정의 후보 매크로블록 타입은, 16×16 타입 움직임 벡터를 이용하여 선택되는 것을 특징으로 하는 인터 매크로블록 타입 결정 방법.
  5. 제 1항에 있어서,
    상기 인터 매크로블록 타입은, 16×16 매크로블록 타입에 대한 비트율 왜곡치와 후보 매크로블록 타입에 대한 비트율 왜곡치를 비교하여 최소 비트율 왜곡치를 갖는 타입으로 결정되는 것을 특징으로 하는 인터 매크로블록 타입 결정 방법.
KR1020040070002A 2004-09-02 2004-09-02 매크로블록 타입 결정 방법 KR100657277B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040070002A KR100657277B1 (ko) 2004-09-02 2004-09-02 매크로블록 타입 결정 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040070002A KR100657277B1 (ko) 2004-09-02 2004-09-02 매크로블록 타입 결정 방법

Publications (2)

Publication Number Publication Date
KR20060021149A KR20060021149A (ko) 2006-03-07
KR100657277B1 true KR100657277B1 (ko) 2006-12-14

Family

ID=37128120

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040070002A KR100657277B1 (ko) 2004-09-02 2004-09-02 매크로블록 타입 결정 방법

Country Status (1)

Country Link
KR (1) KR100657277B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100900316B1 (ko) * 2006-12-06 2009-06-02 한국전자통신연구원 실시간 비디오 신호 압축을 위한 인트라 모드 예측 검색방법 및 장치
KR100845644B1 (ko) * 2006-12-14 2008-07-10 한국정보통신대학교 산학협력단 고속 움직임 모드 결정 방법
KR101624649B1 (ko) 2009-08-14 2016-05-26 삼성전자주식회사 계층적인 부호화 블록 패턴 정보를 이용한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101676794B1 (ko) * 2016-05-13 2016-11-16 삼성전자주식회사 계층적인 부호화 블록 패턴 정보를 이용한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101676793B1 (ko) * 2016-05-13 2016-11-16 삼성전자주식회사 계층적인 부호화 블록 패턴 정보를 이용한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960028458A (ko) * 1994-12-21 1996-07-22 구자홍 동화상 비디오 부호화 장치
KR100310774B1 (ko) 1998-09-30 2001-11-22 전주범 영상부호화장치
US20030053543A1 (en) 2001-07-24 2003-03-20 Sasken Communication Technologies Limited Motion estimation technique for digital video encoding applications
KR20030080716A (ko) * 2002-04-10 2003-10-17 엘지전자 주식회사 엠펙 인코딩 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960028458A (ko) * 1994-12-21 1996-07-22 구자홍 동화상 비디오 부호화 장치
KR100310774B1 (ko) 1998-09-30 2001-11-22 전주범 영상부호화장치
US20030053543A1 (en) 2001-07-24 2003-03-20 Sasken Communication Technologies Limited Motion estimation technique for digital video encoding applications
KR20030080716A (ko) * 2002-04-10 2003-10-17 엘지전자 주식회사 엠펙 인코딩 방법

Also Published As

Publication number Publication date
KR20060021149A (ko) 2006-03-07

Similar Documents

Publication Publication Date Title
US8155191B2 (en) Method and apparatus for fast mode decision of B-frames in a video encoder
KR100984517B1 (ko) 인터프레임 인코딩을 위한 빠른 모드 결정 방법
US8331449B2 (en) Fast encoding method and system using adaptive intra prediction
CA3128548C (en) Intra prediction of a processing block using a predicted value which is proportional to the amount of change in the horizontal direction of the signal value of a pixel adjacent to the left of the processing block
KR100739714B1 (ko) 인트라 예측 모드 결정 방법 및 장치
KR100773761B1 (ko) 동영상 부호화 장치 및 방법
US8385416B2 (en) Method and apparatus for fast mode decision for interframes
US8948243B2 (en) Image encoding device, image decoding device, image encoding method, and image decoding method
KR20050053297A (ko) 동영상 부호화 방법 및 장치
KR20060049850A (ko) 소스 픽쳐의 시퀀스를 코딩하는 방법 또는 장치
US8189667B2 (en) Moving picture encoding apparatus
KR20130112374A (ko) 고속 인트라 예측을 위한 영상 부호화 방법 및 장치
KR20060008523A (ko) 영상의 인트라 예측 방법 및 그 장치
JP4994877B2 (ja) ビデオのフレームシーケンスにおけるマクロブロックの符号化モードを選択する方法及びシステム
KR100657277B1 (ko) 매크로블록 타입 결정 방법
CN113079376A (zh) 对静止区域的视频编码方法和装置
KR100807330B1 (ko) H.264/avc 인코더의 인트라 매크로블록 모드 스킵 방법
KR101603887B1 (ko) Hevc에서의 고속 cu 결정을 통한 부호화방법
Yang et al. Description of video coding technology proposal by Huawei Technologies & Hisilicon Technologies
WO2015015404A2 (en) A method and system for determining intra mode decision in h.264 video coding
KR100939280B1 (ko) 다중 참조 프레임을 이용한 비디오 부호화 방법 및 그방법이 기록된 컴퓨터로 판독 가능한 기록매체
KR100900316B1 (ko) 실시간 비디오 신호 압축을 위한 인트라 모드 예측 검색방법 및 장치
KR100701129B1 (ko) 영상 부호화기에서 고속 블록 모드 결정 방법
Naito et al. Development of real-time encoder for 8K ultra-high definition television
KR101895389B1 (ko) 영상 부호화 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
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: 20121129

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131128

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141127

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151127

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee