KR100809013B1 - 복잡도 가변형 동영상 부호화 장치 및 그 방법 - Google Patents

복잡도 가변형 동영상 부호화 장치 및 그 방법 Download PDF

Info

Publication number
KR100809013B1
KR100809013B1 KR1020050057130A KR20050057130A KR100809013B1 KR 100809013 B1 KR100809013 B1 KR 100809013B1 KR 1020050057130 A KR1020050057130 A KR 1020050057130A KR 20050057130 A KR20050057130 A KR 20050057130A KR 100809013 B1 KR100809013 B1 KR 100809013B1
Authority
KR
South Korea
Prior art keywords
dct
complexity
mask pattern
motion vector
gob
Prior art date
Application number
KR1020050057130A
Other languages
English (en)
Other versions
KR20070001565A (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 KR1020050057130A priority Critical patent/KR100809013B1/ko
Publication of KR20070001565A publication Critical patent/KR20070001565A/ko
Application granted granted Critical
Publication of KR100809013B1 publication Critical patent/KR100809013B1/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/57Motion estimation characterised by a search window with variable size or shape
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/172Methods 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 picture, frame or field

Abstract

본 발명은 입력 영상의 분포에 따라 사용 가능한 계산량 복잡성을 기준으로 DCT 연산에 사용되는 마스크 패턴을 가변시켜 입력 블록에 대응하는 8X8개(총 64개)의 DCT계수를 모두 계산하지 않고 일부만을 계산하여 연산량을 줄이고, 이동벡터를 추정할 때 선택된 마스크 패턴에 대응하여 탐색 영역(S)과 이동 벡터의 해상도(Δ)를 줄이거나 늘려서 연산량을 조절하는 복잡도 가변형 동영상 부호화 장치 및 그 방법에 관한 것이다.
본 발명을 매우 제한된 배터리 전원을 가지는 모바일 폰, PDA 등과 같은 휴대용 단말기에 적용하면 연산량을 현저하게 줄일 수 있으므로 짧은 시간 내에 배터리가 소모되어서 원하는 동영상을 녹화하는 시간 또는 부호화할 수 있는 영상의 개수 등이 제한되는 종래의 문제점을 해소할 수 있으며, 특히 화질은 떨어지더라도 장시간의 녹화가 가능하고, 휴대용 단말기의 성능 제약으로 인해 복잡한 동영상 신호의 부호화가 불가능한 경우에도 부호화가 가능하다.
Figure R1020050057130
동영상, 부호화, DCT, 양자화, 이동추정, 이동벡터

Description

복잡도 가변형 동영상 부호화 장치 및 그 방법{Apparatus for coding complexity-scalable moving image and method thereof}
도 1은 일반적인 표준 동영상 부호기를 나타낸 블록도.
도 2는 본 발명에 따른 복잡도 가변형 동영상 부호화 장치를 나타낸 블록도.
도 3은 본 발명에 따른 DCT 연산에 사용되는 마스크 패턴을 나타낸 실시예.
도 4는 본 발명에 따른 DCT 연산에 사용되는 마스크 패턴을 나타낸 다른 실시예.
도 5는 양자화 간격이 5인 경우의 이론적 목표 계산량 복잡성과 실제 실험에 의해 얻은 목표 계산량 복잡성에 따른 CPU 사용 시간을 나타낸 그래프.
도 6은 양자화 간격이 15인 경우의 이론적 목표 계산량 복잡성과 실제 실험에 의해 얻은 목표 계산량 복잡성에 따른 CPU 사용 시간을 나타낸 그래프.
도 7은 양자화 간격 5와 15로 Foreman 영상을 10Hz로 부호화할 때 목표 계산량 복잡성을 결정하는 파라미터(α)에 따른 PSNR(Peak Signal to Noise Rate)을 나타낸 그래프.
도 8은 양자화 간격이 5인 경우의 특정 목표 계산량 복잡성을 결정하는 파라미터(α)에 따른 각 프레임별 CPU 사용 시간을 나타낸 그래프.
도 9는 양자화 간격이 15인 경우의 특정 목표 계산량 복잡성을 결정하는 파라미터(α)에 따른 각 프레임별 CPU 사용 시간을 나타낸 그래프.
도 10은 양자화 간격이 5인 경우의 특정 목표 계산량 복잡성을 결정하는 파라미터(α)에 따른 각 프레임별 PSNR(Peak Signal to Noise Rate)을 나타낸 그래프.
도 11은 양자화 간격이 15인 경우의 특정 목표 계산량 복잡성을 결정하는 파라미터(α)에 따른 각 프레임별 PSNR(Peak Signal to Noise Rate)을 나타낸 그래프.
<도면의 주요 부분에 대한 부호의 설명>
10: 부호화 제어기 20,20a: DCT(Discrete Cosine Transform)부
21: 복잡도 제어기 22-1∼22-8: DCT 모듈
23a: 입력 선택부 23b: 출력 선택부
30: 제1 모드스위치 40: 양자화기
50: 지그재그(zigzag) 스캔부 60: VLC(Variable Length Coding)부
70: 역양자화기 80: IDCT(Inverse DCT)부
90: 가산기 100: 이동 추정기
110: 이동보상기 120: 제2 모드스위치
130: 감산기
본 발명은 동영상 부호화 방법 및 그 장치에 관한 것이며, 더욱 상세히는 매우 제한된 배터리 전원을 가지는 모바일 폰, PDA 등과 같은 휴대용 단말기에 적용할 수 있는 복잡도 가변형 동영상 부호화 장치 및 그 방법에 관한 것이다.
도 1은 모바일 폰, PDA 등과 같은 휴대용 단말기에 적용할 수 있으며, ISO/IEC의 MPEG-1, MPEG-2, MPEG-4 및 ITU-T의 H.261, H.263, H.264에 따른 일반적인 표준 동영상 부호기를 나타낸 블록도로서, 이 동영상 부호기는 현재 영상과 재생된 이전 영상들을 이용해서 입력 영상에 대한 부호화 및 압축을 수행한다.
도 1을 참조하면, 종래의 휴대용 단말기에 적용할 수 있는 동영상 부호기는 부호화 제어기(10)에 의해 작동 모드와 양자화 간격(quantization step size)이 제어되며, 현재 영상 블록들만을 이용하는 화면내 부호화 모드로 작동 시 현재 영상의 휘도 신호(luminance signal) 중 16x16 화소 블록(총 4개의 8x8 화소 블록)과 색차 신호(chrominace signal) 중에 2개의 8x8 화소 블록들을 입력으로 받는다.
이때, DCT(Discrete Cosine Transform)부(20)는 제1 모드스위치(30)의 오프(off) 단자를 통해 입력되는 상기 6개의 입력 블록들을 순차적으로 DCT 변환 처리하여 각각의 입력 블록에 대해 8X8개(총 64개)의 DCT계수를 발생하며, 양자화기(40)는 이들 DCT계수 값을 일정 크기의 양자화 간격(양자화 스텝 크기)을 나타내는 정수값으로 나누고, 소수점에 해당하는 부분을 삭제하여 양자화한다.
이와 같이 양자화된 DCT계수는 지그재그(zigzag) 스캔부(50)에 의해 지그재그 스캔 처리된 다음 VLC(Variable Length Coding)부(60)에 의한 엔트로피 부호화 과정을 통해 압축된다.
또한, 상기한 종래의 휴대용 단말기에 적용할 수 있는 동영상 부호기는 현재 영상 블록과 이전 재생 영상 블록들의 화소 값들을 뺀 차이 블록을 이용하는 화면간 부호화 모드로 작동 시, 부호화된 현재 영상을 복원해서 재생 영상을 만든 다음 이 재생 영상을 다음 영상의 부호화 시에 재생된 이전 영상으로 활용하며, 재생된 이전 영상을 이용한 현재 영상의 예측값을 나타내는 차 영상의 휘도 신호 중 16x16 화소 블록(총 4개의 8x8 화소 블록)과 2개의 8x8 색차 신호 블록을 입력으로 받는다.
이때, 역양자화기(70)는 양자화된 DCT계수와 양자화 과정에서 사용된 양자화 간격을 곱하여 DCT계수 값을 복원하고, 이렇게 복원된 DCT계수는 IDCT(Inverse DCT)부(80)에 의해 역 DCT 변환 처리되어 화소 값 또는 화소 차이 값으로 복원되며, 가산기(90)는 역 DCT 변환 처리된 화소 값 또는 화초 차이 값과 하기의 이동보상기(110)에 의해 재생된 이전 영상을 이용한 현재 영상의 예측 값을 합산하여 현재 영상에 대한 재생 영상을 만든다.
상기 가산기(90)에 의해 현재 영상에 대한 재생 영상이 만들어지면, 이동 추정기(100)는 현재 블록의 위치에 비해서 가로 및 세로 방향으로 몇 개의 화소만큼의 위치 차이가 나는지를 나타내는 이동 벡터를 측정하는데, 동영상의 경우 현재 영상과 이전 영상이 유사하고, 현재 영상 내의 특정한 위치의 화소 블록(휘도 성분 기준으로 16x16화소 부분)이 이전 영상에서 어느 부분에 위치하는가를 측정한다.
상기 이동 추정기(100)가 이동 벡터값을 측정하는 방법은 하기의 수학식 1과 수학식 2에 근거한다.
Figure 112007076456481-pat00001

Figure 112007076456481-pat00002

상기 수학식 1과 수학식 2에서, SAD(dx,dy)는 현재 블록에 비해, (dx,dy)만큼의 위치가 차이 나는 재생된 이전 영상과 현재 블록과의 유사도로서, 그 값이 작을수록 두 블록의 화소 값들은 유사하다.ㅍㅍ
또한, S값은 탐색 영역이라고 부르고 Δ값은 이동벡터의 해상도라고 부르며, (dx,dy)는 상기 수학식 1에 의해서 정의된 값들에 대해서 측정된다.
이동보상기(110)는 상기 이동추정기(100)에 측정된 이동벡터에 따라 현재 블록과 유사한 재생된 이전 영상을 상기 제1 모드스위치(30)와 동일하게 온/오프 작동하는 제2 모드스위치(120)의 온(on) 단자를 통하여 상기 가산기(90)로 보냄과 동시에 감산기(130)로 보내고, 상기 감산기(130)는 현재 영상과 재생된 이전 영상의 차 영상을 상기 제1 모드스위치(30)의 온(on) 단자로 출력하며, 이에 따라서 DCT(Discrete Cosine Transform)부(20)는 제1 모드스위치(30)의 오프(on) 단자를 통해 입력되는 상기 차 영상의 6개의 입력 블록들을 순차적으로 DCT 변환 처리하여 각각의 입력 블록에 대해 8X8개(총 64개)의 DCT계수를 발생하며, 이후 이들 DCT계수 값은 상기한 양자화기(40)와 지그재그 스캔부(50) 및 VLC부(60)를 거쳐 부호화 및 압축된다.
상기와 같이 현재 영상 블록들만을 이용하는 화면내 부호화 모드 혹은 현재 영상 블록과 이전 재생 영상 블록들의 화소 값들을 뺀 차이 블록을 이용하는 화면간 부호화 모드로 부호화 및 압축된 입력 영상 데이터는 상기 VLC부 후단에 연결되는 버퍼(도시하지 않음)를 경유하여 특정 비트율(전송율)로 저장매체에 저장된다.
이때, 상기 부호화 제어기는 고정 비트율(CBR;Constant Bit-rate) 비디오 부호화에 있어서 율버퍼 제어기법으로 상기 버퍼의 충만도에 따라 상기 버퍼에 채워지는 데이터 양을 할당하여 버퍼의 비트율 상태가 일정치를 유지할 수 있도록 조절한다.
예컨대, 발생한 입력 영상 데이터의 비트 수가 상기 버퍼에 할당된 기준치 이상이면 버퍼 넘침(buffer overflow) 현상을 방지하기 위하여 양자화 간격을 증가시켜 다음에 발생할 비트 수를 감소시키고, 발생한 입력 영상 데이터의 비트 수가 상기 버퍼에 할당된 기준치 이하이면 버퍼 고갈(buffer underflow) 현상을 방지하기 위하여 양자화 간격을 감소시켜 다음에 발생한 비트 수를 증가시킨다.
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
한편, 상기와 같이 작동하는 종래의 동영상 부호기에 있어서, 상기 DCT부가 상기 6개의 입력 블록들을 순차적으로 DCT 변환 처리하면서 각각의 입력 블록에 대해 8X8개(총 64개)의 DCT계수를 계산하기 위하여 사용하는 연산량은 통상적으로 동영상 부호기의 전체 연산량 중 30∼40%를 차지한다.
또한, 상기 이동추정기가 이동 벡터를 계산하는데 필요한 연산량도 통상적으로 동영상 부호기의 전체 연산량 중 30~40%를 차지하는데, 이때의 연산량은 탐색 영역(S) 및 이동 벡터의 해상도(Δ)의 크기들에 의해서 결정되며, 실제로 S가 작고 Δ값이 클수록 연산량은 감소하고, 반대로 S가 크고 Δ값이 작을수록 연산량은 증가하지만, 현재 모바일 폰, PDA 등과 같은 휴대용 단말기에 구현되어 있는 동영상 부호기는 휴대용 단말기의 배터리의 충전량과 상관없이 상기 탐색 영역(S) 및 이동 벡터의 해상도(Δ) 값들이 고정되어 있다.
그러므로, 이러한 동영상 부호기를 매우 제한된 배터리 전원을 가지는 모바일 폰, PDA 등과 같은 휴대용 단말기에 적용할 경우, 짧은 시간 내에 배터리가 소모되어서 원하는 동영상을 녹화하는 시간 또는 부호화할 수 있는 영상의 개수 등이 제한된다.
삭제
삭제
삭제
삭제
본 발명은 상기한 종래의 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 입력 영상의 분포에 따라 사용 가능한 계산량 복잡성을 기준으로 DCT 연산에 사용되는 마스크 패턴을 가변시켜 입력 블록에 대응하는 8X8개(총 64개)의 DCT계수를 모두 계산하지 않고 일부만을 계산하여 연산량을 줄이고, 이동벡터를 추정할 때 선택된 마스크 패턴에 대응하여 탐색 영역(S)과 이동 벡터의 해상도(Δ)를 줄이거나 늘려서 연산량을 조절하는 복잡도 가변형 동영상 부호화 장치 및 그 방법을 제공하는 것이다.
삭제
삭제
상기와 같은 본 고안의 목적을 달성하기 위하여, 본 발명에 따른 복잡도 가변형 동영상 부호화 장치는, 부호화 제어기와, DCT(Discrete Cosine Transform)부, 제1 모드스위치, 양자화기, 지그재그(zigzag) 스캔부, VLC(Variable Length Coding)부, 역양자화기, IDCT(Inverse DCT)부, 가산기, 이동 추정기, 이동보상기, 제2 모드스위치, 및 감산기를 포함하는 동영상 부호화 장치에 있어서, 상기 DCT부는 입력 영상의 분포에 따라 사용 가능한 계산량 복잡성을 산정하고, 이 계산량 복잡성을 기준으로 DCT 연산에 사용되는 다수의 마스크 패턴 중 특정 마스크 패턴을 선택하는 DCT 선택 신호와 상기 선택된 마스크 패턴에 대응하여 상기 이동 추정기의 이동벡터 추정을 위한 탐색 영역(S)과 이동 벡터의 해상도(Δ)를 조절하기 위한 이동벡터 추정 신호를 출력하는 복잡도 제어기와; 특정 마스크 패턴을 사용하여 입력 영상을 8X8개(총 64개)의 화소를 가지는 블록 단위로 DCT 변환 처리하여 특정 개수의 DCT계수를 발생하는 다수의 DCT 모듈; 및 상기 복잡도 제어기의 DCT 선택 신호에 대응하여 다수의 스위치 접점을 변경함으로써 입력 영상을 상기 다수의 DCT 모듈 중 특정 DCT 모듈로 인가시켜 DCT 변환 처리하여 출력시키는 입/출력 선택부;로 구성된다.
상기와 같은 본 고안의 목적을 달성하기 위하여, 본 발명에 따른 복잡도 가변형 동영상 부호화 방법은, 현재 영상 블록들만을 이용하는 화면내 부호화 모드 혹은 현재 영상 블록과 이전 재생 영상 블록들의 화소 값들을 뺀 차이 블록을 이용하는 화면간 부호화 모드로 입력 영상을 부호화 및 압축하는 동영상 부호화 방법에 있어서, 상기 입력 영상의 분포에 따라 사용 가능한 계산량 복잡성을 산정하고, 이 계산량 복잡성을 기준으로 DCT 연산에 사용되는 다수의 마스크 패턴 중 특정 마스크 패턴을 선택하여 입력 블록에 대응하는 8X8개(총 64개)의 DCT계수를 모두 계산하지 않고 일부만을 계산하여 연산량을 줄이고, 이전 재생 영상을 만들기 위하여 이동벡터를 추정할 때 선택된 마스크 패턴에 대응하여 탐색 영역(S)과 이동 벡터의 해상도(Δ)를 줄이거나 늘려서 연산량을 조절하는 것을 특징으로 한다.
이하, 본 발명의 실시예를 첨부한 도면을 참조하여 더욱 상세하게 설명한다.
도 2는 본 발명에 따른 복잡도 가변형 동영상 부호화 장치를 나타낸 블록도로서, 도 1에 나타낸 종래의 동영상 부호화기와 비교해 볼 때, DCT부(20a)의 구성과 작동이 도 1의 DCT부(20)와 다르고, 나머지 부호화 제어기(10)와, 제1 모드스위치(30), 양자화기(40), 지그재그(zigzag) 스캔부(50), VLC(Variable Length Coding)부(60), 역양자화기(70), IDCT(Inverse DCT)부(80), 가산기(90), 이동 추정기(100), 이동보상기(110), 제2 모드스위치(120), 및 감산기(130)는 각각 도 1에서 동일한 식별 번호로 나타낸 서로 대응하는 구성요소와 동일하게 작동한다.
상기 DCT부(20a)는 복잡도 제어기(21)와 다수의 DCT 모듈(22-1∼22-8) 및 입/출력 선택부(23a,23b)로 구성된다.
상기 복잡도 제어기(21)는 입력 영상의 분포에 따라 사용 가능한 계산량 복잡성을 산정하고, 이 계산량 복잡성을 기준으로 DCT 연산에 사용되는 다수의 마스크 패턴(바람직하게는 8가지의 마스크 패턴) 중 특정 마스크 패턴을 선택하는 DCT 선택 신호와 상기 선택된 마스크 패턴에 대응하여 상기 이동 추정기(100)의 이동벡터 추정을 위한 탐색 영역(S)과 이동 벡터의 해상도(Δ)를 조절하기 위한 이동벡터 추정 신호를 출력한다.
상기 복잡도 제어기(21)에 의해 산정되는 실질적인 계산량 복잡성은 입력 영상의 분포와 양자화 간격에 의해 결정된다. 실제로, 영상의 분포가 거의 일정한 블록인 경우 0이 아닌 DCT 계수의 발생이 적은데, 이 경우 엔트로피 부호화 방법에 있어서 계산량 복잡성은 줄어들게 된다. 입력 영상 블록에 있어서 영상의 분포가 다양한 경우는 높은 계산량을 필요로 하게 되므로 입력 영상의 분포에 따라 사용 가능한 계산량을 만족하는 마스크 패턴으로 바꾸어 줄 수 있어야 하는데, 이와 같이 입력 영상의 분포에 따라 사용 가능한 계산량을 만족하는 마스크 패턴으로 바꾸어주는 기능을 상기 복잡도 제어기(21)가 수행한다.
상기 복잡도 제어기(21)에 의해 입력 영상의 분포에 따라 마스크 패턴이 주어지면 계산량의 복잡성은 양자화 간격에 따라 반비례적으로 증가하게 된다.
상기 다수(바람직하게는 8개)의 DCT 모듈(22-1∼22-8)은 각각에 할당된 특정 마스크 패턴을 사용하여 입력 영상을 8X8개(총 64개)의 화소를 가지는 블록 단위로 DCT 변환 처리하여 특정 개수의 DCT계수를 발생한다.
도 2에 나타낸 상기 8개의 DCT 모듈(22-1∼22-8)은 각각 도 3과 도 4에 나타낸 바와 같이 다양한 형태의 마스크 패턴을 사용하여 DCT 변환 처리를 수행한다.
이때, 8X8개의 화소를 가지는 블록에 있어서 마스크 패턴의 검은 부분의 계수만을 DCT 연산을 수행하고 나머지 영역은 0으로 처리하며, 이에 따라서 양자화와 지그재그 스캐닝도 마스크 패턴의 검은 영역만을 적용한다.
예컨대, 도 3의 Mask8 혹은 도 4의 Mask1을 사용하는 경우, DCT 연산은 8X8 블록의 DCT계수만을 가지며, 이에 따라서 8X8 블록의 DCT계수만이 양자화 및 지그재그 스캐닝 처리된다. 또한, 도 3의 Mask4 혹은 도 4의 Mask5를 사용하는 경우, DCT 연산은 8X8 블록 중 4X4 블록의 DCT계수만을 가지며, 이에 따라서 4X4 블록의 DCT계수만이 양자화 및 지그재그 스캐닝 처리된다.
상기 입/출력 선택부(23a,23b)는 상기 복잡도 제어기(21)의 DCT 선택 신호에 대응하여 다수의 스위치 접점을 변경함으로써 상기 제1 모드스위치(30)를 통해 입력되는 입력 영상을 상기 다수의 DCT 모듈(22-1∼22-8) 중 특정 DCT 모듈(22-1∼22-8)로 인가시켜 DCT 변환 처리하여 상기 양자화기(40)로 출력시킨다.
상기와 같이 구성되는 본 발명에 따른 복잡도 가변형 동영상 부호화 장치는 다음과 같이 작동한다.
도 2를 참조하면, 상기 복잡도 제어기(21)는 먼저 하기의 수학식 3에 의해 입력 영상의 분포에 따라 사용 가능한 계산량 복잡성을 산정한다.
Figure 112007076456481-pat00003

상기 수학식 3에서, Sn은 현재 영상의 n번째에 영역, 즉 n번째 프레임(혹은 GOB(Group Of Block))에 사용된 계산량이고, Rn은 n번째 영역, 즉 영역, 즉 n번째 프레임(혹은 GOB)을 마친 후 계산량 복잡성 버퍼 내에 남아있는 계산량 복잡성이다. T는 각 영역, 즉 각 프레임(혹은 GOB)별 목표로 하는 계산량 복잡성이다.
상기 복잡도 제어기(21)는 상기 Rn의 남아있는 복잡성이 작은 경우에는 복잡도를 낮추고, 반대의 경우에는 복잡도를 높이며, 이와 같이 산정되는 계산량 복잡성을 기준으로 각각 특정한 마스크 패턴이 할당된 상기 8개의 DCT 모듈(22-1∼22-8) 중 DCT 연산에 사용해야 할 특정 마스크 패턴이 할당된 특정 DCT 모듈(22-1∼22-8)을 선택하고, 이에 대응하는 DCT 선택 신호와 상기와 같이 선택된 마스크 패턴에 대응하여 상기 이동 추정기(100)의 이동벡터 추정을 위한 탐색 영역(S)과 이동 벡터의 해상도(Δ)를 조절하기 위한 이동벡터 추정 신호를 출력한다.
이때, 상기 DCT 연산에 사용되는 특정 마스크 패턴은 하기의 수학식 4에 의해 선택된다.
M = nint(8×Rn/B), M∈[1,8]
상기 수학식 4에서, nint()는 최근접 정수 제거 연산자(nearest integer truncation operator)를 의미하며, B는 상기 복잡성 버퍼 크기이고, M은 다음 프레임(혹은 GOB)에 DCT 연산으로 사용할 마스크 패턴 번호, 즉 상기 8개의 DCT 모듈(22-1∼22-8) 선택 번호이다.
본 발명에 있어서, 상기와 같은 복잡성 컨트롤 메커니즘은 고정 비트율(CBR;Constant Bit-rate) 비디오 부호화에 있어서 율버퍼 제어기법으로부터 영감을 얻은 것으로, 율버퍼 제어기법과 복잡도 버퍼 제어기법의 차이점은 율버퍼 제어기법에서 야기하는 버퍼 넘침(buffer overflow)과 버퍼 고갈(buffer underflow)과 같은 심각한 문제가 복잡도 버퍼 제어기법에서는 단기간에는 큰 문제가 되지 않는 점이다.
상기와 같이 복잡도 제어기(21)가 상기 8개의 DCT 모듈(22-1∼22-8) 중 DCT 연산에 사용해야 할 특정 마스크 패턴이 할당된 특정 DCT 모듈(22-1∼22-8)을 선택하는 DCT 선택 신호를 출력하면, 상기 입/출력 선택부(23a,23b)는 상기 8개의 DCT 모듈(22-1∼22-8) 중 선택된 특정 마스크 패턴이 할당된 특정 DCT 모듈(22-1∼22-8)에 대응하는 스위치 접점을 상기 제1 모드스위치(30)와 상기 양자화기(40)로 연결함으로써 입력 영상이 계산량 복잡성에 따라 선택된 특정 마스크 패턴이 할당된 특정 DCT 모듈(22-1∼22-8)로 인가되어 상기 특정 마스크 패턴으로 DCT 변환 처리되어 상기 양자화기(40)로 출력되게 한다.
이와 같이, 입력 영상이 계산량 복잡성에 따라 선택된 특정 마스크 패턴이 할당된 특정 DCT 모듈(22-1∼22-8)로 인가되어 상기 특정 마스크 패턴으로 DCT 변환 처리되어 상기 양자화기(40)로 출력되면, 상기 양자화기(40)와 지그재그 스캔부(50)는 상기 특정 마스크 패턴으로만 양자화와 지그재그 스캐닝 처리를 수행한다.
예컨대, 도 3의 Mask4 혹은 도 4의 Mask5를 사용하는 경우, DCT 연산은 8X8 블록 중 4X4 블록의 DCT계수만을 가지며, 이에 따라서 4X4 블록의 DCT계수만이 양자화 및 지그재그 스캐닝 처리되므로 DCT 연산량뿐만 아니라 상기 양자화기(40)와 지그재그 스캔부(50), VLC부(60)의 연산량 역시 줄일 수 있다.
상기와 같이 특정 마스크 패턴으로만 입력 영상을 DCT 연산한 후 양자화하면 양자화된 DCT계수를 역양자화하는 역양자화기(70)의 연산량과, 역 DCT 연산 처리하는 IDCT(Inverse DCT)부(80)의 연산량, 역 DCT 변환 처리된 화소 값 또는 화초 차이 값과 상기 이동보상기(110)에 의해 재생된 이전 영상을 이용한 현재 영상의 예측 값을 합산하여 현재 영상에 대한 재생 영상을 만드는 가산기(90)의 연산량도 함께 줄일 수 있다.
또한, 상기 복잡도 제어기(21)가 상기와 같이 선택된 마스크 패턴에 대응하여 상기 이동 추정기(100)의 이동벡터 추정을 위한 탐색 영역(S)과 이동 벡터의 해상도(Δ)를 조절하기 위한 이동벡터 추정 신호를 출력하면, 이 이동벡터 추정 신호에 따라서 탐색 영역(S)과 이동 벡터의 해상도(Δ)를 조절하여 현재 블록의 위치에 비해서 가로 및 세로 방향으로 몇 개의 화소만큼의 위치 차이가 나는지를 나타내는 이동 벡터를 측정하는 상기 이동 추정기(100)의 연산량을 줄일 수 있으며, 이에 따라서 상기 이동추정기(100)에 측정된 이동벡터에 따라 현재 블록과 유사한 재생된 이전 영상을 만드는 상기 이동보상기(110)의 연산량과 현재 영상과 재생된 이전 영상의 차 영상을 생성하는 상기 감산기(130)의 연산량도 함께 줄일 수 있다.
참고로, 본 발명에 따른 복잡도 가변형 동영상 부호화 방법이 적용되는 장치의 성능을 평가하기 위하여 다음과 같은 실험 환경 하에서 실험을 수행한 결과는 다음과 같다.
이 실험에 사용된 코덱은 ITU-T H.263 TMN8이며, 본 발명에 따른 동영상 부호화 방법의 주된 관심분야는 DCT 부호화 부분이므로 동영상은 I-Picture로 고정하여 실험한다.
이 실험에 사용된 영상의 규격은 QCIF(176x144, 색차 성분 부표화 4:2:0, 10Hz)이며, 사용한 영상은 Foreman 영상이고, 사용 환경은 다음과 같다.
PC : IBM Compatible PC Pentium 4
OS : Microsoft Windows Server 2003
Language : Microsoft Visual C++ 6.0
Codec : ITU-T Recommendation H.263 TMN8
이 실험에 사용된 양자화 간격(QP)은 5인 경우와 15인 경우이며, 실험 방법은 Foreman 영상을 10Hz로 I-picture만 부호화를 하고, 여기서 각각의 프레임(혹은 GOB)이 바뀔 때마다 사용 가능한 계산량을 만족하는 마스크 패턴을 적용하여 목표로 하는 계산량을 맞추어 주는 방법이다.
기준을 정하기 위해서 도 4의 Mask8(full DCT mask)의 CPU 사용시간을 측정하고, 측정한 CPU 사용시간을 TREF라 정의하였으며, 목표 계산량 복잡성 T는 파라미터 α에 의해 다음의 수학식 5와 같이 정의한다.
T = αTREF
상기 수학식 5에서 파라미터 α의 값을 0.1부터 1.0까지 정의한 실험을 통해 CPU 사용시간을 측정하여 이론적으로 구한 목표 계산량 복잡성과의 차이를 비교하여 적용 가능한 값을 구한다. 각각의 양자화 간격에 상기 α값을 적용하여 CPU 사용시간을 측정하고, 그 결과로 본 발명에 따른 동영상 부호화 방법이 적용된 장치의 성능을 평가한다.
도 5와 도 6에서는 양자화 간격이 5와 15인 경우, 상기 수학식 5에 의해 정의된 이론적 목표 계산량 복잡성과 실제 실험에 의해 얻은 목표 계산량 복잡성에 따른 CPU 사용 시간을 비교하여 나타내고 있다.
도 5와 도 6의 결과를 보면, 상기 α값이 0.3 미만인 경우 실험치의 결과가 유용하지 않은 것을 알 수 있으므로 0.3 미만의 α값은 사용하지 않는다.
도 7은 양자화 간격 5와 15로 Foreman 영상을 10Hz로 부호화할 때 목표 계산량 복잡성을 결정하는 파라미터(α)에 따른 전체 100 프레임의 평균 PSNR(Peak Signal to Noise Rate)을 나타낸다.
도 7의 결과 역시 α값이 0.3 미만인 경우는 실험에 사용하기에 적절하지 않다는 것을 알 수 있으므로, 0.3 이상의 α값만을 사용한다.
한편, 본 발명에 따른 동영상 부호화 방법이 적용된 장치의 성능을 측정하기 위해서 상기 수학식 5의 식 (3)의 α값을 다음의 수학식 6과 같이 설정하고 실험한다.
α = 0.5 if n < 33, α = 1.0 if 33 ≤ n < 66, α = 0.7 if otherwise
상기한 바와 같이 정의된 실험환경에서, 상기 수학식 6에 의해 프레임별 제시된 α값에 따른 각 프레임별 CPU 사용시간과 PSNR을 측정하고 이론치와 비교한 결과는 다음과 같다.
도 8과 도 9는 양자화 간격이 5와 15인 경우의 특정 목표 계산량 복잡성을 결정하는 파라미터(α)에 따른 각 프레임별 CPU 사용 시간을 나타낸다.
도 10과 도 11은 양자화 간격이 5와 15인 경우의 특정 목표 계산량 복잡성을 결정하는 파라미터(α)에 따른 각 프레임별 PSNR(Peak Signal to Noise Rate)을 나타낸다.
도 8 내지 도 11의 결과는 본 발명에 따른 동영상 부호화 방법이 적용된 장치가 각각의 양자화 간격(QP)에서 구한 이론적 계산량 복잡성에 따라 적절하게 적응해 가는 과정을 보여주며, 복잡도와 화질 사이에는 비례관계가 있음을 알 수 있다.
실제로, 본 발명에 따른 동영상 부호화 방법은 고정 비트율(CBR;Constant Bit-rate) 비디오 부호화에 있어서 율버퍼 제어기법과 유사하게 계산량 복잡성에 따라 적절하게 DCT 연산량을 조절할 수 있으므로, 이러한 본 발명에 따른 동영상 부호화 방법을 매우 제한된 배터리 전원을 가지는 모바일 폰, PDA 등과 같은 휴대용 단말기에 적용하면 휴대용 단말기의 동영상 부호화 연산량을 줄일 수 있다.
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
상술한 바와 같은 본 발명을 매우 제한된 배터리 전원을 가지는 모바일 폰, PDA 등과 같은 휴대용 단말기에 적용하면 연산량을 현저하게 줄일 수 있으므로 짧은 시간 내에 배터리가 소모되어서 원하는 동영상을 녹화하는 시간 또는 부호화할 수 있는 영상의 개수 등이 제한되는 종래의 문제점을 해소할 수 있으며, 특히 화질은 떨어지더라도 장시간의 녹화가 가능하고, 휴대용 단말기의 성능 제약으로 인해 복잡한 동영상 신호의 부호화가 불가능한 경우에도 부호화가 가능하다.

Claims (6)

  1. 부호화 제어기(10)와, DCT(Discrete Cosine Transform)부(20a), 제1 모드스위치(30), 양자화기(40), 지그재그(zigzag) 스캔부(50), VLC(Variable Length Coding)부(60), 역양자화기(70), IDCT(Inverse DCT)부(80), 가산기(90), 이동 추정기(100), 이동보상기(110), 제2 모드스위치(120), 및 감산기(130)를 포함하는 동영상 부호화 장치에 있어서,
    상기 DCT부(20a)는
    하기의 수학식
    Figure 112007076456481-pat00017
    (여기서, Sn은 현재 영상의 n번째에 영역, 즉 n번째 프레임(혹은 GOB(Group Of Block))에 사용된 계산량이고, Rn은 n번째 영역, 즉 영역, 즉 n번째 프레임(혹은 GOB)을 마친 후 계산량 복잡성 버퍼 내에 남아있는 계산량 복잡성이다. T는 각 영역, 즉 각 프레임(혹은 GOB)별 목표로 하는 계산량 복잡성이다)
    에 의해 입력 영상의 분포에 따라 사용 가능한 계산량 복잡성을 산정하고, 이 계산량 복잡성을 기준으로 DCT 연산에 사용되는 다수의 마스크 패턴 중 특정 마스크 패턴을 선택하는 DCT 선택 신호와 상기 선택된 마스크 패턴에 대응하여 상기 이동 추정기(100)의 이동벡터 추정을 위한 탐색 영역(S)과 이동 벡터의 해상도(Δ)를 조절하기 위한 이동벡터 추정 신호를 출력하는 복잡도 제어기(21)와;
    특정 마스크 패턴을 사용하여 입력 영상을 8X8개(총 64개)의 화소를 가지는 블록 단위로 DCT 변환 처리하여 특정 개수의 DCT계수를 발생하는 다수의 DCT 모듈(22-1∼22-8); 및
    상기 복잡도 제어기(21)의 DCT 선택 신호에 대응하여 다수의 스위치 접점을 변경함으로써 입력 영상을 상기 다수의 DCT 모듈(22-1∼22-8) 중 특정 DCT 모듈(22-1∼22-8)로 인가시켜 DCT 변환 처리하여 출력시키는 입/출력 선택부(23a,23b);
    로 구성되는 것을 특징으로 하는 복잡도 가변형 동영상 부호화 장치.
  2. 삭제
  3. 제 1 항에 있어서, 상기 복잡도 제어기(21)는 하기의 수학식
    M = nint(8×Rn/B), M∈[1,8]
    (여기서, nint()는 최근접 정수 제거 연산자(nearest integer truncation operator)를 의미하며, B는 상기 복잡성 버퍼 크기이고, M은 다음 프레임(혹은 GOB)에 DCT 연산으로 사용할 마스크 패턴 번호, 즉 상기 8개의 DCT 모듈(22-1∼22-8) 선택 번호이다)
    에 의해 DCT 연산에 사용되는 특정 마스크 패턴을 선택하는 것을 특징으로 하는 복잡도 가변형 동영상 부호화 장치.
  4. 현재 영상 블록들만을 이용하는 화면내 부호화 모드 혹은 현재 영상 블록과 이전 재생 영상 블록들의 화소 값들을 뺀 차이 블록을 이용하는 화면간 부호화 모드로 입력 영상을 부호화 및 압축하는 동영상 부호화 방법에 있어서,
    하기의 수학식
    Figure 112007076456481-pat00018
    (여기서, Sn은 현재 영상의 n번째에 영역, 즉 n번째 프레임(혹은 GOB(Group Of Block))에 사용된 계산량이고, Rn은 n번째 영역, 즉 영역, 즉 n번째 프레임(혹은 GOB)을 마친 후 계산량 복잡성 버퍼 내에 남아있는 계산량 복잡성이다. T는 각 영역, 즉 각 프레임(혹은 GOB)별 목표로 하는 계산량 복잡성이다)
    에 의해 상기 입력 영상의 분포에 따라 사용 가능한 계산량 복잡성을 산정하고, 이 계산량 복잡성을 기준으로 DCT 연산에 사용되는 다수의 마스크 패턴 중 특정 마스크 패턴을 선택하여 입력 블록에 대응하는 8X8개(총 64개)의 DCT계수를 모두 계산하지 않고 일부만을 계산하여 연산량을 줄이고, 이전 재생 영상을 만들기 위하여 이동벡터를 추정할 때 선택된 마스크 패턴에 대응하여 탐색 영역(S)과 이동 벡터의 해상도(Δ)를 줄이거나 늘려서 연산량을 조절하는 것을 특징으로 하는 복잡도 가변형 동영상 부호화 방법.
  5. 삭제
  6. 제 4 항에 있어서, DCT 연산에 사용되는 특정 마스크 패턴은 하기의 수학식
    M = nint(8×Rn/B), M∈[1,8]
    (여기서, nint()는 최근접 정수 제거 연산자(nearest integer truncation operator)를 의미하며, B는 상기 복잡성 버퍼 크기이고, M은 다음 프레임(혹은 GOB)에 DCT 연산으로 사용할 마스크 패턴 번호, 즉 상기 8개의 DCT 모듈(22-1∼22-8) 선택 번호이다)
    에 의해 선택하는 것을 특징으로 하는 복잡도 가변형 동영상 부호화 방법.
KR1020050057130A 2005-06-29 2005-06-29 복잡도 가변형 동영상 부호화 장치 및 그 방법 KR100809013B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050057130A KR100809013B1 (ko) 2005-06-29 2005-06-29 복잡도 가변형 동영상 부호화 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050057130A KR100809013B1 (ko) 2005-06-29 2005-06-29 복잡도 가변형 동영상 부호화 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20070001565A KR20070001565A (ko) 2007-01-04
KR100809013B1 true KR100809013B1 (ko) 2008-03-06

Family

ID=37868937

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050057130A KR100809013B1 (ko) 2005-06-29 2005-06-29 복잡도 가변형 동영상 부호화 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR100809013B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101005382B1 (ko) 2008-11-27 2010-12-30 경희대학교 산학협력단 완전 탐색 기반의 적응적 탐색 영역을 이용한 움직임 추정 방법
KR101173305B1 (ko) 2010-08-18 2012-08-17 동의대학교 산학협력단 영상 부호화를 위한 스칼라 양자화 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030019320A (ko) * 2001-01-11 2003-03-06 코닌클리케 필립스 일렉트로닉스 엔.브이. 스케일링이 가능한 mpeg-2 디코더
KR20030071920A (ko) * 2002-03-02 2003-09-13 삼성전자주식회사 Dct계산량을 감소시키는 동화상 부호화 방법 및 그 장치
KR20040015477A (ko) * 2002-08-13 2004-02-19 삼성전자주식회사 이산코사인변환 계수를 참조하는 움직임 추정 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030019320A (ko) * 2001-01-11 2003-03-06 코닌클리케 필립스 일렉트로닉스 엔.브이. 스케일링이 가능한 mpeg-2 디코더
KR20030071920A (ko) * 2002-03-02 2003-09-13 삼성전자주식회사 Dct계산량을 감소시키는 동화상 부호화 방법 및 그 장치
KR20040015477A (ko) * 2002-08-13 2004-02-19 삼성전자주식회사 이산코사인변환 계수를 참조하는 움직임 추정 방법 및 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101005382B1 (ko) 2008-11-27 2010-12-30 경희대학교 산학협력단 완전 탐색 기반의 적응적 탐색 영역을 이용한 움직임 추정 방법
KR101173305B1 (ko) 2010-08-18 2012-08-17 동의대학교 산학협력단 영상 부호화를 위한 스칼라 양자화 방법

Also Published As

Publication number Publication date
KR20070001565A (ko) 2007-01-04

Similar Documents

Publication Publication Date Title
CN100463523C (zh) 帧层速率控制的视讯编码方法和系统
US7460597B2 (en) Encoding apparatus and method
US8406297B2 (en) System and method for bit-allocation in video coding
US7095784B2 (en) Method and apparatus for moving picture compression rate control using bit allocation with initial quantization step size estimation at picture level
KR100790149B1 (ko) 비디오 인코딩 데이터율 제어 방법
KR100601615B1 (ko) 네트워크 대역폭에 적응적인 영상 압축 장치
US20040234142A1 (en) Apparatus for constant quality rate control in video compression and target bit allocator thereof
CN111164972A (zh) 用于在帧级别控制视频编码的系统和方法
US6025880A (en) Moving picture encoding system and method
KR100834625B1 (ko) 비디오 인코딩 데이터율 제어를 위한 실시간 장면 전환검출 방법
KR100708182B1 (ko) 동영상 부호화기의 비트율 제어 장치 및 방법
KR20010032337A (ko) 영상신호 부호화방법, 영상신호 부호화장치 및 프로그램기록매체
KR100809013B1 (ko) 복잡도 가변형 동영상 부호화 장치 및 그 방법
KR101336445B1 (ko) 비디오 인코딩 데이터율 제어 방법
JP4532607B2 (ja) ブロック・ベースのコード化システムにおいてコード化モードを選択するための装置および方法
JP4253276B2 (ja) 画像符号化方法
US6141449A (en) Coding mode determination system
KR100394014B1 (ko) 영상 변환 부호화 장치
US7133448B2 (en) Method and apparatus for rate control in moving picture video compression
KR100336497B1 (ko) 공간예측 오차 모델을 이용한 동영상 부호화기의 율제어장치 및 방법
JP3812269B2 (ja) 動画像符号化装置及びその方法
JP4281667B2 (ja) 画像符号化装置
KR0185847B1 (ko) 영상부호기의 양자화 스텝 조절장치
KR20010104058A (ko) 동영상 부호화기의 부호화 모드에 따른 적응적 양자화기
KR20090037288A (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
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20130107

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140106

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150120

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160113

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170220

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee